Commit graph

280 commits

Author SHA1 Message Date
Victoria Brekenfeld
db13eea91c shell: Allow active workspace to be None 2025-01-06 20:23:05 +01:00
Yureka
9b78a2d780 refactor(shell/element): refactor how decorations height is accessed
This fixes several things:
- The xwayland code previously incorrectly used the SSD_HEIGHT (for Windows) even when the X11 surface was in a stack
- The SSD_HEIGHT was defined in surface.rs, even though rendering serverside decorations is done in the window/stack

Rename (min|max)_size to (min|max)_size_without_ssd in CosmicSurface and make it act accordingly
Add a new (min|max)_size() in CosmicWindow and CosmicStack, which takes the surface's (min|max)_size and adds the decorations.
Change all callers to use (min|max)_size() from the window or stack respectively, except is_dialog() where it does not matter.
2024-12-28 15:32:03 +01:00
Ian Douglas Scott
61692b21ad Run cargo format 2024-11-18 18:24:53 +01:00
may
65a54706f5 set cursor shape for resize grabs 2024-10-24 18:22:25 +02:00
Victoria Brekenfeld
0092dac08c input: Use render_input_order 2024-10-22 19:43:47 +02:00
Victoria Brekenfeld
51c8588f89 render: Use render_input_order 2024-10-22 19:43:47 +02:00
Ian Douglas Scott
fb32d39b1b Update smithay 2024-09-19 16:23:25 +02:00
Ian Douglas Scott
d02aecce61 Use .modified_sym() instead of casting keycode to keysym
Not sure if this is actually used, and if so the code may need more
testing, but this definitely is more correct, at least.
2024-09-19 16:23:25 +02:00
Ian Douglas Scott
01d78689b5 Run cargo fmt 2024-09-19 16:23:25 +02:00
Victoria Brekenfeld
4d215755f6 shell: Fix incomplete focus_stack after swapping 2024-09-10 21:10:02 +02:00
Victoria Brekenfeld
03430b76c5 shell: Allow moving groups between outputs 2024-09-10 20:51:08 +02:00
may
0ffe6ae718
wayland: Implement cursor-shape-v1 2024-09-09 16:21:27 +02:00
Richard Weber
bd95340992 Apply suggestions from code review
Co-authored-by: Victoria Brekenfeld <4404502+Drakulix@users.noreply.github.com>
2024-09-04 20:50:42 +02:00
Richard Weber
5482ff65e5 Add config reloading for tiling exceptions 2024-09-04 20:50:42 +02:00
Richard Weber
5fe9ba29eb Use new config from cosmic-settings-config 2024-09-04 20:50:42 +02:00
Richard Weber
ec86fc33e0 Add error handling for configuration conversion to regex rules 2024-09-04 20:50:42 +02:00
Richard Weber
e8947b8742 Move tiling exceptions to configuration file 2024-09-04 20:50:42 +02:00
skewballfox
7da0bc430a added cursor_follows_focus and focus_follows_cursor 2024-09-04 20:22:40 +02:00
julianbraha
52ad30c264 Remove unnecessary lifetimes 2024-08-30 17:53:56 +02:00
julianbraha
59b0e0e74e Only use .cloned() on the element instead of the entire iterator 2024-08-29 16:39:39 +02:00
Richard Weber
bad8837d19 Add wl-clipboard to tiling exceptions 2024-08-14 11:05:58 -06:00
Victoria Brekenfeld
e5a7dfbdb0 layout/tiling: enumerate all children before swapping 2024-08-08 21:26:30 +02:00
Victoria Brekenfeld
450cc6a323 layout/tiling: Make swapping layout less confusing 2024-08-08 21:26:30 +02:00
Victoria Brekenfeld
1f8915f802 layout/tiling: Don't unmap before moving children 2024-08-08 21:26:30 +02:00
Ian Douglas Scott
94fecec9cb Add a SplitRenderElements type, with useful methods
`(w_elements, p_elements)` tuples are used in a bunch of places. A
struct with named fields is generally an improvement just due to the
fact the order is non-obvious.

But we can also add methods. In particular,
`extend_from_workspace_elements` abstracts out some of the more
redundant code in `workspace_elements`.

