Shawn Wallace
41e865c8d3
Document _JAVA_AWT_WM_NONREPARENTING
...
Closes #231
2025-09-02 23:11:56 -04:00
Shawn Wallace
2c30ea7863
xstate: always stack newly mapped windows below
...
I can't figure out a way to actually test this, but this seems to work in manual testing.
Fixes #146
2025-09-02 23:08:00 -04:00
En-En
0fd0dd75e9
tests: only use PipeWriter if rust-version >= 1.87
...
By using conditional compilation, we now support running the test suite
with Rust versions 1.83 to 1.86 again. This allows us to lower the
`rust-version` specified in the root Cargo.toml (because it was
controlling the toolchain used in CI) to 1.83, resolving #230 .
This solution keeps tests operational on our MSRV while also lowering
it. It would have been unsatisfying to have an MSRV which could not
compile the tests.
`rustversion` was selected as the dependency to control the conditional
compilation since it was already a build dependency needed by
`vergen-gitcl`, so no new dependencies were added.
2025-09-02 20:38:01 -04:00
En-En
c0497c990d
deps: use pretty_env_logger as env_logger dep
2025-08-31 18:30:14 -04:00
Supreeeme
1d156aa8d3
Create FUNDING.yml
2025-08-30 12:08:06 -04:00
En-En
bb044a88c6
fix: properly specify subprojects' required features
2025-08-30 12:03:45 -04:00
En-En
8b74001a13
fix: prevent copy tests from failing in Rust 1.90
...
Issue where changed: https://github.com/rust-lang/rust/issues/139956
Comment noting breakage of non-socket converted to UnixStream: 'https://github.com/rust-lang/rust/pull/140005#issuecomment-2853932531 '
Bumps MSRV from 1.83.0 to 1.87.0 by use of PipeWriter
2025-08-30 12:03:15 -04:00
En-En
af33f7eb12
ci: comment logic of set-vars.sh
2025-08-26 22:02:53 -04:00
En-En
fe1796cfa7
ci: restore dependency-storing dockerfile
2025-08-26 22:02:53 -04:00
En-En
9052dd556a
ci: rewrite from ground up
2025-08-26 22:02:53 -04:00
En-En
d759c64681
dep: bump xcb to 1.6.0
...
switch from the deprecated API we found unsoundness in to the one introduced in 1.6.0
2025-08-23 11:39:05 -04:00
Shawn Wallace
388d291e82
Bump version
2025-08-18 00:24:57 -04:00
Shawn Wallace
5a184d4359
Support primary selection
...
This was more tedious than expected.
Fixes #103
2025-08-14 20:59:01 -04:00
Shawn Wallace
13469566b0
Fix Rust 1.89 mismatched_lifetime_syntaxes lint
...
https://blog.rust-lang.org/2025/08/07/Rust-1.89.0/#mismatched-lifetime-syntaxes-lint
2025-08-14 01:29:17 -04:00
En-En
e0d1dad25a
server: clean unneeded deref_mut calls
2025-08-06 22:32:00 -04:00
En-En
cbabd591a3
server: impl Deref(Mut) for ServerState to Inner coercion
2025-08-06 22:32:00 -04:00
En-En
fe28bcb880
fix(test): stabilize integration tests
2025-08-06 22:32:00 -04:00
En-En
be9d573fd6
server: make state's client and connection mandatory
...
The goal of the previous commits being to remove these unwraps. The `unwrap_or_skip_bad_window` changes needed to make a singular debug conditional
2025-08-06 22:32:00 -04:00
En-En
4280639df8
server: give uninitialized and initialized xstate with unique types
2025-08-06 22:32:00 -04:00
En-En
56d5cce2d0
server: split XConnection from rest of State refactor
2025-08-06 22:32:00 -04:00
Shawn Wallace
ecbe57e7be
Document -listenfd support
2025-08-05 00:12:22 -04:00
Johannes Horner
ba78881a68
nix: Set mainProgram attribute
2025-07-12 12:33:20 -04:00
Shawn Wallace
e4bb8c3f9d
cargo clippy everywhere
2025-07-12 12:32:20 -04:00
Shawn Wallace
07847e11d7
server: unscale locked pointer cursor hint
...
Fix #199 , fix #202 , fix #204
2025-07-12 12:20:21 -04:00
Shawn Wallace
557ebeb616
xstate/settings: Clamp scale to >=1
...
Avoids crashing, and GTK apps also seem to generally dislike
when the reported DPI is less than the default.
Fixes #181
2025-06-29 16:24:45 -04:00
skyrelia
ef24bce5d9
Recognize drag and drop window type
...
Fixes #166
2025-06-29 16:15:20 -04:00
Shawn Wallace
0b2a139f98
server: verify window still exists when processing surface serial
...
Should fix #191
2025-06-29 16:02:02 -04:00
Shawn Wallace
91d463851e
server: fix selection cancellation
...
oopsie
2025-06-29 01:49:11 -04:00
Shawn Wallace
cf1fae1eae
server: verify selection offer is still valid when handling clipboard
...
Should fix #170 , fix #183
2025-06-29 01:37:24 -04:00
Shawn Wallace
2e7c318ac2
server: check if connected to x server when output offset updates
...
Caused by the compositor reporting negative output coordinates to start.
Fixes #187
2025-06-24 23:21:20 -04:00
En-En
117af56a83
Refactor double let else blocks to use as_mut
2025-06-23 09:54:29 -04:00
En-En
8dc4538662
Removed additional dubious unwraps
...
The wl_keyboard Enter event, wl_keyboard Leave event, the wl_touch
Self::Down event and the ServerState::reconfigure_window function had
similar uses of `unwrap` which appear to not consider the distinct
query preparation and query execution stages.
2025-06-23 09:54:29 -04:00
En-En
da3b2838d2
Fixed stale surface check unwrapping
...
Regression from 799027d1 . Unwraps on a None value when doing the stale surface generation technique in Chatterino7 as described in #74 , very consistent
2025-06-23 09:54:29 -04:00
Shawn Wallace
03cbb2ee3a
server: scale tablet_tool motion events
...
Also add missing Distance event handler.
Closes #179 , closes #123
2025-06-19 23:05:15 -04:00
Shawn Wallace
70f15d5085
server: scale wl_touch events
...
Fixes #172
2025-06-19 21:06:51 -04:00
Shawn Wallace
b98fa84524
Use fractional scaling when setting scale through xsettings
...
Fixes #168
2025-06-19 17:02:42 -04:00
Shawn Wallace
799027d1ae
server: refactor to use ECS
...
This should simplify how some of the code reads, as well as allowing for future
feature additions to be accomplished in a less restrictive manner. The slotmap +
Object enum pattern was kind of like a really bad ecs in a way anyway. Also I
was looking for an excuse to use an ecs.
2025-06-19 00:55:08 -04:00
Ivan Molodetskikh
da2ecb5be8
Add --test-listenfd-support flag
...
Just exits with 0. Useful to test whether xwayland-satellite supports -listenfd
before setting up the X11 sockets and stuff on the compositor side. Versions
before this commit panic and exit with nonzero code.
2025-06-07 12:59:01 -04:00
Ivan Molodetskikh
9e48795087
Accept -listenfd and pass on to Xwayland
2025-06-07 12:59:01 -04:00
Ivan Molodetskikh
ac391db415
xstate: Set WM_S0 atom at startup
...
Xwayland waits for this before starting to listen on the -listenfd descriptors
if either -wm or -initfd is set.
- https://gitlab.freedesktop.org/xorg/xserver/-/blob/xwayland-24.1.6/hw/xwayland/xwayland.c?ref_type=tags#L463-472
- https://gitlab.freedesktop.org/xorg/xserver/-/blob/xwayland-24.1.6/hw/xwayland/xwayland.c?ref_type=tags#L300-317
2025-06-07 12:59:01 -04:00
Shawn Wallace
3ba30b149f
Bump version
2025-05-28 23:14:15 -04:00
Shawn Wallace
de6790934b
Add git revision to log
2025-05-28 23:10:53 -04:00
Shawn Wallace
ae1759077e
Don't pass invalid positioner size on popup reconfigure
...
Mentioned in #144
2025-05-28 22:24:54 -04:00
Shawn Wallace
76ace3c656
ok move it for real this time
2025-05-27 21:47:20 -04:00
Shawn Wallace
9910807205
Move config.yml to the right place
2025-05-27 21:46:53 -04:00
Shawn Wallace
2d3afaa0ec
Mention GitHub Discussions in readme and issue opener thingy
2025-05-27 21:44:16 -04:00
Shawn Wallace
5d9ac0ed5c
Update dependencies
2025-05-27 21:28:41 -04:00
Shawn Wallace
d7bc38e6e7
xstate: mark _NET_WM_WINDOW_TYPE_MENU/TOOLTIP as popups
...
Fixes #161
2025-05-27 20:01:12 -04:00
Shawn Wallace
9261c278af
server: only update outputs for current mode events
...
Fixes #164
2025-05-27 19:43:37 -04:00
Shawn Wallace
5c0351ff33
Properly handle rotated outputs
...
Fixes #160
2025-05-27 19:35:10 -04:00