Commit graph

174 commits

Author SHA1 Message Date
Victoria Brekenfeld
d341cb8b86 debug: Drop puffin integration 2024-03-21 17:49:06 +01:00
Ian Douglas Scott
a1c8b3aa3e Add support for profiling using tracy 2024-03-20 23:55:21 +01:00
Ian Douglas Scott
a204197e6d Set keyboard LEDs (capslock, numlock, scrollock)
It doesn't seem there's currently a way to iterate over input devices,
so this adds a `Vec` of libinput keyboard devices. When run with the
kms backend.

Not the most elegant solution, but it doesn't seem practical to add a
type generic to `Devices` given how backends are handled, and `Device`
can't be made into a trait object. Another trait could be added, but
this is fine, and technically should perform better (but if it actually
had to iterate over many keyboards, something has gone very wrong).
2024-03-06 13:18:09 +01:00
Victoria Brekenfeld
70cda33481 xdg-activation: Unminimize actived window 2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
2bf769ac32 stacks: Better handle minimize/unminimize of specific surface 2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
3eb7e5f82e shell: implement minimize 2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
13be507093 toplevel-management: Wire up more actions 2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
068b70d4bc shell: empty (un)minimize handlers 2024-03-04 19:20:52 +01:00
Ian Douglas Scott
3036448c19 Update Smithay, with Window that supports X11 surfaces 2024-02-22 17:49:46 +01:00
Victoria Brekenfeld
849882a7db clippy fixes 2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
f9f8af10a0 kms: Drop early_import as it seems to hurt performance 2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
83ec68d383 chore: Update smithay 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
Christian Meissl
e74b0dfaaa use memory for system cursor
smithay only considers memory based
cursor elements for scan-out on a
cursor plane.
2024-02-15 13:13:33 +01:00
Ian Douglas Scott
b8e5dbea8f Advertise version 2 of zcosmic_workspace_manager_v1 global 2024-02-07 21:40:23 +01:00
Victoria Brekenfeld
c0f7524a09 shell: Drop static workspaces 2024-02-07 21:40:23 +01:00
Victoria Brekenfeld
226bf7f49d workspace: Add tiling_state 2024-02-07 21:40:23 +01:00
Victoria Brekenfeld
54f2d2c67e chore: Update smithay 2024-02-06 15:31:01 +01:00
Ian Douglas Scott
b2b718dbea Update smithay 2024-01-08 12:43:41 +01:00
Victoria Brekenfeld
0ac12ce202 shell: Handle fullscreen of sticky windows 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
97a13ea515 shell: Lift/Refactor (interactive) resize to consider sticky windows 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
807f63bb72 shell: Lift/refactor (un)maximize, consider sticky windows 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
d0136194f4 xdg-popup: Unconstrain sticky window popups as well 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
10c196a080 shell: Lift recalculate to consider sticky_layer 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
769b7d6996 shell: Refactor move_request, consider sticky windows 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
d503e44ca8 shell: refactor single visible_output 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
35766a372b screencopy: Fix copying to opaque shm formats 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
d4d51192b5 sec_context: Fix None drm_node 2023-12-20 09:56:31 +01:00
Ian Douglas Scott
6eb8b82440 Fix use of ImportNotifier
Somehow when updating to this API, I missed the call to `successful`.

This doesn't seem to make a difference for most clients since
`create_immed` is normally used. But should correct anything using
`create`.
2023-12-14 23:56:08 +01:00
Ian Douglas Scott
656996503c workspace-management: Implement move_to_workspace request
Needed for `cosmic-workspaces`.
2023-12-12 21:39:34 +01:00
Victoria Brekenfeld
75990ff056 menu: Add stack tab specific menu 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
02a6290067 xdg-shell: Fix menu offset 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
8c4d77e43c shell: Add window menu 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
edfb0edda7 grabs: Add ReleaseMode for menu-initiated grabs 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
996b5a8227 shell: Move space_for_handle into Workspaces 2023-11-23 12:57:42 +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
Ashley Wulber
495d772a38 fix: set the workspace of the activated token's surface to urgent if not focusing it 2023-11-16 19:13:38 +01:00
Ian Douglas Scott
b33c1dc9f7 Schedule render when session lock is created/destroyed 2023-11-15 13:41:19 +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
Victoria Brekenfeld
14867a0893 xdg-activation: Switch stack focus 2023-11-14 19:43:06 +01:00
xDarksome
72ee1c4d5a
Enable wlr_data_control protocol (#101) 2023-11-13 21:47:43 +01:00
Victoria Brekenfeld
f7cc1985e3 xdg-activation: Initial implementation 2023-11-09 13:48:34 +01:00
Victoria Brekenfeld
9ced8c346d shell: Each surface has only one workspace 2023-11-09 13:48:34 +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
Victoria Brekenfeld
f0d5ac1c8d security_context: Inherit privileged-flag for panel 2023-11-06 18:35:47 +01:00
Ian Douglas Scott
81efd42dd5 Use cosmic-config for dynamic workspace settings
`WorkspaceAmount`, `WorkspaceMode`, and `WorkspaceLayout` can all be
changed dynamically now.
2023-10-27 12:36:40 -07:00
Ian Douglas Scott
f0277eabae Add ext-session-lock protocol 2023-10-27 09:01:25 -07:00