Commit graph

712 commits

Author SHA1 Message Date
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
Victoria Brekenfeld
7ac204ee79 focus: Fix active/focused output on refresh_focus
Previously removing the last output could have left seats with an
invalid active output. We already have logic to check this in
`refresh_focus` but failed to apply it before `update_pointer_focus`.
Let's fix that.
2024-12-16 20:14:37 +01:00
Victoria Brekenfeld
f2e53f09c9 shell: Fix stacking maximized windows 2024-12-16 17:29:56 +01:00
Victoria Brekenfeld
2e1f6a4746 shell: Unset focused outputs on remove_output 2024-12-13 16:23:30 +01:00
Vukašin Vojinović
7de52054ff chore: update iced/libcosmic 2024-12-11 16:58:16 +01:00
Victoria Brekenfeld
7829e7696d focus: Only consider focused output 2024-12-05 18:37:09 +01:00
Victoria Brekenfeld
fce52cb6a2 focus: Un-activate non-active workspaces 2024-12-05 18:37:09 +01:00
Victoria Brekenfeld
fc84fa9948 shell: Fix windows global geometry to include ssd 2024-12-05 18:20:10 +01:00
Ian Douglas Scott
61692b21ad Run cargo format 2024-11-18 18:24:53 +01:00
Ryan Brue
641bb75eb1 design: use active_window_hint as the thickness for floating window snap outline
This commit changes the snapping indicator's thickness to match the active window hint, per design recommendation by Maria. The thickness for this outline never goes under 1, also per Maria's spec.

Signed-off-by: Ryan Brue <ryanbrue.dev@gmail.com>
2024-11-06 12:01:25 +01:00
Victoria Brekenfeld
eb64fdaf8f element/window: Input offset fixes 2024-10-25 11:27:55 +02:00
may
65a54706f5 set cursor shape for resize grabs 2024-10-24 18:22:25 +02:00
Victoria Brekenfeld
9a9eddb132 focus: Fix layer-popup locations 2024-10-23 17:35:06 +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
Victoria Brekenfeld
140d870e7b focus: Introduce render_input_order 2024-10-22 19:43:47 +02:00
Ian Douglas Scott
2497992d31 Don't create initial empty workspace when there are other workspaces
`WorkspaceSet::new()` now creates a set with no workspaces, instead of
one with a single workspace.
2024-10-21 18:10:53 +02:00
Ian Douglas Scott
229c794aad On adding output add set after processing other sets
Maybe there's some reason for this, but I don't think the first loop
needs to handle the new set.

I do not expect this to change behavior.
2024-10-21 18:10:53 +02:00
Ian Douglas Scott
fb2631adce Fix workspace indices when workspace is moved to another output
Previously, workspace numbering could end up with numbers skipped,
because an intermediate workspace was moved.
2024-10-21 18:10:53 +02:00
Ian Douglas Scott
c8ebac354c Preserve active workspace when workspaces are moved back to another output
Instead of preserving the active workspace index, which may not match if
a workspace before it has been moved back to another output.
2024-10-21 18:10:53 +02:00
Ian Douglas Scott
400a7752fd When moving workspaces on output remove, don't movve empty workspace
This resulted in a somewhat weird effect, where the empty workspace at
the end on the monitor has an `output_stack` with the other output, so
a window created there is moved back to to second output when it is
re-connected. This seems unexpected.
2024-10-21 18:10:53 +02:00
Ian Douglas Scott
6fc36cb00e Fix spelling of prefers 2024-10-21 18:10:53 +02:00
Vukašin Vojinović
50d6dc3d21 fix(menu): use corner radius from theme 2024-10-21 17:59:46 +02:00
may
a4d875e35e cursor follows focus to center of window 2024-10-10 20:49:43 +02:00
Vukašin Vojinović
ea2215ec3f fix(window): center window title 2024-10-10 19:58:56 +02:00
Vukašin Vojinović
b7a34bdd1e fix(menu): styling
Also improves the styling of resize indicators, and removes the unnecessary `.density()` method call for the SSD header.
2024-10-10 19:58:56 +02:00
may
be38da47e9 use Grabbing cursor instead of Grab cursor
when i implemented the cursor-shape-v1 protocol i
didn't notice that the previous `CursorShape::Grab`
actually mapped to `CursorIcon::Grabbing` instead of
`CursorIcon::Grab`. this fixes that "regression".
2024-10-08 14:39:33 +02:00
Ian Douglas Scott
15a6425836
Set default output transform based on DRM panel orientation (#901) 2024-10-07 18:12:40 +02:00
Ian Douglas Scott
a96394f7a6 Update egui, smithay-egui, smithay 2024-10-02 23:55:10 +02:00
Christian Meissl
afdb656778 dnd: correct handling of cursor buffer offset 2024-09-23 11:13:21 +02:00
Victoria Brekenfeld
9c7c41c508 toplevel-info/mgmt: Update to v2/v3 2024-09-23 10:55:00 +02:00
Victoria Brekenfeld
ad449f9db0 chore: libcosmic update 2024-09-20 12:43:58 +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
Victoria Brekenfeld
b111c9ff48 shell: Rewrite get_focused_output to properly account for groups 2024-09-10 19:38:48 +02:00
Victoria Brekenfeld
0d048b1a8e input: Fix focus_follows_cursor across outputs 2024-09-09 20:12:10 +02:00
Victoria Brekenfeld
16d9902770 focus: Allow updating cursor to already focused window 2024-09-09 20:02:36 +02:00
Victoria Brekenfeld
f0f1db4358 shell: next_focus should use active_output 2024-09-09 20:02:12 +02:00
Victoria Brekenfeld
5006eae60b actions: Fix focus on Output-actions 2024-09-09 20:01:42 +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
52280e9823 Remove unnecessary casting 2024-09-03 16:08:17 +02:00