mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-25 14:57:20 +00:00
[client] wayland: make it possible to disable fractional scaling
The method used is not guaranteed to work on all Wayland compositors, so offer a way out. We need to support it anyways in case xdg_output or wp_viewporter protocols are not available.
This commit is contained in:
parent
b3ca872cef
commit
0ad469178a
@ -31,7 +31,7 @@ static void outputUpdateScale(struct WaylandOutput * node)
|
||||
{
|
||||
wl_fixed_t original = node->scale;
|
||||
|
||||
if (!wlWm.viewporter || !node->logicalWidth || !node->logicalHeight)
|
||||
if (!wlWm.useFractionalScale || !wlWm.viewporter || !node->logicalWidth)
|
||||
node->scale = wl_fixed_from_int(node->scaleInt);
|
||||
else
|
||||
{
|
||||
|
@ -37,6 +37,13 @@ static struct Option waylandOptions[] =
|
||||
.type = OPTION_TYPE_BOOL,
|
||||
.value.x_bool = true,
|
||||
},
|
||||
{
|
||||
.module = "wayland",
|
||||
.name = "fractionScale",
|
||||
.description = "Enable fractional scale",
|
||||
.type = OPTION_TYPE_BOOL,
|
||||
.value.x_bool = true,
|
||||
},
|
||||
{0}
|
||||
};
|
||||
|
||||
@ -66,7 +73,8 @@ static bool waylandInit(const LG_DSInitParams params)
|
||||
memset(&wlWm, 0, sizeof(wlWm));
|
||||
wl_list_init(&wlWm.surfaceOutputs);
|
||||
|
||||
wlWm.warpSupport = option_get_bool("wayland", "warpSupport");
|
||||
wlWm.warpSupport = option_get_bool("wayland", "warpSupport");
|
||||
wlWm.useFractionalScale = option_get_bool("wayland", "fractionScale");
|
||||
|
||||
wlWm.display = wl_display_connect(NULL);
|
||||
wlWm.width = params.w;
|
||||
|
@ -174,6 +174,7 @@ struct WaylandDSState
|
||||
struct zxdg_output_manager_v1 * xdgOutputManager;
|
||||
struct wl_list outputs; // WaylandOutput::link
|
||||
struct wl_list surfaceOutputs; // SurfaceOutput::link
|
||||
bool useFractionalScale;
|
||||
|
||||
struct wl_list poll; // WaylandPoll::link
|
||||
struct wl_list pollFree; // WaylandPoll::link
|
||||
|
Loading…
Reference in New Issue
Block a user