Commit graph

1039 commits

Author SHA1 Message Date
Ian Douglas Scott
d7ca0324c5 Remove needs_key_repetition argument
Not supressing key repetition in backends seems like it was a bug, and
should be fixed as of https://github.com/Smithay/smithay/pull/1535.

So an argument for this should be unnecessary now.
2024-09-19 16:23:25 +02:00
Ian Douglas Scott
6d017225e4 Move handling of keyboard swap action to a seperate function 2024-09-19 16:23:25 +02:00
Ian Douglas Scott
96c931a0c3 Split off KeyboardHandle::filter callback to separate method
This saves 7 levels of indentation, which seems like a plus.

The `InputEvent::Keyboard` branch of the `match` now fits clearly in one
screen. The `filter_keyboard_input()` method could probably still be
broken up more.

The method needs a few arguments, but it seems nice to make what it
depends on explicit.
2024-09-19 16:23:25 +02:00
Ian Douglas Scott
fb32d39b1b Update smithay 2024-09-19 16:23:25 +02:00
Ian Douglas Scott
d02aecce61 Use .modified_sym() instead of casting keycode to keysym
Not sure if this is actually used, and if so the code may need more
testing, but this definitely is more correct, at least.
2024-09-19 16:23:25 +02:00
Ian Douglas Scott
01d78689b5 Run cargo fmt 2024-09-19 16:23:25 +02:00
Ian Douglas Scott
b820c97c66 Destroy X11Wm when we lose connect to X server
This fixes the issue where X11 windows freeze and can't be closed
when Xwayland dies.
2024-09-11 07:15:02 +02:00
Victoria Brekenfeld
4d215755f6 shell: Fix incomplete focus_stack after swapping 2024-09-10 21:10:02 +02:00
Victoria Brekenfeld
03430b76c5 shell: Allow moving groups between outputs 2024-09-10 20:51:08 +02:00
Victoria Brekenfeld
b111c9ff48 shell: Rewrite get_focused_output to properly account for groups 2024-09-10 19:38:48 +02:00
Victoria Brekenfeld
0d048b1a8e input: Fix focus_follows_cursor across outputs 2024-09-09 20:12:10 +02:00
Victoria Brekenfeld
fc689118f8 toplevel_management: Don't warp cursor on activate 2024-09-09 20:02:56 +02:00
Victoria Brekenfeld
16d9902770 focus: Allow updating cursor to already focused window 2024-09-09 20:02:36 +02:00
Victoria Brekenfeld
f0f1db4358 shell: next_focus should use active_output 2024-09-09 20:02:12 +02:00
Victoria Brekenfeld
b85b8fc7eb input: Fix passed button events 2024-09-09 20:01:59 +02:00
Victoria Brekenfeld
5006eae60b actions: Fix focus on Output-actions 2024-09-09 20:01:42 +02:00
Victoria Brekenfeld
932c204de4 input: Move actions into own module 2024-09-09 16:39:20 +02:00
may
0ffe6ae718
wayland: Implement cursor-shape-v1 2024-09-09 16:21:27 +02:00
Richard Weber
4cf34fe312 Fix iter parameter change 2024-09-04 20:50:42 +02:00
Richard Weber
bd95340992 Apply suggestions from code review
Co-authored-by: Victoria Brekenfeld <4404502+Drakulix@users.noreply.github.com>
2024-09-04 20:50:42 +02:00
Richard Weber
5482ff65e5 Add config reloading for tiling exceptions 2024-09-04 20:50:42 +02:00
Richard Weber
5fe9ba29eb Use new config from cosmic-settings-config 2024-09-04 20:50:42 +02:00
Richard Weber
ec86fc33e0 Add error handling for configuration conversion to regex rules 2024-09-04 20:50:42 +02:00
Richard Weber
e8947b8742 Move tiling exceptions to configuration file 2024-09-04 20:50:42 +02:00
skewballfox
7da0bc430a added cursor_follows_focus and focus_follows_cursor 2024-09-04 20:22:40 +02:00
julianbraha
52280e9823 Remove unnecessary casting 2024-09-03 16:08:17 +02:00
Victoria Brekenfeld
07f898590a kms: Fix rare mirroring crash 2024-09-02 20:44:23 +02:00
Victoria Brekenfeld
971c28db38 xwayland: Add descaling option 2024-09-02 18:58:13 +02:00
Victoria Brekenfeld
c9220a7acc chore: Update smithay 2024-09-02 18:58:13 +02:00
julianbraha
52ad30c264 Remove unnecessary lifetimes 2024-08-30 17:53:56 +02:00
pknepps
09b34bb40e Natural scrolling turned off will now turn off natural scrolling for 4-finger gestures 2024-08-30 17:19:02 +02:00
Ian Douglas Scott
ed64e26faf Add xdg-foreign-unstable-v2 protocol 2024-08-30 13:08:08 +02:00
Ian Douglas Scott
1342c000ab Add ext-foreign-toplevel-list-v1 protocol 2024-08-29 17:04:12 +02:00
julianbraha
59b0e0e74e Only use .cloned() on the element instead of the entire iterator 2024-08-29 16:39:39 +02:00
julianbraha
06d25df4ef Iterate over the array instead of an unnecessary vector 2024-08-29 16:39:39 +02:00
julianbraha
2e2356ab5f Use map.entry().or_insert() instead of map.contains_key() and map.insert() 2024-08-29 16:39:39 +02:00
Ian Douglas Scott
536484e9da screencopy: Use buffer age of 0 for render to temporary buffer
It seems we allocate a new `GlesRenderbuffer` every time we screencopy
to an shm buffer.

