Commit graph

130 commits

Author SHA1 Message Date
Victoria Brekenfeld
f12f4db0e1 chore: Update smithay 2025-01-06 20:23:05 +01: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
Christian Meissl
afdb656778 dnd: correct handling of cursor buffer offset 2024-09-23 11:13:21 +02:00
skewballfox
7da0bc430a added cursor_follows_focus and focus_follows_cursor 2024-09-04 20:22:40 +02:00
Ian Douglas Scott
c48dc1107f Update smithay and smithay-egui 2024-08-21 09:26:13 -06:00
Ian Douglas Scott
87020c79ba Define a RendererRef enum, referencing multi or glow renderer
Avoids a little duplication (matching two variants, instead of three
backends).

The behavior, including errors and panics, should be unchanged for now.
Performance should also not be impacted.

This should help for adding llvmpipe rendering without a device node on
the kms backend, or for adding a variant for pixman.
2024-08-07 10:49:39 -07:00
Ian Douglas Scott
9c65476091 Set ElementFilter in render_output to match kms backend
This way the same behavior will apply in winit/x11 backends.
2024-07-15 17:12:05 +02:00
Ian Douglas Scott
0636bcdef3 Add workspace_overview_is_open function; put in a utils::quirks mod
This is increasingly not just related to screencopy, so it's weird to
add there. I don't see any other module that fits, so add one called
"quirks" (like the Linux kernel uses for device-specific handling in
generic drives).
2024-07-15 17:12:05 +02:00
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
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
Victoria Brekenfeld
06c12040f9 render: Fix grey screen on workspace switch 2024-06-28 12:31:50 +02:00
Victoria Brekenfeld
ddcb435632 debug: Fix running with new kms backend 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
cc0bbb61e3 debug: Drop FPS struct for kms timings 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
469a366207 kms: New backend
New backend utilizing a thread per surface for precise frame
scheduling.
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
3b7bba3add debug: Drop puffin, interactivity, renderdoc 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
cf0b0f9d2d chore: Move some rendering-related state into the shell 2024-06-26 12:59:33 +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
4f076e0753 Update smithay, with xwayland shell, Cow, etc. 2024-05-21 19:31:50 +02:00
Victoria Brekenfeld
647deb81f1 shell: Move seats into shell 2024-04-16 18:50:54 +02:00
Ian Douglas Scott
f2efc5d56f shell: Fix MoveGrab with touch not on output pointer is on 2024-04-15 11:37:03 +02:00
Ian Douglas Scott
f83d80d471 Exclude DnD surfaces from workspace capture
Fixes https://github.com/pop-os/cosmic-workspaces-epoch/issues/25.
2024-04-11 12:36:03 +02:00
Ian Douglas Scott
de544e1d31 Update smithay to latest commit 2024-04-09 11:26:36 +02:00
Victoria Brekenfeld
b40d153809 cosmic-screencopy-v2 2024-03-25 16:55:31 +01:00
Victoria Brekenfeld
55eb2fe88e xwayland: Globally track stacking order 2024-03-25 12:51:01 +01:00
Ryan Brue
fc2173d028 feat: workspace switching touchpad gestures 2024-03-22 12:12:25 +01:00
Victoria Brekenfeld
d341cb8b86 debug: Drop puffin integration 2024-03-21 17:49:06 +01:00
Ian Douglas Scott
a1c8b3aa3e Add support for profiling using tracy 2024-03-20 23:55:21 +01:00
Ryan Brue
a4f3006313 feat: maximize/half tiling drag zones 2024-03-20 11:51:53 +01:00
Victoria Brekenfeld
c685440155 theme: Revert theming of tiling overview (fix #347) 2024-03-11 17:07:39 +01:00
Victoria Brekenfeld
83ec68d383 chore: Update smithay 2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
ef3486f7e0 kms: Track used devices and free resources 2024-02-19 13:09:49 +01:00
Ashley Wulber
5eb5af4675
feat: add tiling variables to cosmic config 2024-02-08 20:25:18 +01:00
Victoria Brekenfeld
c3ecbeee3b render: Fix OR window and sticky X11 windows stacking order 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
00a87e021b render: Handle sticky windows 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
8c4d77e43c shell: Add window menu 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
996b5a8227 shell: Move space_for_handle into Workspaces 2023-11-23 12:57:42 +01:00
Victoria Brekenfeld
c09a735289 state: Move Xwayland state into shell 2023-11-23 12:57:42 +01:00
Ian Douglas Scott
440cd03371 Handle session lock surfaces in visible_outputs_for_surface
Fixes issue with re-draw not being queued on initial surface commit
until cursor is moved.
2023-11-15 13:41:19 +01:00
Ian Douglas Scott
7e74d8db0b Fix build with debug feature 2023-10-31 09:01:08 -07:00
Ian Douglas Scott
81efd42dd5 Use cosmic-config for dynamic workspace settings
`WorkspaceAmount`, `WorkspaceMode`, and `WorkspaceLayout` can all be
changed dynamically now.
2023-10-27 12:36:40 -07:00
Ian Douglas Scott
f0277eabae Add ext-session-lock protocol 2023-10-27 09:01:25 -07:00
Ashley Wulber
d9e3d60a37 refactor: use a static color for CLEAR_COLOR 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
da90d9bf78 render: Fullscreen/Maximize animation 2023-09-15 18:37:34 +02:00