Xwayland: disallow negative output coordinates
Xwayland clients on outputs at negative positions don't currently receive mouse events due to a bug in Xwayland. As a workaround, we disallow negative output positions when Xwayland is enabled. References: https://gitlab.freedesktop.org/xorg/xserver/-/issues/899 Closes: #1058
This commit is contained in:
parent
5262a4c5a6
commit
e29d66f1de
@ -814,6 +814,19 @@ fn processOutputConfig(
|
|||||||
var proposed_state = wlr.Output.State.init();
|
var proposed_state = wlr.Output.State.init();
|
||||||
head.state.apply(&proposed_state);
|
head.state.apply(&proposed_state);
|
||||||
|
|
||||||
|
// Negative output coordinates currently cause Xwayland clients to not receive click events.
|
||||||
|
// See: https://gitlab.freedesktop.org/xorg/xserver/-/issues/899
|
||||||
|
if (build_options.xwayland and server.xwayland != null and
|
||||||
|
(head.state.x < 0 or head.state.y < 0))
|
||||||
|
{
|
||||||
|
std.log.scoped(.output_manager).err(
|
||||||
|
\\Attempted to set negative coordinates for output {s}.
|
||||||
|
\\Negative output coordinates are disallowed if Xwayland is enabled due to a limitation of Xwayland.
|
||||||
|
, .{output.wlr_output.name});
|
||||||
|
success = false;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
switch (action) {
|
switch (action) {
|
||||||
.test_only => {
|
.test_only => {
|
||||||
if (!wlr_output.testState(&proposed_state)) success = false;
|
if (!wlr_output.testState(&proposed_state)) success = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user