It would be nice to avoid allocation everywhere, but iterators would
complicate lifetimes, run into issues with needing multiple mutable
borrows to things like the `Renderer`, and be awkward in certain
functions without generator syntax. In any case, cosmic-comp already
relies on allocating vectors here.

If this abstraction is commonly useful in compositors, perhaps it could
be moved to Smithay.
2024-07-15 17:12:05 +02:00
Victoria Brekenfeld
c506d94ac8 shell: Don't consider active overviews animations 2024-07-15 16:31:24 +02:00
Victoria Brekenfeld
c42a2ac279 tiling: Don't crash when swapping with group 2024-07-03 21:23:22 +02:00
Victoria Brekenfeld
b9a323c9ff shell: Populate focus_stack when unstacking 2024-07-03 21:04:28 +02:00
Michael Aaron Murphy
553c49b42b feat: runtime configurable keybindings 2024-07-01 15:20:23 +02:00
Victoria Brekenfeld
5662a0f219 floating: Correctly place grabbed tiled windows 2024-06-28 12:24:09 +02:00
Victoria Brekenfeld
da9af7ad23 floating: Add proper recalculate function
Don't just check maximized windows on every refresh, remapping them and
causing flickering, but introduce a proper recalculate method to be
called on layer-shell events / set_output event.

Also if we need to remap, remap all windows to keep stacking order.
2024-06-27 13:35:48 +02:00
Victoria Brekenfeld
c7d50e7c5b seat: Make render-related state thread-safe 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
bd58481d19 element: Introduce CosmicMappedKey for safely hashing windows across threads 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
e78e199663 chore: Update smithay for thread-safety 2024-06-26 12:59:33 +02:00
Ian Douglas Scott
f2342f56c1 Update to latest Smithay version 2024-06-19 12:39:16 +02:00
Ashley Wulber
13e67f3dc2 fix: apply activated state when updating maximized layout 2024-05-30 22:25:33 +02:00
Ashley Wulber
a3df48fe17 fix: update maximized elements when refreshing the floating layout
fixes the gap between the window and the panel
2024-05-29 01:05:09 +02:00
Ian Douglas Scott
4f076e0753 Update smithay, with xwayland shell, Cow, etc. 2024-05-21 19:31:50 +02:00
Ian Douglas Scott
73b12194c0 Update smithay 2024-05-10 13:51:28 +02:00
Ryan Brue
90227471bf feat: floating window tiling gaps 2024-04-22 10:44:14 +02:00
Ian Douglas Scott
17ddc7ce24 Update smithay
Updates for changes in https://github.com/Smithay/smithay/pull/1391.
2024-04-17 11:59:13 +02:00
Victoria Brekenfeld
5d5a510691 state: Move shell behind RwLock 2024-04-16 18:50:54 +02:00
Ian Douglas Scott
1216cd0b67 Add unset method to input grab traits
Fixes https://github.com/pop-os/cosmic-comp/issues/403.
2024-04-15 18:53:09 +02:00
Ian Douglas Scott
2c5c32ad4e shell: Fix resize grab unsetting 2024-04-15 11:37:03 +02:00
Ian Douglas Scott
bddfba464c shell: Add touch support to ResizeSurfaceGrab
Seems to work well with GTK.
2024-04-15 11:37:03 +02:00
Ian Douglas Scott
1da3c7c41e shell: Touch support for ResizeForkTarget/ResizeForkGrab
This seems to be working, though it's quite difficult to actually hit the
small target with touch.
2024-04-15 11:37:03 +02:00
Ian Douglas Scott
b18a3a8bc7 shell: Touch support for move grab
Touch support is still needed for other grabs. And SSDs (and libcosmic)
need to start move/menu/etc. based on touch.
2024-04-15 11:37:03 +02:00
Victoria Brekenfeld
10940a723f floating: Don't drop stack on themselves 2024-03-28 17:25:09 +01:00
Victoria Brekenfeld
5449858e70 Fix #385 2024-03-27 17:48:50 +01:00
Victoria Brekenfeld
5459f52d5e input: Rework PointerFocus to operate directly on WlSurface 2024-03-26 18:50:56 +01:00