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;
|
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);
|
node->scale = wl_fixed_from_int(node->scaleInt);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -37,6 +37,13 @@ static struct Option waylandOptions[] =
|
|||||||
.type = OPTION_TYPE_BOOL,
|
.type = OPTION_TYPE_BOOL,
|
||||||
.value.x_bool = true,
|
.value.x_bool = true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.module = "wayland",
|
||||||
|
.name = "fractionScale",
|
||||||
|
.description = "Enable fractional scale",
|
||||||
|
.type = OPTION_TYPE_BOOL,
|
||||||
|
.value.x_bool = true,
|
||||||
|
},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -66,7 +73,8 @@ static bool waylandInit(const LG_DSInitParams params)
|
|||||||
memset(&wlWm, 0, sizeof(wlWm));
|
memset(&wlWm, 0, sizeof(wlWm));
|
||||||
wl_list_init(&wlWm.surfaceOutputs);
|
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.display = wl_display_connect(NULL);
|
||||||
wlWm.width = params.w;
|
wlWm.width = params.w;
|
||||||
|
@ -174,6 +174,7 @@ struct WaylandDSState
|
|||||||
struct zxdg_output_manager_v1 * xdgOutputManager;
|
struct zxdg_output_manager_v1 * xdgOutputManager;
|
||||||
struct wl_list outputs; // WaylandOutput::link
|
struct wl_list outputs; // WaylandOutput::link
|
||||||
struct wl_list surfaceOutputs; // SurfaceOutput::link
|
struct wl_list surfaceOutputs; // SurfaceOutput::link
|
||||||
|
bool useFractionalScale;
|
||||||
|
|
||||||
struct wl_list poll; // WaylandPoll::link
|
struct wl_list poll; // WaylandPoll::link
|
||||||
struct wl_list pollFree; // WaylandPoll::link
|
struct wl_list pollFree; // WaylandPoll::link
|
||||||
|
Loading…
Reference in New Issue
Block a user