We probably should use a more complicated approach to do proper damage
tracking without any unnecessary copies, and re-using the GPU buffer,
but as long as this allocates a buffer the age of that buffer should be
treated as `0`.

Fixes corruption in cosmic-workspaces when shm screencopy is used. (For
instance, when Cosmic is run with software rendering.)
2024-08-27 23:28:13 +02:00
BrunoWallner
8114116e04 fixed animation issue completely for keyboard navigation and partially for touchpad gestures 2024-08-26 14:26:57 +02:00
João Capucho
66695482d0 Don't pass pointer button events to client when moving or resizing 2024-08-23 17:18:39 +02:00
João Capucho
3c24934f48 Track if a move or resize request is client initiated 2024-08-23 17:18:39 +02:00
Ian Douglas Scott
3625454420 Use monotonic time instead of 0 for motion events
Update to https://github.com/Smithay/smithay/pull/1509, and adopt a
similar change.
2024-08-22 07:22:44 -06:00
Ian Douglas Scott
ca6f05c585 Update pointer focus before motion occurs
If the surface under the pointer has changed, we should send an `enter`
event immediately, instead of waiting for the next motion event. This
seems to fix that, without producing unnecessary events.

Instead of `time: 0`, this and other synthesized events should probably
use `CLOCK_MONOTONIC`. It seems libinput does document that it uses
that.
2024-08-21 13:36:58 -06:00
Ian Douglas Scott
889499b64d Add single-pixel-buffer-v1 2024-08-21 09:26:13 -06:00
Ian Douglas Scott
c48dc1107f Update smithay and smithay-egui 2024-08-21 09:26:13 -06:00
Ian Douglas Scott
e119f10cdc toplevel-management: Set active output if changed, and move cursor
Previously, alt-tab wouldn't actually focus a window if it was on
another output, since the active output/workspace was unchanged.

We need to move the cursor if we activate a window on another output.
2024-08-21 05:10:51 -06:00
Jeremy Soller
a3c81119e8 Use fallback scale if size is invalid 2024-08-16 06:59:51 -06:00
Victoria Brekenfeld
8d2cc05f03
kms: Try to calculate dpi and scale factor (Take 2)
Co-authored-by: Jeremy Soller <jackpot51@gmail.com>
2024-08-15 15:10:40 -06:00
Richard Weber
bad8837d19 Add wl-clipboard to tiling exceptions 2024-08-14 11:05:58 -06:00
Victoria Brekenfeld
7660f7aaa9 focus: Don't swap focus from maximized tiled windows 2024-08-08 21:26:30 +02:00
Victoria Brekenfeld
f9d39144ed focus: Check target for fullscreen instead of workspace 2024-08-08 21:26:30 +02:00