may
0ffe6ae718
wayland: Implement cursor-shape-v1
2024-09-09 16:21:27 +02:00
skewballfox
7da0bc430a
added cursor_follows_focus and focus_follows_cursor
2024-09-04 20:22:40 +02:00
Victoria Brekenfeld
971c28db38
xwayland: Add descaling option
2024-09-02 18:58:13 +02:00
Ian Douglas Scott
ed64e26faf
Add xdg-foreign-unstable-v2 protocol
2024-08-30 13:08:08 +02:00
Ian Douglas Scott
1342c000ab
Add ext-foreign-toplevel-list-v1 protocol
2024-08-29 17:04:12 +02:00
Ian Douglas Scott
889499b64d
Add single-pixel-buffer-v1
2024-08-21 09:26:13 -06:00
Victoria Brekenfeld
3eb002c3f1
state: Also set primary_output/preferred_scale for lock/cursor-surfaces
2024-08-08 21:26:30 +02:00
Ian Douglas Scott
5537fa4822
Use EGL_MESA_device_software as fallback for screen capture
...
Previously, screenshots and screencopy panicked if no DRM render nodes
are present.
Instead, create a `GlowRenderer` using llvmpipe, if available. This
should work as a fallback until pixman is integrated.
2024-08-07 10:49:39 -07:00
Ian Douglas Scott
87020c79ba
Define a RendererRef enum, referencing multi or glow renderer
...
Avoids a little duplication (matching two variants, instead of three
backends).
The behavior, including errors and panics, should be unchanged for now.
Performance should also not be impacted.
This should help for adding llvmpipe rendering without a device node on
the kms backend, or for adding a variant for pixman.
2024-08-07 10:49:39 -07:00
Michael Aaron Murphy
553c49b42b
feat: runtime configurable keybindings
2024-07-01 15:20:23 +02:00
Victoria Brekenfeld
26ccb653b7
output: Store position as u32 and offset bad configs
2024-06-27 12:34:51 +02:00
Victoria Brekenfeld
eea93d543e
state: Correctly update primary output
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
12fab6e220
kms: Don't block surface-threads on startup cond
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
31ff17a323
kms: Limit frame-callbacks to one per refresh
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
92f3dbce01
chore: Cleanup
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
cc0bbb61e3
debug: Drop FPS struct for kms timings
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
469a366207
kms: New backend
...
New backend utilizing a thread per surface for precise frame
scheduling.
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
3b7bba3add
debug: Drop puffin, interactivity, renderdoc
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
9e05a84db2
state: Split up send_frames
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
f481112cf9
output-configuration: Test all outputs at once
2024-06-26 12:59:33 +02:00
Ian Douglas Scott
036ca84829
Add alpha-modifier-v1 protocol
2024-06-10 14:31:51 +02:00
Ian Douglas Scott
4f076e0753
Update smithay, with xwayland shell, Cow, etc.
2024-05-21 19:31:50 +02:00
Ian Douglas Scott
47f8c1da38
Define a advertised_node_for_client instead of duplicating code
...
Can't use this in `SecurityContextHandler` since it only has a `ClientId`,
not a `Client`.
2024-05-15 13:12:24 +02:00
Ian Douglas Scott
73b12194c0
Update smithay
2024-05-10 13:51:28 +02:00
Ian Douglas Scott
a9740e5040
Change how COSMIC_ENABLE_WAYLAND_SECURITY/privileged is handled
...
Manually starting `cosmic-panel` was not working properly in release
builds, because without `cfg!(debug_assertions)`, the `privileged` flag
wasn't sent on the panel, so it couldn't be propagated to the applets,
which also fail the `client_has_no_security_context()` check.
I don't see a way to have both the `cfg!(debug_assertions)` check and
`COSMIC_ENABLE_WAYLAND_SECURITY`. Now only the latter is used, and it
determines the value of `privileged` for clients started normally. In
the future, we could make the default value of
`COSMIC_ENABLE_WAYLAND_SECURITY` depend on `cfg!(debug_assertions)` if
desired.
This also corrects the inconsistency that the `cfg!(debug_assertions)`
check wasn't applied to the render-node-specific Wayland sockets.
2024-05-08 13:10:07 +02:00
Victoria Brekenfeld
5f4377bf59
wayland: Add cosmic-output-management
2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
98ec82db77
output-configuration: Add vrr state
2024-05-07 12:25:15 +02:00
Mattias Eriksson
19ba568f02
Initial support for idle notify and idle ihibit
2024-05-03 14:38:58 +02:00
Victoria Brekenfeld
5d5a510691
state: Move shell behind RwLock
2024-04-16 18:50:54 +02:00
Victoria Brekenfeld
647deb81f1
shell: Move seats into shell
2024-04-16 18:50:54 +02:00
Victoria Brekenfeld
b40d153809
cosmic-screencopy-v2
2024-03-25 16:55:31 +01:00
Ryan Brue
fc2173d028
feat: workspace switching touchpad gestures
2024-03-22 12:12:25 +01:00
Ian Douglas Scott
a1c8b3aa3e
Add support for profiling using tracy
2024-03-20 23:55:21 +01:00
Victoria Brekenfeld
ddea391129
state: Always send throttled frame callbacks for minimized windows
2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
7776d057da
state: Consistent frame callbacks for sticky windows
2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
fffae1491d
state: Also arrange empty layer-map for scale changes
2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
db27fa483d
kms: Optimize frame scheduling
2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
96518a9f29
state: Fixup grabbed window frame callbacks
2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
d8c1087ebe
dbus: Add power-daemon hotplug handling
2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
ef3486f7e0
kms: Track used devices and free resources
2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
98f877359f
state: Send frame/dmabuf_feedback/presentation events to sticky windows
2024-01-02 13:24:07 +01:00
Ian Douglas Scott
cf9ae91e96
Initial support for tablet input
2024-01-02 12:44:10 +01:00
Victoria Brekenfeld
8c4d77e43c
shell: Add window menu
2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
c09a735289
state: Move Xwayland state into shell
2023-11-23 12:57:42 +01:00
Ian Douglas Scott
41a69cfc9f
Update Smithay
...
For the `drm` protocol, we can't construct an `ImportNotifier`, since
that is specifically based around `ZwpLinuxBufferParamsv1`. So we need a
new method for importing with that protocol.
This could be improved, but should match current behavior.
2023-11-23 12:43:28 +01:00
Ian Douglas Scott
440cd03371
Handle session lock surfaces in visible_outputs_for_surface
...
Fixes issue with re-draw not being queued on initial surface commit
until cursor is moved.
2023-11-15 13:41:19 +01:00
xDarksome
72ee1c4d5a
Enable wlr_data_control protocol ( #101 )
2023-11-13 21:47:43 +01:00
Victoria Brekenfeld
542fe1f52d
state: fix privileged access with sec context
2023-11-08 14:50:54 +01:00
Ian Douglas Scott
5fcdd81fc3
Enable necessary protocols for supporting IMEs
2023-11-07 10:26:22 -08:00
Ian Douglas Scott
9abeeea5df
Allow session lock if existing session lock is no longer valid
...
This makes it possible to handle a crash in the session lock client by
restarting it, for instance. This is similar to how Sway behaves.
2023-11-07 08:31:58 -08:00