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
16691581ff
render/cursor: Don't crash for themes with zero delay
2024-06-27 16:41:38 +02:00
Victoria Brekenfeld
ddcb435632
debug: Fix running with new kms backend
2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
a97279147e
cursor: Re-enable cursor image cache
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
f2342f56c1
Update to latest Smithay version
2024-06-19 12:39:16 +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
3eb6c02008
kms: Output mirroring
2024-05-07 12:25:15 +02:00
Ian Douglas Scott
916b7729a5
fix: Add Element::kind method to CosmicElement
...
The default implementation always returned `Kind::Unspecified`. Instead,
we should pass this method through to the wrapped element.
This fixes the use of cursor planes. Now trace logs show Smithay
assigning an element to the cursor plane, and tools like `drm_info` show
the cursor plane with an `FB_ID` attached.
2024-04-17 12:01:25 +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
492d215fd8
cursor: Add resize variants
2024-03-04 13:19:57 +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
Christian Meissl
e74b0dfaaa
use memory for system cursor
...
smithay only considers memory based
cursor elements for scan-out on a
cursor plane.
2024-02-15 13:13:33 +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