Commit graph

23 commits

Author SHA1 Message Date
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
Shawn Wallace
572fa4a2bf Add Xsettings support, for setting scaling related settings
This allows for most GTK and Qt apps to be scaled properly.
In the case of mixed DPI, it will default to using the smallest monitor scale.
2025-05-23 23:25:33 -04:00
Shawn Wallace
0cd5059c42 Don't set viewport for 1x1 windows with scaling 2025-04-13 23:50:13 -04:00
Shawn Wallace
555f9492ad Properly scale surfaces with fractional scale 2025-04-11 14:09:13 -04:00
Shawn Wallace
8188df0e70 Force buffers to be unscaled
Satellite will now force Xwayland to always render with the native
display resolution, and just scale surface sizes accordingly. As a result,
applications won't really respect DPI, but this can be adjusted through
the same means as with normal X11.

Part of #28.
2025-04-09 00:32:20 -04:00
bbb651
1d98ee089c Fix typos 2025-03-20 09:05:24 -04:00
bbb651
180efb0ba9 Support XDG Activation
Test XDG Activation
2025-03-20 09:05:24 -04:00
Shawn Wallace
653391c7c9 server: auto-fullscreen windows that match an output's dimensions
Fixes #93
2025-02-10 23:08:39 -05:00
Shawn Wallace
03a53b6ad7 Set primary output when window focused
Closes #80
2024-12-18 01:49:55 -05: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
402a764a11 Dispatch wl_shm_pool::resize
Should fix #52
2024-09-14 11:15:27 -04:00
Shawn Wallace
cf439000a5 Prioritize xdg_output for updating window positions
Fixes #46
2024-08-08 01:32:18 -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
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
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
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
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
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
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
Renamed from satellite/src/server/dispatch.rs (Browse further)