Shawn Wallace
42ffd06d1e
xstate: avoid crashing if setting fullscreen state fails
...
Could be triggered by spamming alt+z with gpu-screen-recorder-ui.
2025-01-07 21:41:28 -05:00
Shawn Wallace
b699ce62a1
Avoid crashing if entered surface's window is not a known window
...
Not sure how this even happens, but should fix #88
2025-01-07 21:27:27 -05:00
Shawn Wallace
94da1af753
Handle INCR selections properly
...
Closes #82
2024-12-20 20:46:04 -05:00
Shawn Wallace
03a53b6ad7
Set primary output when window focused
...
Closes #80
2024-12-18 01:49:55 -05:00
En-En
c45c2ed990
fix: add Event::Move check preventing infinite recursion caused by stale surfaces
2024-12-13 13:00:00 -05:00
Shawn Wallace
02f3054626
Log result of systemd notification
2024-11-21 19:01:50 -05:00
Shawn Wallace
3e6f892d20
Avoid processing events from a reparented window
...
Should fix #71
2024-11-08 22:37:34 -05:00
Shawn Wallace
b0ee6db9fa
Unfocus window on X11 side when keyboard focus is lost
...
Closes #69 (nice)
2024-10-29 23:24:44 -04:00
Shawn Wallace
a713cf46cb
Bump version
2024-10-28 21:47:45 -04:00
e-tho
4e85e8c69e
Refactor flake for overridability, conditional service install, version formatting ( #65 )
...
* Refactor flake for overridability, conditional service install, version formatting
* Disable default cargo features for the flake package
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
* Replace deprecated `--replace` with `--replace-fail` in the flake package
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
* Remove `unstable` from flake package version
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
* Refactor flake to enable dependency overridability
* Pass lib explicitly in flake package
* Fix incorrect package path in flake package dependency
* Replace makeWrapper with makeBinaryWrapper
* Enhance build by separating substitution, service install, and wrapping
* Remove redundant arguments from package call
---------
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
2024-10-27 17:59:15 -04:00
Shawn Wallace
67efa2c559
Kill clients missing WM_DELETE_WINDOW protocol on close
...
Allows the compositor to close glxgears and other similar apps.
2024-10-25 02:40:33 -04:00
Shawn Wallace
198ac851ee
Cargo update
2024-10-25 01:21:58 -04:00
Shawn Wallace
c77b66cc93
Add tablet support
...
Closes #47
2024-10-25 01:21:58 -04:00
Shawn Wallace
73ca9c91f1
Replace simple_event_shunt macro with proc macro
...
This macro is pretty complicated and I needed to add the ability to
clean keywords, so it makes more sense to have this be a proc macro.
2024-10-25 01:21:58 -04:00
Shawn Wallace
b988762955
cargo fmt
2024-10-23 02:29:45 -04:00
Shawn Wallace
dc1f8a753d
Use wl_keyboard instead of toplevel state for focus
...
Rare TODO comment actually done.
Fixes #64
2024-10-23 02:27:46 -04:00
e-tho
8703e243eb
Add optional systemd support to flake package ( #63 )
...
* Enable systemd support in the flake package
* Add optional derivation without systemd support
2024-10-23 01:03:07 -04:00
Shawn Wallace
ab2d09962c
Make WL_SURFACE_ID error message clearer for user
2024-10-17 00:23:21 -04:00
Shawn Wallace
b962a0f33b
Don't use MULTIPLE target atom for getting selections
...
The ICCCM claims this is a "required" target for selection owners,
however several GTK clients (zenity, winecfg) don't seem to support it.
(So much for required.) Just manually grab all the supported targets
individually from the selection owner instead.
Fix for #50
2024-09-15 01:28:32 -04:00
Shawn Wallace
402a764a11
Dispatch wl_shm_pool::resize
...
Should fix #52
2024-09-14 11:15:27 -04:00
Gavin
07d3cb9820
add: nix flake ( #53 )
2024-09-14 11:09:49 -04:00
Shawn Wallace
95afa163a6
Removed lingering "exwayland" references
2024-08-08 01:34:48 -04:00
Shawn Wallace
cf439000a5
Prioritize xdg_output for updating window positions
...
Fixes #46
2024-08-08 01:32:18 -04:00
Shawn Wallace
8892570093
Fix panic when title contains null bytes
...
Fixes #42
2024-07-22 18:24:21 -04:00
galister
054af2a1f7
do not panic if focus_window fails ( #39 )
...
Some windows don't take well to being focused, but it doesn't matter that much.
---------
Co-authored-by: Shawn Wallace <yungwallace@live.com>
2024-07-16 18:12:58 -04:00
Shawn Wallace
3140b7c83e
Replace references to "exwayland" with "satellite"
...
Exwayland was the original working name for the project, but satellite
is way cooler.
2024-07-07 17:07:39 -04:00
Shawn Wallace
5150791e76
Cargo format
2024-07-07 16:50:28 -04:00
Shawn Wallace
03a0e1754d
Unconditionally set input focus on activation
...
Wine windows had WM_HINTS.input set to False, and expected use of the
WM_TAKE_FOCUS protocol, but Wayland input is much more absolute, so this
protocol is useless to us. Always focusing windows seems to be fine, so
just do that.
Should fix #35 .
2024-07-07 16:50:28 -04:00
Shawn Wallace
891d056497
Document systemd support and add example service file
2024-07-07 15:55:24 -04:00
Michael Yang
d8bfa0a1a3
feat: add systemd notify with feature
2024-07-06 13:15:50 -04:00
Shawn Wallace
d32eae139d
Avoid exposing mime types that couldn't be read from through clipboard
...
Attempts to address #27
2024-07-04 17:55:49 -04:00
Shawn Wallace
98a81c2668
Support repositioning mapped popups
...
Requires xdg_wm_base version 3+. Helps make some Steam popups act more
consistently.
2024-07-04 16:02:35 -04:00
Shawn Wallace
ece5d1bd10
Actually properly offset popups on offset outputs
...
Also update window positions when output positon changes.
2024-07-04 14:57:07 -04:00
Shawn Wallace
3794c4b945
Properly offset popups on offset outputs
2024-07-02 00:16:01 -04:00
Shawn Wallace
d8a9c28fa7
Fix hover when focus is different from hover window
...
Fixes #14
2024-06-30 02:45:31 -04:00
Shawn Wallace
d3a46b7c8a
Fix mouse input on outputs not located at 0,0
...
Possibly addresses #21 .
2024-06-30 01:20:02 -04:00
galister
0a5dddacfd
fix crash when handling events with stale HopSlotMap key
2024-06-24 12:48:08 -04:00
galister
f261e3feec
Fix panic when WM_NAME or NET_WM_NAME has invalid UTF-8
2024-06-15 01:09:07 -04:00
Shawn Wallace
b6d281967c
Update dependencies and bump version
2024-06-12 00:16:18 -04:00
Shawn Wallace
721fe5ee77
Flush after wl_shm_pool destruction
...
Bit of a hacky fix for #12 . It seems like the issue is caused by too
many wl_shm_pools being created and then destroyed before being flushed
to the parent compositor. Might negatively impact performance, but most
performant things shouldn't be using wl_shm anyway.
2024-06-11 23:30:58 -04:00
Shawn Wallace
017b683af9
Support globals with higher advertised versions than supported
...
Fixes launching on Gnome.
2024-06-11 21:44:57 -04:00
Shawn Wallace
5e7f2df05e
Sync clipboard between X11 and Wayland
...
You would not believe how much work this was.
Closes #23
2024-06-06 22:41:19 -04:00
Shawn Wallace
601223d3ae
xstate: ignore some more BadWindow errors
...
Closes #24
2024-05-28 22:31:04 -04:00
Shawn Wallace
02bee5aea7
Support WM_CLASS missing instance and null
...
Done by AvaloniaILSpy, for some reason
2024-05-24 00:09:28 -04:00
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