Commit graph

10 commits

Author SHA1 Message Date
Lysander Treumann
4a2e76a2cb Moved default of WorkspaceMode from default implementation of WorkspacesConfig into WorkspaceMode declaration. WorkspaceConfig's default can then be derived. 2026-02-11 15:24:01 -07:00
Lysander Treumann
d7ae6dcb67 Added "action on typing" to workspaces configuration. 2026-02-11 15:24:01 -07:00
Ashley Wulber
458f5f4dcf refactor(config): fix no features enabled 2025-09-09 10:01:43 -04:00
Ashley Wulber
bb8e066d6d feat(config): load cosmic-randr output Lists 2025-08-26 11:30:56 -04:00
Ian Douglas Scott
e54f4b4963 protocols/workspace: Set ext workspace id for pinned workspace
The `id` is defined to be sent only once, on creation of the handle or
later. And only for workspaces that are "likely to be stable across
multiple sessions".

Set we add an `id` initially for pinned workspaces, and add one when the
workspace is pinned.

The `id` is not supposed to be human readable, so we just use a random
value.
2025-08-22 11:58:07 +02:00
Ian Douglas Scott
96e9bf3b81 Initial support for workspace pinning and moving
Adds support for cosmic-workspace-v2 pin, unpin, move_after, and
move_before requests.

Both features need some work with workspaces span displays mode, so that
will need more fixes later.

We also want to generate a unique id for pinned workspaces to send in
the ext-workspace-v1 protocol. But that isn't a strict requirement for
anything. So I haven't yet fully implemented that. We'll also want to
persist other things, like workspace naming when that's added.

Overall, though, with separate workspaces per display, this is working
pretty well.
2025-04-24 12:45:50 +02:00
Carter Wobbe
fec4b3c235 config: Refactor WorkspaceLayout to use the Default macro 2025-03-31 18:23:13 +02:00
Victoria Brekenfeld
c0f7524a09 shell: Drop static workspaces 2024-02-07 21:40:23 +01:00
Ian Douglas Scott
aa9ec52e62 cosmic: Provide CosmicConfigEntry impl, use _ in property names
It seems to derive `CosmicConfigEntry`, we need to use `_` in property
names, because `_` isn't mapped to `-` and there doesn't seem to be a
mechanism like `#[serde(rename)]`.

It seems good to be consistent anyway. So this seems good to change,
unless we really like using `-` for names on disk, then cosmic-panel
needs to be changed.

`CosmicConfigEntry` also requires `PartialEq`, which is easy enough to
add.

This will break existing input settings, which will have to be
re-applied with the new locations. Cosmic-settings also need to be
updated for this.
2023-12-21 09:48:16 +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