Commit graph

1143 commits

Author SHA1 Message Date
Ian Douglas Scott
355b142c52 When cosmic-workspaces is shown, render only layer-shell surfaces
This allows `cosmic-workspaces` to rely on cosmic-comp for rendering the
background, and just have transparency. This should be a more reliable
and performant way of doing things, at least for now.

Instead of adding another opaque bool argument, this defines an
`ElementFilter` enum, which makes calls more readable.

Window surfaces are still included in screencopy, as needed for the
workspace previews.
2024-07-15 17:12:05 +02:00
Ian Douglas Scott
31358d1993 Inhibit workspace animations when workspaces view is open
Fixes https://github.com/pop-os/cosmic-workspaces-epoch/issues/27.

We want this to apply to changes to workspace either through keybindings
or the cosmic-workspaces UI, so it adding a check here seems reasonable.
In principle it could be good to have some kind of privileged protocol
for setting things like this.

We may also want a configuration option to disable animations at some
point.
2024-07-15 17:12:05 +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
c506d94ac8 shell: Don't consider active overviews animations 2024-07-15 16:31:24 +02:00
dengelt
3277435ff9 support CARGO_TARGET_DIR 2024-07-15 12:27:46 +02:00
Victoria Brekenfeld
b1778dabb3 shell: Don't crash on zero outputs for global-mode 2024-07-12 19:29:47 +02:00
Victoria Brekenfeld
3b9d0ce3d7 HACK: Remap minimized X11 windows on restore 2024-07-10 22:36:40 +02:00
Victoria Brekenfeld
3485d82788 shell: Don't allow maximizing fullscreen windows 2024-07-10 22:36:40 +02:00
Victoria Brekenfeld
bf6ea3414b x11surface: Unmap on minimize 2024-07-10 22:36:40 +02:00
Victoria Brekenfeld
d85b6f0e50 focus: set minimized windows unfocused 2024-07-10 22:36:40 +02:00
Victoria Brekenfeld
3eb3e3b1c0 xwm: Fix edge-cases for fullscreening 2024-07-10 22:36:40 +02:00
Victoria Brekenfeld
66d1016003 xwm: Include minimized windows when restacking 2024-07-10 22:36:40 +02:00
Victoria Brekenfeld
bf8fb0ac24 input: Fix broken confinement check 2024-07-10 22:36:40 +02:00
Victoria Brekenfeld
c06529b548 focus: Don't send enter/leave for same surface 2024-07-10 22:36:40 +02:00
Victoria Brekenfeld
b4abc06ad8 chore: Update smithay 2024-07-10 22:36:40 +02:00
Victoria Brekenfeld
b3b9eadfca chore: Update wayland-backend 2024-07-08 13:31:59 +02:00
Victoria Brekenfeld
e61a76d39c chore: libcosmic update 2024-07-08 12:11:58 +02:00
Ian Douglas Scott
11914e97ea Use FromGlesError instead of OutputNoMode placeholder 2024-07-05 17:49:41 +02:00
Ian Douglas Scott
9f8fec6ec5 screencopy: Handle error from with_buffer_contents_mut
Fixes https://github.com/pop-os/cosmic-comp/issues/48.

https://github.com/Smithay/smithay/pull/1475 fixes the segfault so this
instead produces an error. Then we need to handle the error here.
2024-07-05 17:49:41 +02:00
Victoria Brekenfeld
f02520c194 shell: Don't check grab-conditions for SSD grabs 2024-07-03 23:40:42 +02:00
Victoria Brekenfeld
c42a2ac279 tiling: Don't crash when swapping with group 2024-07-03 21:23:22 +02:00
Victoria Brekenfeld
b9a323c9ff shell: Populate focus_stack when unstacking 2024-07-03 21:04:28 +02:00
Victoria Brekenfeld
dc882ffc36 focus: Fall back to first window, if stack is empty 2024-07-03 21:03:58 +02:00
Victoria Brekenfeld
c933aa1a4f shell: Don't skip over Group-targets for next_focus 2024-07-03 21:03:36 +02:00
Victoria Brekenfeld
2d0f1cbf2b chore: smithay update 2024-07-02 13:15:30 +02:00
Michael Aaron Murphy
553c49b42b feat: runtime configurable keybindings 2024-07-01 15:20:23 +02:00
Victoria Brekenfeld
62afa4cf61 xwayland: Fix offset x11 geometry after configure request 2024-06-28 13:04:35 +02:00
Victoria Brekenfeld
06c12040f9 render: Fix grey screen on workspace switch 2024-06-28 12:31:50 +02:00
Victoria Brekenfeld
5662a0f219 floating: Correctly place grabbed tiled windows 2024-06-28 12:24:09 +02:00
Victoria Brekenfeld
4652a23294 grabs: Fix ssd not updating during move grab 2024-06-28 11:25:20 +02:00
Victoria Brekenfeld
3d58ec062d ssd: Fix styling 2024-06-28 11:24:54 +02:00
Victoria Brekenfeld
713ac470aa chore: Update smithay 2024-06-27 21:07:29 +02:00
Victoria Brekenfeld
e98f67724e chore: Fix debug feature 2024-06-27 21:06:48 +02:00
Victoria Brekenfeld
8da3ac6d75 kms: Fix frame scheduling 2024-06-27 18:15:18 +02:00
Victoria Brekenfeld
5617f3228b chore: Update smithay 2024-06-27 16:51:36 +02:00
Victoria Brekenfeld
07d505d68f chore: Cleanup unused imports 2024-06-27 16:42:41 +02:00
Victoria Brekenfeld
16691581ff render/cursor: Don't crash for themes with zero delay 2024-06-27 16:41:38 +02:00
Victoria Brekenfeld
da9af7ad23 floating: Add proper recalculate function
Don't just check maximized windows on every refresh, remapping them and
causing flickering, but introduce a proper recalculate method to be
called on layer-shell events / set_output event.

Also if we need to remap, remap all windows to keep stacking order.
2024-06-27 13:35:48 +02:00
Victoria Brekenfeld
c27127e44c chore: Update smithay 2024-06-27 12:37:21 +02:00
Victoria Brekenfeld
c07356fa01 main: Don't quit, when the last output is gone 2024-06-27 12:35:01 +02:00
Victoria Brekenfeld
953c277cb0 focus: Fix crash when no output is available 2024-06-27 12:35:01 +02:00
Victoria Brekenfeld
26ccb653b7 output: Store position as u32 and offset bad configs 2024-06-27 12:34:51 +02:00
Victoria Brekenfeld
9cd553e128 chore: Update libcosmic 2024-06-26 16:36:21 +02:00
Victoria Brekenfeld
76fca0c591 chore: Fix smithay version 2024-06-26 16:18:08 +02:00
Victoria Brekenfeld
449048bdc5 kms: Fix unreachable code during forced queued redraws 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
707eace679 kms: Don't leak an EGLImage on every import 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
eea93d543e state: Correctly update primary output 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
ddcb435632 debug: Fix running with new kms backend 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
bfbf20d61d kms: fixup device-usage logic 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
492e16bfa5 data-device: Fix rendering DnD icons on separate threads 2024-06-26 12:59:33 +02:00