Commit graph

76 commits

Author SHA1 Message Date
Dominic Gerhauser
3214ef0250 element/window: Add maximize on header double-click 2024-07-26 13:22:56 +02:00
Dominic Gerhauser
27f048b998 respect cosmic-tk setting for minimize and maximize 2024-07-22 19:08:19 +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
3d58ec062d ssd: Fix styling 2024-06-28 11:24:54 +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
Ryan Brue
6ca1a37a53 design: Make server side decorations compact 2024-05-30 23:05:34 +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
Ian Douglas Scott
8cee91c88f Support touch drag for SSD toplevels, and stacks
We already direct touch events to Iced, and the Cosmic `HeaderBar`
widget already recognizes drags from touch events. So it seems updating
`last_seat` is all that was needed for windows SSDs.

For stacks, the same works, plus moving using the same logic for
detecting drags that is used for mouse events.
2024-04-19 09:30:46 +02:00
Victoria Brekenfeld
5d5a510691 state: Move shell behind RwLock 2024-04-16 18:50:54 +02:00
Victoria Brekenfeld
647deb81f1 shell: Move seats into shell 2024-04-16 18:50:54 +02:00
Ian Douglas Scott
7cd13ec6a9 Correctly handle window geometry loc in Focus::under
`Focus::under` replaced code in 4 places, that were inconsistent in how
they handled this. This seems to be more correct, in each case.
2024-04-02 17:12:28 +02:00
Ian Douglas Scott
418954a34b Fix SSD width to use toplevel "geometry"
We really need to do something about the term "geometry" being
overloaded.
2024-04-02 17:12:28 +02:00
Ian Douglas Scott
c957d673ba CosmicStack: Share Focus type with CosmicWindow
There's probably more duplicated logic that can be abstracted, but this
removes a bit of redundancy at least.
2024-04-02 17:12:28 +02:00
Ian Douglas Scott
26d2556be0 Initial touch support for SSD 2024-04-02 17:12:28 +02:00
Ian Douglas Scott
18d48665ef CosmicWindow: Define Focus::{under, cursor_shape}
Handling of `PointerTarget::motion` should be unchanged.
`PointerTarget::enter` previously was comparing `loc - geo` rather than
`loc`. The generic version could accommodate that, but I assume this was
incorrect, and the position sent to `enter` wasn't handled correctly.
2024-04-02 17:12:28 +02:00
Ian Douglas Scott
d34662661b CosmicWindow: Use Option<Focus> instead of a Focus::None
Slighter harder to convert to a `u8`, but allows matching over only the
non-None variants, and is more idiomatic.
2024-04-02 17:12:28 +02:00
Victoria Brekenfeld
3da08ed22d stack: Adjust decorations to window geometry 2024-03-28 18:21:44 +01:00
Victoria Brekenfeld
3cff426805 focus: Fix screencopy 2024-03-26 18:50:56 +01:00
Victoria Brekenfeld
5459f52d5e input: Rework PointerFocus to operate directly on WlSurface 2024-03-26 18:50:56 +01:00
Victoria Brekenfeld
b40d153809 cosmic-screencopy-v2 2024-03-25 16:55:31 +01:00
Victoria Brekenfeld
6858238bd6 shell: Unify element_for_(x11_|wl_)surface 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
Victoria Brekenfeld
b1a4e1682c ssd: Add minimize button to header bar 2024-03-05 16:37:01 +01:00
Victoria Brekenfeld
3eb7e5f82e shell: implement minimize 2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
afa7ad6d6a window: Add ssd interactive resize 2024-03-04 13:19:57 +01:00
Victoria Brekenfeld
f928f80f09 formatting fixes 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
807f63bb72 shell: Lift/refactor (un)maximize, consider sticky windows 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
769b7d6996 shell: Refactor move_request, consider sticky windows 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
d2e394b957 menu: Allow toggling sticky state 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
75990ff056 menu: Add stack tab specific menu 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
8c4d77e43c shell: Add window menu 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
edfb0edda7 grabs: Add ReleaseMode for menu-initiated grabs 2023-12-12 18:39:41 +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
42aaafe586 utils: New geometry spaces local/global 2023-10-25 19:41:55 +02: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
4e1c16c384 fullscreen: Use CosmicWindow for decorations 2023-09-18 18:51:21 +02:00
Victoria Brekenfeld
098dd1e37d decorations: Don't round edges when maximized 2023-09-18 18:29:55 +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
Victoria Brekenfeld
c7d4fa5d53 shell: Fix render order regarding popups 2023-07-13 17:19:29 +02:00
Victoria Brekenfeld
7cd8f67ab3 shell/window: Remember activated state 2023-06-30 15:15:21 +02:00
Victoria Brekenfeld
73d7f3779f stack: Handle scrolling properly 2023-06-30 15:15:21 +02:00
Victoria Brekenfeld
1dd0c3ecb7 stack: Fix initial geometry of moved out windows 2023-06-30 15:15:21 +02:00
Victoria Brekenfeld
8e4fa6bfc6 iced: Get rid of unused clip_mask logic 2023-06-30 15:15:21 +02:00