Commit graph

271 commits

Author SHA1 Message Date
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
Vukašin Vojinović
8768e46577 chore: update dependencies
Includes the `calloop` timer buildup fix.
2026-02-23 15:56:25 +01: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
15bbada498 shell/element: Don't render decorations for dead windows 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
6d0f1b273f layout/tiling: Resize shadows to fit scaled windows 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
5c656de9d4 shell/window: Respect sharp corners when tiled 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
fdf865b154 shell/window: Enable resize-border for clipped windows 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
4854f8e42d shell/elements: Don't render border when maximized 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
b6f0855a31 shell/elements: Fix corners order for clipping/shadows 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
e887e185a7 shell/elements: Don't clip maximized windows/stacks 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
59fd732982 shell/elements: Handle clipping and shadows 2026-01-13 19:12:22 +01:00
Victoria Brekenfeld
2adebb5fe1 config: Add and propagate appearance_config 2026-01-13 19:12:22 +01:00
Ian Douglas Scott
612ff2f523 layout/floating: In unmap, don't alter size if no pending changes
If the intent here was that the `if let` would only handle the case
where there are pending changes, then something like this should be
right.

Seems to fix behavior in
https://github.com/pop-os/cosmic-comp/issues/1819.
https://github.com/pop-os/cosmic-comp/issues/1645 may be the same issue.
2026-01-08 16:51:59 -07:00
Victoria Brekenfeld
dc5a9fac66 element/surface: Simplify surface feedback selection using the frame_time_filter 2026-01-08 00:20:18 +01:00
Victoria Brekenfeld
d17a4ead68 kms/surface: Simpify surface feedback creation 2026-01-08 00:20:18 +01:00
Victoria Brekenfeld
77d3605fb9 Update smithay for DnD updates 2025-12-04 20:17:12 +01:00
Ian Douglas Scott
282d76ef34 Set X11Surface hidden when a surface is minimized
This seems for an SDL XWayland client to restore fullscreen after
unminimize, it needs to see the `_NET_WM_STATE_HIDDEN` state get set
and unset.

In general `_NET_WM_STATE_HIDDEN` does not seem to cover all the
cases covered by waylands "suspended" state, so let's not equate them.

https://github.com/pop-os/cosmic-comp/issues/1510
2025-11-18 22:26:04 +01:00
Victoria Brekenfeld
e5ea486ea0 shell/stack: Don't reset previous_keyboard on noop set_active call 2025-11-11 20:18:58 -07:00
Ian Douglas Scott
e129094bfb Update smithay
Updates for `last_acked`, etc. API changes in
https://github.com/Smithay/smithay/pull/1817.

Includes layer shell fixes
from https://github.com/Smithay/smithay/pull/1819.
2025-11-11 21:27:57 +01:00
Ian Douglas Scott
9816b18259 Define a with_toplevel_state, generic over pending bool
Reduces a bit of duplication.
2025-11-11 21:27:57 +01:00
Ian Douglas Scott
505e36dcda Make CosmicWindowInternal/CosmicStackInternal not Clone
`IcedElement` uses `Arc` internally (and compares with `Arc::ptr_eq`).
So these structs are never cloned, and probably shouldn't be.
2025-11-04 15:41:08 -08:00
Yureka
a74b6e3a9b Add hooks for custom window decorations
This is a first use of the new hooks system, which allows customizing
cosmic-comp at compile-time.
In this case, the view() function of CosmicWindow / CosmicStack is
hooked and the hook can change what is rendered as the header bar.

Signed-off-by: Yureka <yuka@yuka.dev>
2025-10-29 11:27:14 +01:00
Vukašin Vojinović
1f7f0c70b7 chore: format for Rust 2024 2025-10-22 23:55:11 +02:00
Vukašin Vojinović
b6c5d00bec cargo fmt 2025-10-22 23:55:11 +02:00
Vukašin Vojinović
5e9ea93819 chore: manual clippy 2025-10-22 23:55:11 +02:00
Vukašin Vojinović
0847247c33 chore: clippy 2025-10-22 23:55:11 +02:00
Ashley Wulber
3465ce7602 feat: corner radius for CosmicMapped 2025-10-03 20:11:16 +02:00
Ashley Wulber
242e465d42 fix(corner-radius): use cached state 2025-10-03 20:11:16 +02:00
Ashley Wulber
e476153086 fix(outline): pass the radii in the correct order for the shader 2025-10-03 20:11:16 +02:00
Ashley Wulber
2873d6b27e fix(corner-radius): properly handle no value, and use geometry 2025-10-03 20:11:16 +02:00
Ashley Wulber
2d9d83d3bd fix(corner-radius): guard against corner radius being too large 2025-10-03 20:11:16 +02:00
Ashley Wulber
f01ebf2f6f refactor(corner-radius): corner_radius method for CosmicSurface 2025-10-03 20:11:16 +02:00
Ian Douglas Scott
b75be5b305 Remove last_cursor_position from CosmicMapped
Since 5459f52d, this is no longer ever set.
2025-09-18 23:36:30 +02:00
Vukašin Vojinović
7f7ab8bcbe chore: Rust 2024 edition
Set the formatting style to 2021 edition to avoid disrupting existing work.
Remove when possible.
2025-08-21 13:10:11 +02:00
Vukašin Vojinović
fec7c94605 chore: use std::sync::LazyLock 2025-08-21 13:10:11 +02:00
Ian Douglas Scott
2fbf0081ea Fix compile warnings on nightly
Should fix CI test.
2025-08-12 18:03:27 -04:00
Victoria Brekenfeld
c3d2b5f0b7 element: Allow overriding default scanout behaviour 2025-08-07 19:40:23 +02:00
Victoria Brekenfeld
be1424f1ca render/wayland: filter scanout candidates by frametime estimation 2025-08-07 19:40:23 +02:00