mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-12-22 18:09:49 +01:00
xwayland: Add support for -force-xrandr-emulation
This commit is contained in:
parent
17b2b06633
commit
02e648c1b2
3 changed files with 13 additions and 0 deletions
|
@ -24,6 +24,7 @@ struct wlr_xwayland_server_options {
|
||||||
bool lazy;
|
bool lazy;
|
||||||
bool enable_wm;
|
bool enable_wm;
|
||||||
bool no_touch_pointer_emulation;
|
bool no_touch_pointer_emulation;
|
||||||
|
bool force_xrandr_emulation;
|
||||||
int terminate_delay; // in seconds, 0 to terminate immediately
|
int terminate_delay; // in seconds, 0 to terminate immediately
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
have_listenfd = false
|
have_listenfd = false
|
||||||
have_no_touch_pointer_emulation = false
|
have_no_touch_pointer_emulation = false
|
||||||
|
have_force_xrandr_emulation = false
|
||||||
have_terminate_delay = false
|
have_terminate_delay = false
|
||||||
if xwayland.found()
|
if xwayland.found()
|
||||||
xwayland_path = xwayland.get_variable('xwayland')
|
xwayland_path = xwayland.get_variable('xwayland')
|
||||||
|
@ -7,6 +8,8 @@ if xwayland.found()
|
||||||
default_value: 'false') == 'true'
|
default_value: 'false') == 'true'
|
||||||
have_no_touch_pointer_emulation = xwayland.get_variable(
|
have_no_touch_pointer_emulation = xwayland.get_variable(
|
||||||
'have_no_touch_pointer_emulation', default_value: 'false') == 'true'
|
'have_no_touch_pointer_emulation', default_value: 'false') == 'true'
|
||||||
|
have_force_xrandr_emulation = xwayland.get_variable(
|
||||||
|
'have_force_xrandr_emulation', default_value: 'false') == 'true'
|
||||||
have_terminate_delay = xwayland.get_variable(pkgconfig: 'have_terminate_delay') == 'true'
|
have_terminate_delay = xwayland.get_variable(pkgconfig: 'have_terminate_delay') == 'true'
|
||||||
else
|
else
|
||||||
xwayland_path = xwayland_prog.full_path()
|
xwayland_path = xwayland_prog.full_path()
|
||||||
|
@ -16,6 +19,7 @@ xwayland_config_data = configuration_data()
|
||||||
xwayland_config_data.set_quoted('XWAYLAND_PATH', xwayland_path)
|
xwayland_config_data.set_quoted('XWAYLAND_PATH', xwayland_path)
|
||||||
xwayland_config_data.set10('HAVE_XWAYLAND_LISTENFD', have_listenfd)
|
xwayland_config_data.set10('HAVE_XWAYLAND_LISTENFD', have_listenfd)
|
||||||
xwayland_config_data.set10('HAVE_XWAYLAND_NO_TOUCH_POINTER_EMULATION', have_no_touch_pointer_emulation)
|
xwayland_config_data.set10('HAVE_XWAYLAND_NO_TOUCH_POINTER_EMULATION', have_no_touch_pointer_emulation)
|
||||||
|
xwayland_config_data.set10('HAVE_XWAYLAND_FORCE_XRANDR_EMULATION', have_force_xrandr_emulation)
|
||||||
xwayland_config_data.set10('HAVE_XWAYLAND_TERMINATE_DELAY', have_terminate_delay)
|
xwayland_config_data.set10('HAVE_XWAYLAND_TERMINATE_DELAY', have_terminate_delay)
|
||||||
configure_file(
|
configure_file(
|
||||||
output: 'config.h',
|
output: 'config.h',
|
||||||
|
|
|
@ -90,6 +90,14 @@ noreturn static void exec_xwayland(struct wlr_xwayland_server *server,
|
||||||
server->options.no_touch_pointer_emulation = false;
|
server->options.no_touch_pointer_emulation = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if HAVE_XWAYLAND_FORCE_XRANDR_EMULATION
|
||||||
|
if (server->options.force_xrandr_emulation) {
|
||||||
|
argv[i++] = "-force-xrandr-emulation";
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
server->options.force_xrandr_emulation = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
argv[i++] = NULL;
|
argv[i++] = NULL;
|
||||||
|
|
||||||
assert(i < sizeof(argv) / sizeof(argv[0]));
|
assert(i < sizeof(argv) / sizeof(argv[0]));
|
||||||
|
|
Loading…
Reference in a new issue