Commit graph

713 commits

Author SHA1 Message Date
Ian Douglas Scott
aac8166962 Add cosmic-workspace-v2, image source, toplevel info changes
This new protocol extends `ext-workspace-v1` with the same additional
functionality `cosmic-workspace-v1` provided. Toplevel info and toplevel
management are also updated to use ext handles, and there's an image
source for ext workspaces.

For now, the old protocol is still supported.
2025-03-03 12:30:25 +01:00
Ian Douglas Scott
47d142166b Set WorkspaceCapabilities::SetTilingState capability
`cosmic-comp` handles `SetTilingState` requests, so it looks like it was
incorrectly not advertising this.
2025-03-03 12:30:25 +01:00
Victoria Brekenfeld
e0f78da0ae stack: Fix input at bottom of window 2025-02-21 15:01:02 +01:00
Victoria Brekenfeld
61bde9f3b9 grabs/resize: Fix Xwayland geometry 2025-02-21 14:23:41 +01:00
Victoria Brekenfeld
9042f0adf4 zoom: bugfixes 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
c45a58c16c wayland: Implement cosmic-a11y-v1 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
fff9b357f6 zoom: Add separator to popup 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
9e8c2f5e24 zoom: Be a little more lenient with OnEdge movement and fractional cursor positions 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
909ca8cf9d zoom: Seperate animating/current focal_point 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
726a53b6b9 zoom: Reload config after writing 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
d30671c984 zoom: Localize zoom ui 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
3cff46d7e5 shell: Rescale zoom UI with zoom factor 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
07a471f285 zoom: Don't render at 100% scale while animating 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
f72d2b91f3 shell: Add zoom UI 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
55e4dd7c0f config: Handle zoom updates in Common::update_config 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
df9441804d iced: Track last seat/serial for grabs 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
6fd1a48e60 grab: Refactor MenuGrab to be useful for zoom ui 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
b7d4a66c22 input: Zoom on Super+Scroll 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
7267c44116 shell: Cleanup zoom state 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
4f67e89373 shell: Reset focal point if cursor outside OnEdge area 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
15c5e3fe26 shell: don't accidentally reset zoom when using multiple seats (theoretically) 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
531a1c951f zoom: Handle multiple outputs 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
c01de20b2b shell: Allow triggering zoom 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
2e2943d99c render: Scale contents according to zoom_level 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
a57a2163f6 floating: Fix resize indicator order 2025-02-20 20:11:40 +01:00
Daniel
2bf74951ea Update moving.rs 2025-02-14 15:32:01 +01:00
Daniel
2553810621
grabs: Snap Window Edges to Close Output Edges 2025-02-14 11:58:09 +01:00
Ian Douglas Scott
723f758439 protocol/workspace: Add support for ext-workspace-v1
To support both `ext-workspace-v1` and `cosmic-workspace-unstable-v1`,
the API exposed by `wayland/protocols/workspace` now uses the ext
workspace `State` and `GroupCapabilties` bitfields, and converts them to
the cosmic types for the cosmic implementation.

`WorkspaceCapabilities` is a custom type that has cosmic-specific and
ext-specific variants, and is mapped on both backends.

The ext protocol adds an `.assign` request on workspaces, which is
added here, though not currently used.

It also adds an `.id` event. Which we'll probably want when we have
persistent workspaces, but it isn't needed currently.

We still need to add an extension protocol of ext-workspaces to replace
a couple cosmic protocol features.
2025-02-13 11:31:38 +01:00
Paul Daniel Faria
f1f9d205be
Make numlock state on boot configurable
Make numlock state on boot configurable

This will expose 3 settings for numlock behavior:
1. Numlock is off on boot (this is the current default behavior)
2. Numlock is on on boot
3. Numlock will restore the state from the last boot

Fixes #369

* Address comments:

Get keyboard after create_seat called rather than returning from
create_seat.
Use constants rather than magic numbers for keypress.
Only save updated modifier state after keypresses are handled/skipped.

* Remove unused import, fold other into existing use block.
2025-02-12 14:35:22 +01:00
Victoria Brekenfeld
f6143747da layout/floating: Fix indicator element order 2025-02-07 13:32:30 +01:00
Victoria Brekenfeld
0deab8d9ed layout/tiling: Fix swap stack overlay offset 2025-02-07 13:32:30 +01:00
Victoria Brekenfeld
c59e9a3c52 layout/tiling: Fix swap indicator element order 2025-02-07 13:32:30 +01:00
Victoria Brekenfeld
b793975689 shell: Don't animate programmatic maximize_requests 2025-02-07 13:02:42 +01:00
Victoria Brekenfeld
156f634944 shell: Handle maximize requests before commit 2025-02-07 13:02:42 +01:00
Ian Douglas Scott
3b0aa9e427 shell: Remove last workspace if it follows empty active workspace
Partly fixes
https://github.com/pop-os/cosmic-workspaces-epoch/issues/83, but it
seems like there's at least one other issue with workspaces not being
removed when they should be.

The if condition got a bit complicated here, so I've split it up and
inverted the condition.
2025-02-04 14:55:29 +01:00
Ian Douglas Scott
63995c4919 Remove CosmicMapped::stack_ref_mut
The methods of `CosmicStack` take `&self`, so this isn't actually needed
for anything.
2025-01-28 10:13:52 -08:00
Victoria Brekenfeld
53d2cf01aa floating/resize: Fix broken global geometry 2025-01-16 19:44:12 +01:00
Victoria Brekenfeld
75661c6ca7 tiling: Refactor blocker code 2025-01-16 19:44:12 +01:00
Victoria Brekenfeld
560d234036 tiling: Throttle resizes 2025-01-16 19:44:12 +01:00
Victoria Brekenfeld
cf26fe1c07 tiling: Fix flicker during resizing 2025-01-16 19:44:12 +01:00
Victoria Brekenfeld
e217a91fec floating: Throttle resizes 2025-01-16 19:44:12 +01:00
Victoria Brekenfeld
df74a322ab mapped: Allow to query in-flight configure for resize throttling 2025-01-16 19:44:12 +01:00
Ian Douglas Scott
7f69244e07 Use Mul impl of Size 2025-01-07 12:50:35 +01:00
Ian Douglas Scott
b685512127 Migrate away from Rectangle::from_loc_and_size
Deprecated in `smithay` by https://github.com/Smithay/smithay/pull/1621.
2025-01-07 12:50:35 +01:00
Victoria Brekenfeld
870e5be2a6 kms: Use scaled sizes for placing new outputs 2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
db13eea91c shell: Allow active workspace to be None 2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
3926aee5b6 debug: Fixup feature compilation 2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
6be5009b37 kms: Allow diverging primary plane formats under certain conditions 2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
61b0dddf50 chore: Fix a few warnings 2025-01-06 20:23:05 +01:00
Paul Daniel Faria
e5263bbad8 Update leds when devices are added
This fixes #1104

LEDs on keyboard will now update to match the
compositor state when they're plugged in.
2025-01-06 12:13:51 +01:00