Commit graph

915 commits

Author SHA1 Message Date
Victoria Brekenfeld
61149d95d0 xwm: Reflect sticky state 2026-05-19 19:26:25 +02:00
Victoria Brekenfeld
85630236fa xwm: Support sticky requests for unmapped windows 2026-05-19 19:26:25 +02:00
Victoria Brekenfeld
6e4551a200 shell/element: Drop minimize/mapping X11 workaround 2026-05-19 19:26:25 +02:00
Victoria Brekenfeld
9defbe7b13 shell/element: Throttle X11 resizes as well via sync-req 2026-05-19 19:26:25 +02:00
Hojjat
b5186ef21a fix: restore snapped windows as snapped after maximize/minimize 2026-05-13 12:43:02 +02:00
Hojjat
7c02df250e fix: restore the window to where it was before the drag
Restoring a window after snapping it to a corner, or maximizing it
should restore to where the window was before the drag, not after the
drop.
2026-05-13 12:43:02 +02:00
Peter Krull
b955789a4e (fix) Reject resize_request on surfaces which are already being resized 2026-05-07 15:00:38 -06:00
KENZ
977d4c2dca refactor: make get_popup_toplevel() PopupKind agnostic
- for preparation to make unconstrain_popup() PopupKind agnostic.
2026-05-07 15:00:24 -06:00
Victoria Brekenfeld
53e0db28ac chore: Update smithay 2026-04-27 14:51:46 -07:00
Hojjat
fdf015cbcf fix: consider SSD/tab height when calculating last server size 2026-04-20 12:08:47 -06:00
Victoria Brekenfeld
b1f59bd108 state: call image-copy cleanup on refresh 2026-03-27 12:45:43 +01:00
Victoria Brekenfeld
615789cb14 surface: Introduce WeakCosmicSurface 2026-03-27 12:45:43 +01:00
Salvatore Gabriele La Greca
9ad5c916f3
layout/floating: allow size altering if window was maximized (#2038) 2026-03-27 11:56:34 +01:00
Ilia Malanin
06ece0fdcd shell: Return surface from take_fullscreen for symmetry with remove_fullscreen 2026-03-27 11:56:04 +01:00
Ilia Malanin
07d584dadd shell: Simplify early return with take_if 2026-03-27 11:56:04 +01:00
Ilia Malanin
90ce9cab90 shell: Preserve fullscreen state when moving window between workspaces 2026-03-27 11:56:04 +01:00
Victoria Brekenfeld
5216eb50ba chore: Fix remaining clippy lints 2026-03-24 16:23:43 +01:00
Victoria Brekenfeld
3a0b1ae5d2 Partially revert "x11: stop remapping minimized windows on restore"
This re-introduces the xwayland remap on un-minimize hack, but limited
to fullscreen applications.
2026-03-19 16:47:45 +01:00
Vukašin Vojinović
2ca99c670a chore: clippy 2026-03-18 18:19:03 +01:00
Ian Douglas Scott
c0c7a26178 Move some trait bounds to definition of AsGlowRenderer
Everything implementing `AsGlowRenderer` implements `Renderer` and various
other traits, and by making `AsGlowRenderer` depend on these trait,
things requiring `AsGlowRenderer` can avoid listing those traits as
well.

Looks like implied trait bounds still won't work for the
`Self::TexutureId` and `Self::Error` requirements? So those are not
included here.
2026-03-18 01:34:33 +01:00
Ashley Wulber
b28a435b18 fix(headerbar): double click handling & resize only on press 2026-03-13 15:56:42 -04:00
Hojjat
01f1785af5 fix: Ellipsize tab_text and use text widget instead of custom impl 2026-03-13 15:56:42 -04:00
Ashley Wulber
2e08a871be fix: iced widget event handling 2026-03-13 15:56:42 -04:00
Ashley Wulber
ba84ee9324 fix: text position in stack 2026-03-13 15:56:42 -04:00
Ashley Wulber
a48c4fc47d chore: updates after iced rebase 2026-03-13 15:56:42 -04:00
Ian Douglas Scott
0d6c83db31 Revert "Move some trait bounds to definition of AsGlowRenderer"
This reverts commit c860fcddad.

Accidentally pushed to wrong branch.

If only branch protection has a way to prompt for overriding rule on
push...
2026-03-11 20:08:33 -07:00
Ian Douglas Scott
c860fcddad Move some trait bounds to definition of AsGlowRenderer
Everything implementing `AsGlowRenderer` implements `Renderer` and various
other traits, and by making `AsGlowRenderer` depend on these trait,
things requiring `AsGlowRenderer` can avoid listing those traits as
well.

Looks like implied trait bounds still won't work for the
`Self::TexutureId` and `Self::Error` requirements? So those are not
included here.
2026-03-11 10:14:40 -07:00
mikairyuu
1dc9c53a41 x11: stop remapping minimized windows on restore
The remap-on-restore workaround was introduced in 3b9d0ce
("HACK: Remap minimized X11 windows on restore"), but forcing an
unmap/map cycle on unminimize now regresses Steam: restoring a
non-fullscreen window can leave the main surface black while input
and tooltips still work.

Keep the existing X11 hidden-state handling and only drop the
forced remap cycle. This preserves the newer minimize/unminimize
signaling for X11 clients while avoiding an extra restore-time
remap.
2026-03-10 17:06:28 +01:00
Ilia Malanin
3f68eee846 shell: Extract FloatingLayout::snap_to_corner to deduplicate snap restore logic 2026-02-24 00:55:49 +01:00
Ilia Malanin
60ecf70910 shell: Add comments explaining pre-set fullscreen before unmap 2026-02-24 00:55:49 +01:00
Ilia Malanin
7f33014710 format: Fixed PR formatting 2026-02-24 00:55:49 +01:00
Ilia Malanin
244111330b shell: Preserve maximized/snapped state on move between workspaces 2026-02-24 00:55:49 +01:00
Ilia Malanin
4565514e76 shell: Preserve snapped state through fullscreen/minimize round-trips 2026-02-24 00:55:49 +01:00
Ilia Malanin
744e0da6f9 shell: Pre-set fullscreen state before unmapping maximized/snapped windows
Fixes #1642
2026-02-24 00:55:49 +01:00
Vukašin Vojinović
8768e46577 chore: update dependencies
Includes the `calloop` timer buildup fix.
2026-02-23 15:56:25 +01:00
Levi Portenier
00bf8fe215
Merge branch 'master' into fullscreen_panic_fix 2026-02-13 13:42:17 -07:00
Ian Douglas Scott
7e48191253 grabs/moving: Call cleanup_drag() unconditionally
Previously, drag placeholder would be removed in the call to
`tiling_layer.drop_window()` when dropping onto a tiling layer, but
would not be removed when dropping to a floating layer. Which would
leave a placeholder taking up space, and cause a panic on a future drag
operation.

Instead, call `cleanup_drag()` regardless, after `drop_window()`, to do
any cleanup that is still needed. This moves the call that was
previously added in 67d0a825.
2026-02-09 17:45:57 -08:00
Ian Douglas Scott
de7c78accd layout/tiling: Make cleanup_drag push tree only if something changes
Since `copy_clone()` preserved IDs, `traverse_pre_order_ids()` can be
called on the old tree, without collecting into a `Vec`.

Then we can also `copy_clone()` only if there's actually a change, and
also only call `push_tree()` in that case.

(Once the `LazyCell::get()` stabilization is released, we could use
that here, but `Option::get_or_insert_with()` may be more readable
anyway.)

With this, `cleanup_drag()` should be pretty low-cost, so we shouldn't
have to worry about whether or not it's redundant.
2026-02-09 17:07:03 -08:00
Ian Douglas Scott
cac7a5aca6 image-copy: Use abstraction that's now provided by Smithay
This doesn't change much, since the Smithay implementation is based on
the `cosmic-comp` version, but made more generic. We provide our own
implementation for our workspace capture protocol, but otherwise Smithay
handles the boilerplate now.

This should not cause any change in behavior.
2026-02-05 02:01:14 +01:00
Hojjat
1dfc948f1e fix: only move the grabbed window if a new zone is chosen
This should fix super+click on a tiled window poping it out of the tree
and tiling it to the right half of the screen (default drop window
behavior).
2026-01-26 12:08:58 +01:00
Hojjat
a623f18c25 fix: windows are clipped in overview mode causing visual artifact 2026-01-15 17:27:28 -07:00
Victoria Brekenfeld
4adb07443a shell: Only clear tiling position on move 2026-01-13 14:35:54 -07:00
Nikola Hristov
09bca7a575 fix: Fullscreen request unreachable code crash
caused by a duplication in pending_windows
2026-01-13 20:56:59 +02:00
Victoria Brekenfeld
0116bc0dc2 element/surface: Fix corner radius of SSD windows 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
e4e7567174 element: Clip to tile size if available instead of element geometry 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
8f7dc7f00c render/outline: Handler inner/outer radius properly and ceil thickness 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
d1fb9087b2 render/shadow: Adjust alpha by light/dark mode 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
1e0c4f9b05 layout/tiling: Fix render order of group backdrop when swapping 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
f0b384e240 layout/tiling: Adjust corner radius by scale 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
15bbada498 shell/element: Don't render decorations for dead windows 2026-01-13 19:12:22 +01:00