Commit graph

91 commits

Author SHA1 Message Date
Victoria Brekenfeld
95b27637ae chore: smithay update 2025-03-12 16:50:58 +01:00
Victoria Brekenfeld
e116f20396 stack: Remember previous position during focus navigation 2025-03-05 18:24:28 +01:00
Ian Douglas Scott
63995c4919 Remove CosmicMapped::stack_ref_mut
The methods of `CosmicStack` take `&self`, so this isn't actually needed
for anything.
2025-01-28 10:13:52 -08:00
Victoria Brekenfeld
df74a322ab mapped: Allow to query in-flight configure for resize throttling 2025-01-16 19:44:12 +01:00
Ian Douglas Scott
b685512127 Migrate away from Rectangle::from_loc_and_size
Deprecated in `smithay` by https://github.com/Smithay/smithay/pull/1621.
2025-01-07 12:50:35 +01:00
Victoria Brekenfeld
3926aee5b6 debug: Fixup feature compilation 2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
61b0dddf50 chore: Fix a few warnings 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
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
a96394f7a6 Update egui, smithay-egui, smithay 2024-10-02 23:55:10 +02:00
julianbraha
52ad30c264 Remove unnecessary lifetimes 2024-08-30 17:53:56 +02:00
Ian Douglas Scott
4748916ff9 Make RenderElement implementations generic to reduce duplication
It would make sense to have a bound like
`for<'frame> R::Frame<'frame>: AsGlowFrame<'frame>`. But that appears to
not behave properly due to current limitations of the borrow checker:
https://blog.rust-lang.org/2022/10/28/gats-stabilization.html#implied-static-requirement-from-higher-ranked-trait-bounds

Instead, this makes `glow_frame` and `glow_frame_mut` associated
functions of the `AsGlowRenderer` trait. Then it is pretty
straightforward to make the `RenderElement` implementations generic
using that and `FromGlesError`.

It would make sense to make `Self::Error: FromGlessError` a requirement
of the `AsGlowRenderer` trait, but due to the lack of implied bounds
support, that produces a bunch of errors about missing bounds. If Rustc
improves that eventually, some bounds could be cleaned up a bit:
https://github.com/rust-lang/rust/issues/44491
2024-08-05 12:58:52 +02:00
Ian Douglas Scott
de264e250f Fix build with debug feature 2024-07-29 14:49:44 +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
Michael Aaron Murphy
553c49b42b feat: runtime configurable keybindings 2024-07-01 15:20:23 +02:00
Victoria Brekenfeld
ddcb435632 debug: Fix running with new kms backend 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
Ian Douglas Scott
697ec9e1fe Use active() instead of surfaces().any in stack same_client_as
Setting the clipboard is only allowed when the keyboard focus is the
same client as the client trying to set the clipboard. We shouldn't
allow background windows in stacks to set the clipboard.

I don't know if anything else expects `same_client_as` to have this `any`
behavior.
2024-06-04 13:24:25 +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
Victoria Brekenfeld
647deb81f1 shell: Move seats into shell 2024-04-16 18:50:54 +02:00
Ian Douglas Scott
de544e1d31 Update smithay to latest commit 2024-04-09 11:26:36 +02:00
Victoria Brekenfeld
3da08ed22d stack: Adjust decorations to window geometry 2024-03-28 18:21:44 +01:00
Victoria Brekenfeld
5459f52d5e input: Rework PointerFocus to operate directly on WlSurface 2024-03-26 18:50:56 +01:00
Victoria Brekenfeld
973cfed87b shell: Handle unmapped windows correctly 2024-03-25 12:51:01 +01:00
Ian Douglas Scott
a1c8b3aa3e Add support for profiling using tracy 2024-03-20 23:55:21 +01:00
Ian Douglas Scott
658a88da8c Fix building with debug feature 2024-03-19 10:47:37 +01:00
Victoria Brekenfeld
745267ac24 tiling: Minimize animation 2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
3eb7e5f82e shell: implement minimize 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
83ec68d383 chore: Update smithay 2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
d2e394b957 menu: Allow toggling sticky state 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
a371571d11 debug: Show x11 geometry per window 2023-11-23 12:57:42 +01:00
Victoria Brekenfeld
cf5b21f437 floating: Animate tiling state changes 2023-11-16 19:21:02 +01:00
Victoria Brekenfeld
2d15fb9766 floating: Handle tiling shortcuts 2023-11-16 19:21:02 +01:00
Victoria Brekenfeld
d09abc4728 floating: New window spawn positions 2023-11-16 19:21:02 +01:00
Victoria Brekenfeld
5b7efa3a8b floating: Restore size of moved maximized windows correctly 2023-10-25 19:41:55 +02:00
Ashley Wulber
abbe94e6e1 feat: theme integration
refactor: only apply updates if there is a change in the theme

refactor: include theme in state

cleanup: theme integration
2023-10-25 19:41:55 +02:00
Victoria Brekenfeld
69563420fb shell: Rework maximize/fullscreen 2023-10-25 19:41:55 +02:00
Victoria Brekenfeld
72df9d07e6 shell: One workspace per output 2023-10-25 19:41:55 +02:00
Victoria Brekenfeld
42aaafe586 utils: New geometry spaces local/global 2023-10-25 19:41:55 +02:00
Ian Douglas Scott
98755c1695 Update smithay-egui, egui, puffin 2023-10-03 18:48:31 -07:00
Victoria Brekenfeld
4e12957169 chore: Update deps 2023-10-02 21:51:49 +02:00
Ian Douglas Scott
373af07319 Implement pointer constraints; update to send frame manually 2023-09-29 19:21:13 +02:00
Victoria Brekenfeld
4709a1d684 shell: Have Move-shortcut for floating layer and fullscreen windows 2023-09-20 18:57:58 +02:00
Victoria Brekenfeld
1251b7e9f7 shell/tiling: Implement window swap mode 2023-09-12 20:53:35 +02:00
Ian Douglas Scott
e7e9b768c8 Update Smithay, adjusting for API changes
The main changes are those related to pointer gestures. Which are a bit
verbose but not too difficult.
2023-09-05 13:46:48 -07:00