Commit graph

99 commits

Author SHA1 Message Date
Victoria Brekenfeld
9c7c41c508 toplevel-info/mgmt: Update to v2/v3 2024-09-23 10:55:00 +02:00
julianbraha
52ad30c264 Remove unnecessary lifetimes 2024-08-30 17:53:56 +02:00
Ian Douglas Scott
c1bf410466 toplevel-info: Fix race between binding wl_ouput and output_enter
This fixes an issue with `cosmic-panel` where, when a workspace is moved
back to an output after a monitor is disconnected and reconnected, the
panel doesn't hide because `cosmic-panel` thinks no toplevel is open on
that monitor.

After some testing, it seems `output_enter` isn't being sent here. In
particular, the `output_leave` call happens before the client binds the
`wl_output`, so there is no `wl_output` to send in an event yet.

This is addressed by keeping track of a set of `wl_output`s that we have
sent the event to. So if an output is bound, `refresh` can add it to
this list and send the event.

This is not needed for workspaces (though it could be done similarly)
since the handle objects are created by server events. So no race should
occur as long as the workspaces global is bound before the toplevel info
one.
2024-08-01 16:35:26 +02:00
Victoria Brekenfeld
07d505d68f chore: Cleanup unused imports 2024-06-27 16:42:41 +02:00
Victoria Brekenfeld
76fca0c591 chore: Fix smithay version 2024-06-26 16:18:08 +02:00
Victoria Brekenfeld
954aa6edeb output-management: Handle destroy requests better 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
45bdffe802 output-management: Correctly advertise enabled-state for mirrored outputs 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
5f4377bf59 wayland: Add cosmic-output-management 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
98ec82db77 output-configuration: Add vrr state 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
4b71674e10 output-configuration: Support release-requests / v3 2024-05-07 12:25:15 +02:00
Ian Douglas Scott
c4fc91d6e9 screencopy: Don't send fail after ready
Cosmic-workspaces was having an issue when the compositor sent `ready`,
`failed`, then `stopped`. This could be worked around client-side, but
presumably the compositor should never send more than one
`failed`/`ready` for a particular frame.

It seems cleaner to have `FrameInner::fail` as the only place that sends
`failed`. So any checks can be there. I believe the logic there should
be appropriate for every call.
2024-05-03 14:21:30 +02:00
Ian Douglas Scott
3697494146 screencopy: Fix reference cycle, that leaks buffer
Before this, `/proc/$(pidof cosmic-comp)/maps` quickly expands in length
when cosmic-workspaces is opened and closed a bunch of time, preventing
the GPU memory from being freed. Which on my Intel system can lead to
OOM eventually.

There may be other leaks to deal with, but `maps` no longer shows this
issue.
2024-04-30 13:05:16 +02:00
Victoria Brekenfeld
5d5a510691 state: Move shell behind RwLock 2024-04-16 18:50:54 +02:00
Victoria Brekenfeld
11a8265145 toplevel-info: Also send workspace info for new windows 2024-04-11 13:28:49 +02:00
Victoria Brekenfeld
b40d153809 cosmic-screencopy-v2 2024-03-25 16:55:31 +01:00
Victoria Brekenfeld
973cfed87b shell: Handle unmapped windows correctly 2024-03-25 12:51:01 +01:00
Victoria Brekenfeld
3eb7e5f82e shell: implement minimize 2024-03-04 19:20:52 +01:00
Victoria Brekenfeld
ef3486f7e0 kms: Track used devices and free resources 2024-02-19 13:09:49 +01:00
Ian Douglas Scott
b8e5dbea8f Advertise version 2 of zcosmic_workspace_manager_v1 global 2024-02-07 21:40:23 +01:00
Victoria Brekenfeld
226bf7f49d workspace: Add tiling_state 2024-02-07 21:40:23 +01:00
Ian Douglas Scott
b2b718dbea Update smithay 2024-01-08 12:43:41 +01:00
Ian Douglas Scott
656996503c workspace-management: Implement move_to_workspace request
Needed for `cosmic-workspaces`.
2023-12-12 21:39:34 +01:00
Ian Douglas Scott
41a69cfc9f Update Smithay
For the `drm` protocol, we can't construct an `ImportNotifier`, since
that is specifically based around `ZwpLinuxBufferParamsv1`. So we need a
new method for importing with that protocol.

This could be improved, but should match current behavior.
2023-11-23 12:43:28 +01: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
Victoria Brekenfeld
4e12957169 chore: Update deps 2023-10-02 21:51:49 +02:00
Victoria Brekenfeld
4ee2763139 chore: Formatting updates 2023-07-31 17:36:32 +02:00
Victoria Brekenfeld
a308997fd4 chore: Update smithay 2023-07-12 18:57:38 +02:00
Victoria Brekenfeld
35de500c00 chore: update smithay + switch to tracing 2023-02-24 17:43:07 +01:00
Victoria Brekenfeld
7992ad67f6 update smithay, iced; reworked window for xwayland 2023-01-16 15:37:54 +01:00
Ian Douglas Scott
c592590053 workspace: Send done once on bind, not for each group 2023-01-03 14:15:02 -08:00
Victoria Brekenfeld
ec7fd17b8f protocols: Drop export-dmabuf 2022-11-23 16:10:37 +01:00
Victoria Brekenfeld
bcf3e43fcc screencopy: Proper error for unsupport/unknown cursor modes 2022-11-23 16:10:37 +01:00
Victoria Brekenfeld
6eb7493ad7 screencopy: Use new error types 2022-11-23 16:09:58 +01:00
Victoria Brekenfeld
9f1284b981 wayland: Working screencopy implementation 2022-11-23 16:09:58 +01:00
Victoria Brekenfeld
5a4df346a8 wip: screencopy 2022-11-23 16:09:58 +01:00
Victoria Brekenfeld
dd100d65e4 wayland: Add screencopy protocol handler 2022-11-23 16:09:52 +01:00
Victoria Brekenfeld
00f1b029da wip: New shell logic 2022-11-23 16:08:32 +01:00
Victoria Brekenfeld
8e6537de39 deps: Update smithay 2022-09-28 15:18:04 +02:00
Ian Douglas Scott
7b670afc36 Update smithay and wayland-rs
Includes updates for split between `smithay::wayland::output` and
`smithay::output`.
2022-09-09 20:00:00 -07:00
Victoria Brekenfeld
6690e13d54 deps: Update smithay 2022-08-31 13:01:23 +02:00
Victoria Brekenfeld
9e0a6e1b5f fmt commit 2022-08-30 13:28:36 +02:00
Victoria Brekenfeld
944af9ab85 export_dmabuf: Initial support 2022-08-05 14:28:37 +02:00
Victoria Brekenfeld
6113167b31 toplevel-info: fix typo 2022-07-19 19:42:05 +02:00
Victoria Brekenfeld
28493b95c5 toplevel_info: send creation event 2022-07-19 19:30:06 +02:00
Victoria Brekenfeld
6b659eb107 wayland: toplevel management protocol 2022-07-18 21:26:02 +02:00
Victoria Brekenfeld
994114661b deps: Update for wayland-rs beta.8 2022-07-18 18:04:02 +02:00
Victoria Brekenfeld
55e0c34e98 workspaces: Fix issues causing malformed or flood of messages 2022-07-08 23:19:35 +02:00
Victoria Brekenfeld
39de286d51 cargo fmt 2022-07-04 16:01:06 +02:00
Victoria Brekenfeld
06d5989223 wayland: Rework handlers and protocols into separate files 2022-07-04 16:01:06 +02:00