Commit graph

741 commits

Author SHA1 Message Date
Ashley Wulber
e37cfbf595
fix: add cosmic-comp-config to nix flake 2023-09-05 19:21:23 -04:00
Victoria Brekenfeld
5fb2feaf4c
Merge pull request #156 from pop-os/pointer-gestures_jammy
Update smithay, add pointer gestures and security context
2023-09-05 22:58:49 +02:00
Ian Douglas Scott
8dce518ba6 Add security context protocol
Currently, excludes some protocols if they have any security context
associated.
2023-09-05 13:47:23 -07:00
Ian Douglas Scott
c68625ff78 Add pointer gestures support 2023-09-05 13:47:07 -07:00
Ian Douglas Scott
e7e9b768c8 Update Smithay, adjusting for API changes
The main changes are those related to pointer gestures. Which are a bit
verbose but not too difficult.
2023-09-05 13:46:48 -07:00
Ian Douglas Scott
1392fc7c95
Merge pull request #155 from pop-os/scroll-factor_jammy
input: Add a `scroll_factor` config option
2023-09-01 14:31:03 -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
Victoria Brekenfeld
511ee8d87a
Merge pull request #140 from pop-os/cosmic-comp-config
Use cosmic-config for input config; changeable at runtime
2023-09-01 12:51:42 +02: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
8c3a3a9d1a cosmic_comp_config: Some trait implementations and re-exports 2023-08-31 16:55:58 -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
74706b440e tiling: More precise group outline 2023-08-31 18:29:20 +02:00
Victoria Brekenfeld
380b00e083 render: Respect scale for indicator thickness 2023-08-31 18:17:37 +02:00
Victoria Brekenfeld
d394240fe6 stack: Fix wrongly scaled stack selection 2023-08-31 18:07:45 +02:00
Victoria Brekenfeld
2bc9f94255 kms: Make sure to re-render after finished animation 2023-08-31 13:53:30 +02:00
Victoria Brekenfeld
6439b3a43c Revert "loop: Schedule rendering for running animations on idle"
This reverts commit 5125337b42.
2023-08-31 13:53:30 +02:00
Victoria Brekenfeld
d92fba9609
Merge pull request #151 from pop-os/scanout-flag
Send `SCANOUT` flag in dmabuf feedback when target_node != render_node
2023-08-28 17:45:10 +02:00
Ian Douglas Scott
6b34edb077 Send SCANOUT flag in dmabuf feedback when target_node != render_node
The Intel driver (at least) pads the stride to meet the requirements for
scanout on AMD or Nvidia cards, when this flag is set.

This works around the bug I've seen in the Nvidia driver with corruption
importing an unaligned dmabuf. This presumably is an issue in the Nvidia
driver, but presumably it the fix would be for the import to fail, so
using a stride that allows it to succeed is better anyway.
2023-08-11 08:34:08 -07:00
Victoria Brekenfeld
1f3761a5da
Merge pull request #148 from pop-os/xwayland-keyboard-grab 2023-08-09 23:51:05 +02:00
Ian Douglas Scott
c3dddb9917 XWayland keyboard grab protocol 2023-08-09 14:21:06 -07:00
Victoria Brekenfeld
5ecee3c559
Merge pull request #150 from pop-os/stacking-order
xwm: Don't pass reverse order to `update_stacking_order_upwards`
2023-08-09 19:08:34 +02:00
Ian Douglas Scott
9875b87e73 xwm: Don't pass reverse order to update_stacking_order_upwards
This was setting the wrong order, and thus also fighting with
`raise_window`, creating a flood of configure events. Which seemed to
break submenus in Gimp when multiple toplevels were open.

