Commit graph

63 commits

Author SHA1 Message Date
Ashley Wulber
5eb5af4675
feat: add tiling variables to cosmic config 2024-02-08 20:25:18 +01:00
Ian Douglas Scott
dfd99b2c97 Change "xkb-config" to "xkb_config" in remaining place
It seems these two lines were omitted in
https://github.com/pop-os/cosmic-comp/pull/254, so it was reading the
"xkb_config" settings at startup, then watching "xkb-config".

The other settings seem to be consistent.

This should fix https://github.com/pop-os/cosmic-comp/issues/285 (though
it will also be necessary to edit "xkb_config", rather than the old
file.
2024-01-24 01:06:52 +01:00
Victoria Brekenfeld
c50607afd5 input: Add unbound shortcut to toggle sticky state 2024-01-02 13:24:07 +01:00
Ian Douglas Scott
45946fc75d Add map_to_output input option for touch devices 2023-12-28 10:37:08 +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
Victoria Brekenfeld
a8b401b11d input: Only capture Escape, if a grab is active 2023-12-13 16:36:49 +00:00
Victoria Brekenfeld
2e08bde657 input: Allow Escape to cancel grabs 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
98b869c15a config: Allow receiving a string repr of a shortcut 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
3dee249558 shell: Add keybindings to migrate workspaces 2023-11-21 13:09:38 +01:00
Victoria Brekenfeld
59581f717f input: Take into account output layout 2023-11-20 16:51:15 +01:00
xDarksome
72ee1c4d5a
Enable wlr_data_control protocol (#101) 2023-11-13 21:47:43 +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
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
4e12957169 chore: Update deps 2023-10-02 21:51:49 +02:00
PixelDots
c60f7071bb deserialize string or default to none for config.ron
Cleanup config.ron
2023-10-02 13:03:40 -05:00
PixelDots
37fb26a403 Added Modifier-only keybinding support 2023-09-30 08:44:04 -05:00
Victoria Brekenfeld
4709a1d684 shell: Have Move-shortcut for floating layer and fullscreen windows 2023-09-20 18:57:58 +02:00
Victoria Brekenfeld
1251b7e9f7 shell/tiling: Implement window swap mode 2023-09-12 20:53:35 +02:00
Ian Douglas Scott
20159a6c8c input: Add a scroll_factor config option
This is not a setting handled by libinput; we have to scale the
scrolling ourselves.

This should match the behavior of the `scroll_factor` defined in
sway-input(5).
2023-09-01 12:36:12 -07:00
Ian Douglas Scott
1ea0ffdb91 config: Fix default workspace right bindings 2023-08-31 16:56:01 -07:00
Ian Douglas Scott
34eba9e75b config: Ignore DeviceConfigError::Unsupported for defaults
Also reduces duplication.
2023-08-31 16:56:01 -07:00
Ian Douglas Scott
56467755a8 cosmic-comp-config crate, and default input config
This adds a `input-default` setting, which is used for input settings if a
device isn't set in `input-devices`. More awkwardly, it also adds an
`input-touchpad` setting, which is used instead of `input-default` for
touchpad devices, so we can separate mouse and touchpad settings even
though they use the same capability and settings.

This no longer sets the input config, and only reads it. If we add a UI
for per-device config, we'll need some IPC mechanism to list connected
devices. (Assuming cosmic-settings can't use libinput directly for that.)

This moves `InputConfig` and `XkbConfig` to a new `cosmic-comp-config`
crate, so they can be used in `cosmic-settings`.
2023-08-31 13:59:49 -07:00
Ian Douglas Scott
0f5d654535 Use cosmic-config for input configuration; allow dynamic changes 2023-08-31 13:59:49 -07:00
Ian Douglas Scott
75912df270 config: Move input config handling into seperate file 2023-08-31 13:59:49 -07:00
Ian Douglas Scott
a5e7fc4a1a config: Move key binding code to a seperate file 2023-08-31 13:59:49 -07:00
Victoria Brekenfeld
a308997fd4 chore: Update smithay 2023-07-12 18:57:38 +02:00
Victoria Brekenfeld
f5dcd97c42 input: Wire up internal resize action 2023-07-06 00:08:46 +02:00
Victoria Brekenfeld
7bd2db4851 config: Allow KeyPatterns to be printed 2023-07-06 00:08:46 +02:00
Victoria Brekenfeld
997223f20a input: Filter resize mode key combinations 2023-07-06 00:08:46 +02:00
Victoria Brekenfeld
8c52fc6eb1 input: Add resize mode actions 2023-07-06 00:04:34 +02:00
Victoria Brekenfeld
b3401eb18a shell/tiling: semi-working stacking 2023-06-30 15:15:21 +02:00
Ian Douglas Scott
89a5d6adae Ignore caps/num lock in key bindings
I noticed https://github.com/pop-os/cosmic-comp/issues/17 again, but
this time I realized num lock was on. Hopefully this is the only cause
of that issue (and caps lock, but that is easier to notice).

I don't think we would event want either of these states to be part of a
key binding. And `KeyModifiers` doesn't seem to be used anywhere else
this would be relevant. So they can be ignored. This should be more
similar to how keybindings are handled elsewhere.
2023-06-28 17:33:54 -07:00
Victoria Brekenfeld
be918152d5 shell: Implement Workspace Layout 2023-05-25 00:15:42 +02:00
Victoria Brekenfeld
7b3ac7fa77 render: Implement workspace transitions 2023-05-25 00:15:42 +02:00
Victoria Brekenfeld
adc28eeb93 tiling: Animate and enable/disable hints 2023-05-25 00:15:42 +02:00
Victoria Brekenfeld
1a8432395c kms: Handle max bpc property 2023-04-18 19:14:31 +02:00
Victoria Brekenfeld
b53e5cae6e shell/tiling: Make gaps configurable 2023-03-09 19:13:46 +01:00
Victoria Brekenfeld
4bf2c8df79 shell: Make active hint size configurable 2023-03-09 19:13:45 +01:00
Victoria Brekenfeld
35de500c00 chore: update smithay + switch to tracing 2023-02-24 17:43:07 +01:00
Victoria Brekenfeld
5a8840b12e shell: Properly propagate tiling state 2023-01-27 13:26:28 +01:00
Victoria Brekenfeld
5b644b59f7 input: Add SendToWorkspace action 2023-01-24 19:22:00 +01:00
Victoria Brekenfeld
3d31641c98 config: Don't disable all outputs on missing config 2022-12-05 23:36:09 +01:00
Victoria Brekenfeld
b2686424ea seat: Workaround old active outputs on hotplug 2022-11-23 16:10:37 +01:00
Victoria Brekenfeld
bca72a9b0e kms: Correctly apply disabled confs 2022-11-23 16:10:37 +01:00
Victoria Brekenfeld
544acecd2e input: Various new keybindings 2022-11-23 16:10:37 +01:00
Victoria Brekenfeld
644d53c2da tiling: Allow windows to be moved 2022-11-23 16:08:32 +01:00
Victoria Brekenfeld
0c47631d9b shell/tiling: Add option to toggle orientation 2022-11-23 16:08:32 +01:00
Victoria Brekenfeld
00f1b029da wip: New shell logic 2022-11-23 16:08:32 +01: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