Commit graph

130 commits

Author SHA1 Message Date
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
Victoria Brekenfeld
d6434d322e floating: Limit resizing to current output 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
72df9d07e6 shell: One workspace per output 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
Ian Douglas Scott
111eb4edf4 Update smithay, with cursor/selection changes
We'll probably want to add support for `cursor-shape-v1`. Not sure about
`wlr-data-control-unstable-v1`. But this just updates to work with the
latest smithay commit for new.
2023-10-10 13:32:41 -07:00
Victoria Brekenfeld
4e12957169 chore: Update deps 2023-10-02 21:51:49 +02:00
PixelDots
37fb26a403 Added Modifier-only keybinding support 2023-09-30 08:44:04 -05:00
Ian Douglas Scott
373af07319 Implement pointer constraints; update to send frame manually 2023-09-29 19:21:13 +02:00
Jeremy Soller
aac2c31a38
Fix NextOutput and PreviousOutput when Shell::activate returns None 2023-09-28 13:21:44 -06:00
Victoria Brekenfeld
4709a1d684 shell: Have Move-shortcut for floating layer and fullscreen windows 2023-09-20 18:57:58 +02:00
Victoria Brekenfeld
3d10ca6105 shell: Handle focus shortcuts for floating layer 2023-09-20 16:30:37 +02:00
Victoria Brekenfeld
4e1c16c384 fullscreen: Use CosmicWindow for decorations 2023-09-18 18:51:21 +02:00
Victoria Brekenfeld
abf430f956 shell: Rework fullscreen/maximize 2023-09-14 19:41:36 +02:00
Victoria Brekenfeld
9ad69fe119 tiling: Add logic to move on swap with empty workspace 2023-09-12 20:53:35 +02:00
Victoria Brekenfeld
7ba52d7162 shell: Refresh focus-stacks after swap 2023-09-12 20:53:35 +02:00
Victoria Brekenfeld
1251b7e9f7 shell/tiling: Implement window swap mode 2023-09-12 20:53:35 +02:00
Ian Douglas Scott
6247918cad Send relative_pointer in frame with pointer; update Smithay
The protocol doesn't specify this, but XWayland does assume relative
pointer events are part of a frame.

This works for now, though a better solution will be needed in Smithay
to also handle pointer constraints where a relative motion may occur
alone, etc.

This seems to fix https://github.com/pop-os/cosmic-comp/issues/159.
2023-09-08 11:10:53 -07:00
Ian Douglas Scott
c68625ff78 Add pointer gestures support 2023-09-05 13:47:07 -07: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
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
4a780cb343 Update smithay-egui and fix compilation of debug 2023-08-07 08:47:51 -07:00
Victoria Brekenfeld
4ee2763139 chore: Formatting updates 2023-07-31 17:36:32 +02:00
Victoria Brekenfeld
85edfc7141 tiling: Mouse dragging visuals 2023-07-21 16:08:55 +02:00
Victoria Brekenfeld
f00dda7591 shell: Allow overview to be triggered by pointer 2023-07-17 21:11:45 +02:00
Victoria Brekenfeld
a8a5ee466a shell: Generalize move grab 2023-07-17 21:11:23 +02:00
Victoria Brekenfeld
b818a68a91 tiling: Properly handle resizing using a ptr device 2023-07-11 16:33:23 +02:00
Victoria Brekenfeld
235248d445 kms: Add key repetition for shortcuts 2023-07-07 17:46:10 +02:00
Victoria Brekenfeld
f5dcd97c42 input: Wire up internal resize action 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
b400939dd9 shell: Introduce MoveResult to implement stacking 2023-06-30 15:15:21 +02:00
Victoria Brekenfeld
b3401eb18a shell/tiling: semi-working stacking 2023-06-30 15:15:21 +02:00
Victoria Brekenfeld
56131b13ae tiling: Allow selecting groups 2023-06-05 18:42:05 +02:00
Victoria Brekenfeld
506334e1af Fix #123 2023-05-26 11:47:45 +02:00
Michael Aaron Murphy
9d0e1e88ce
fix(input): zombie process from Action::Spawn
Each invocation of `Action::Spawn` was spawning a process without
waiting on the child; resulting in an accumulation of zombie sh
processes. This will create background threads which waits on the child
to ensure that they are reaped on exit.
2023-05-25 22:29:07 +02:00
Victoria Brekenfeld
2f6d4da712 tiling: Consider direction when moving across workspaces and outputs
Fixes second case of #113.
2023-05-25 19:40:13 +02:00
Victoria Brekenfeld
8201ba023d input: Consider any unpressed modifier to cancel overview mode
Fixes #115.
2023-05-25 19:37:23 +02: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
659933b039 xwm: Don't do multiple 2023-03-09 14:50:57 +01:00
Victoria Brekenfeld
1c62d6d061 debug: Add actual profiling for rendeirng 2023-03-06 19:39:08 +01:00
Victoria Brekenfeld
26743d6bdc debug: Add profiler view 2023-03-06 19:38:13 +01:00
Victoria Brekenfeld
35de500c00 chore: update smithay + switch to tracing 2023-02-24 17:43:07 +01:00
Victoria Brekenfeld
1a05121498 input: special case Focus/Move actions for fullscreen windows 2023-02-14 15:47:39 +01:00
Victoria Brekenfeld
05fadbbc85 input: Properly constrain top/left edge of outputs 2023-02-14 15:47:39 +01:00