This appears to be correct.
2023-08-09 10:06:03 -07:00
Victoria Brekenfeld
8d78328b9e
Merge pull request #142 from pop-os/egui-update
Update `smithay-egui` and fix compilation of `debug`
2023-08-08 16:37:07 +02:00
Victoria Brekenfeld
0eef8fe742
Merge pull request #147 from pop-os/update-stacking-order
xwm: Don't pass override-redirect surfaces to `update_stacking_order*`
2023-08-08 16:11:33 +02:00
Ian Douglas Scott
eb182cd170 xwm: Don't pass override-redirect surfaces to update_stacking_order*
We shouldn't be sending configures to override-redirect surfaces.

Requires https://github.com/Smithay/smithay/pull/1094 to behave
correctly.
2023-08-08 07:06:34 -07:00
Ian Douglas Scott
4a780cb343 Update smithay-egui and fix compilation of debug 2023-08-07 08:47:51 -07:00
Victoria Brekenfeld
2729be8542
Merge pull request #146 from pop-os/override-redirect-monitor 2023-08-04 08:44:43 +02:00
Ian Douglas Scott
baad2c01b4 Fix output filtering of override-redirect windows
`or.geometry()` was actually calling a different method in `filter` than
in `.flat_map`. Apparently since `or` in `filter` is an `&&X11Surface`
instead of `&X11Surface`, that invoked the trait method on `SpaceElement`...

Smithay should be changed in some way so that can't happen, but this
improves some of the behavior in cosmic-comp for now, at least. There
may be other issues related to this.

The `SpaceElement::geometry` was also returning a `loc` of `(0, 0)`,
which presumably isn't correct either.
2023-08-03 16:17:03 -07:00
Victoria Brekenfeld
5125337b42 loop: Schedule rendering for running animations on idle 2023-08-01 16:50:50 +02:00
Victoria Brekenfeld
568c8032b7 state: Trigger idle-callbacks on client disconnect 2023-08-01 16:50:26 +02:00
Victoria Brekenfeld
1a9f976818 xdg_shell: Trigger blocker evaluation on toplevel destruction 2023-08-01 16:49:29 +02:00
Victoria Brekenfeld
d50ad4e85c tiling: Don't block on dead surfaces 2023-08-01 16:49:07 +02:00
Victoria Brekenfeld
3df9f4b6a4 chore: cargo update 2023-07-31 19:15:26 +02:00
Victoria Brekenfeld
185e2fe3c8 chore: Update smithay 2023-07-31 19:12:33 +02:00
Victoria Brekenfeld
c06fb4a9d3 i18n: Add german translation 2023-07-31 19:10:22 +02:00
Victoria Brekenfeld
4ee2763139 chore: Formatting updates 2023-07-31 17:36:32 +02:00
Victoria Brekenfeld
ac889f609d tiling: Bugfixes for dragging windows 2023-07-31 17:29:42 +02:00
Victoria Brekenfeld
4a53e63c28 tiling: Cleanup dragging on output/workspace switch 2023-07-31 17:25:09 +02:00
Victoria Brekenfeld
10902ff543 stack: Allow dragging tabs out 2023-07-28 19:18:14 +02:00
Victoria Brekenfeld
9a3bfb4bba tiling: Draw indicators for group lower than pill indicator 2023-07-28 14:20:50 +02:00
Victoria Brekenfeld
b9f321dae3 tiling: Finally fix layout code 2023-07-27 20:24:02 +02:00
Victoria Brekenfeld
80d5863938 stack: Fix grabbing on the right side 2023-07-26 17:13:22 +02:00
Victoria Brekenfeld
730ec41b8f tiling: Show pill indicator outer group indicator 2023-07-26 16:47:04 +02:00
Victoria Brekenfeld
f949260ee2 stack_hover: Align indicator styling with resize indicator 2023-07-26 16:21:44 +02:00
Victoria Brekenfeld
1804bb8a57 Revert "moving: Let stacking indicator follow mouse"
This reverts commit 51a59b167f.
2023-07-26 16:13:48 +02:00
Victoria Brekenfeld
e7026e0a7e tiling: Cleanup group indicators on drop 2023-07-26 16:13:24 +02:00