Commit graph

65 commits

Author SHA1 Message Date
Shawn Wallace
2444c2f07b xstate: Ignore Window/Drawable errors
Sometimes, windows will have actually been destroyed before we even
processed the events for it, so if we try to do something like get
properties on windows (as we do whenever a window is mapped) we will get
an error from the X server, but this is fine - we can just ignore this.

Should fix #16, #20, #22, etc.
2024-05-24 00:06:58 -04:00
Shawn Wallace
016cef6f72 Reset _NET_ACTIVE_WINDOW when the active window is unmapped 2024-05-20 18:51:35 -04:00
Shawn Wallace
3b2698f1de Switch to using xwayland shell protocol over WL_SURFACE_ID
Seems to fix #13. This means a hard requirement on Xwayland 23.1.
2024-05-20 18:51:28 -04:00
Shawn Wallace
da82e6907c Add pointer constraints support (zwp_pointer_constraints_v1)
Part of #8
2024-05-20 02:14:18 -04:00
Shawn Wallace
2317ebb842 Set input focus on windows without WM_HINTS input flag
Also miscellaneous formatting things.
Part of #8
2024-05-20 01:26:06 -04:00
Shawn Wallace
38e58bd11d Fix integration tests 2024-05-20 00:45:09 -04:00
Shawn Wallace
7c6915b0ec Add wl_region and wl_surface.set_input_region support
Needed for latest Xwayland.
2024-05-18 02:19:26 -04:00
Shawn Wallace
c95655299e Add dependencies to readme and bump version 2024-05-17 23:52:49 -04:00
Shawn Wallace
c1fc38c3d2 Reorganize file layout
Moves satellite to be the root package, also allowing it to be built
by default.
2024-05-17 23:01:57 -04:00
Shawn Wallace
3afc9ffa9d Handle reparented windows correctly
Also refactored to avoid dealing with window properties until a window
is actually mapped.

Fixes #10
2024-05-17 22:43:00 -04:00
Supreeeme
b8bd07ce93 Use -displayfd instead of signals for Xwayland readiness
The -displayfd argument is much friendlier to testing and is generally
more stable. As a result, omitting the display argument to the program
will result in Xwayland searching for the next available display. This
also allows integration tests to run simultaneously and when there is
already an X server running on the system.

This commit also changes how the state of the program is communicated
with integration tests (via the RunData trait).
2024-05-16 00:50:10 -04:00
Supreeeme
7976e3ad37 Add initial support for toplevel titles and app ids
Should work with most app titles, but for some reason some app ids have
the first letter capitalized (Remmina) and some windows don't get the
class/title set at all (xterm)
Part of #9
2024-05-11 00:37:11 -04:00
Shawn Wallace
e70cb81751 Add wl_touch support
Fixes #1
2024-04-29 19:35:46 -04:00
Shawn Wallace
7aaf98e5e0 Fix incorrect behavior with release build 2024-04-29 00:44:41 -04:00
Shawn Wallace
85b940e427 Initial commit 2024-04-29 00:30:06 -04:00