| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
This was introduced in the last libinput release.
Fixes the following error:
../sway/ipc-json.c:928:17: error: enumeration value 'LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM' not handled in switch [-Werror=switch]
928 | switch (libinput_device_config_accel_get_profile(device)) {
| ^~~~~~
|
|
|
|
| |
(cherry picked from commit 8e4b6595786edf307623b9f1fcf3c7e5c8fa3833)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With `hide_edge_borders both` (or at least `vertical`),
`window_rect.y` will equal `border_thickness` for SOME windows,
but it will be 0 for windows adjacent to top screen edge.
Therefore setting it to `border_thickness` is not sufficient.
This commit changes it to the actual y offset of content
into the container.
(cherry picked from commit fadfbe8dbae4b3a840cc05fcfe67d74f5050a878)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fixes #7394
Test cases:
* zwlr_output_configuration_head_v1_set_adaptive_sync 0->0, no change
* 0->1, enabled
* 1->0, disabled
* 1->1, no change
Similar tests with an incapable display resulted in `"Adaptive sync
failed, ignoring"` messages as expected.
(cherry picked from commit 2c0f68b7c6c6e0f5ab79b22fc4334b6813a0f3fd)
|
|
|
|
| |
(cherry picked from commit a7b9f6fedc8e625b9c950f43cad36cfc8fc6734c)
|
|
|
|
|
|
|
| |
We were never sending any pointer event to ext-session-lock
surfaces.
(cherry picked from commit 6a3e265326fab11b8f68374c9f30410f647ae866)
|
|
|
|
| |
(cherry picked from commit 284966fd57fb0efe1bcc6fc3ac23ae77e5a0d884)
|
|
|
|
|
|
|
| |
Additionally, rename the function responsible for switching focus to
match its behavior better.
(cherry picked from commit 53c9a4a6438824abfb3d539bf55aec92074977e0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This might be the wrong fix, but the crash is happening because the ->data
field on an xwayland surface is NULL. A NULL data field is normal for
unmanaged surfaces, however it seems clients can do weird things: They can
create a cursor lock on a regular xwayland surface then make it unmanaged
by calling override_redirect. In this case, the xwayland server should
destroy the cursor lock, which is does, but does so in the wrong order
making it try to dereference a NULL pointer after sway has acknowledged
its new unmanaged status.
```
(gdb) bt full
0 0x000055fd91934861 in warp_to_constraint_cursor_hint (cursor=0x55fd93486c00)
at ../sway/input/cursor.c:1243
sy = 605
lx = 6.9527431433545762e-310
sx = 1272
view = 0x0
con = 0x7ffd1cdfe400
ly = -6.949595189996421e+59
constraint = 0x55fd93e7faa0
1 0x000055fd91934976 in handle_constraint_destroy (listener=0x55fd93f0fd58, data=0x55fd93e7faa0)
at ../sway/input/cursor.c:1266
sway_constraint = 0x55fd93f0fd30
constraint = 0x55fd93e7faa0
cursor = 0x55fd93486c00
2 0x00007fda8275bf6e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
3 0x00007fda82e57016 in pointer_constraint_destroy (constraint=0x55fd93e7faa0)
at ../subprojects/wlroots/types/wlr_pointer_constraints_v1.c:49
4 0x00007fda82e570dc in pointer_constraint_destroy_resource (resource=0x55fd933cf8f0)
at ../subprojects/wlroots/types/wlr_pointer_constraints_v1.c:66
constraint = 0x55fd93e7faa0
5 0x00007fda8275d8ba in () at /usr/lib/libwayland-server.so.0
6 0x00007fda8275f6a9 in wl_resource_destroy () at /usr/lib/libwayland-server.so.0
7 0x00007fda82e56fb3 in resource_destroy (client=0x55fd93ea52e0, resource=0x55fd933cf8f0)
at ../subprojects/wlroots/types/wlr_pointer_constraints_v1.c:39
8 0x00007fda81d8f4f6 in () at /usr/lib/libffi.so.8
9 0x00007fda81d8bf5e in () at /usr/lib/libffi.so.8
10 0x00007fda81d8eb73 in ffi_call () at /usr/lib/libffi.so.8
11 0x00007fda8275aada in () at /usr/lib/libwayland-server.so.0
12 0x00007fda8275f01c in () at /usr/lib/libwayland-server.so.0
13 0x00007fda8275d9e2 in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0
14 0x00007fda8275e197 in wl_display_run () at /usr/lib/libwayland-server.so.0
15 0x000055fd919264d3 in server_run (server=0x55fd919a3a80 <server>) at ../sway/server.c:320
16 0x000055fd91925457 in main (argc=1, argv=0x7ffd1cdfed98) at ../sway/main.c:411
verbose = false
debug = false
validate = false
allow_unsupported_gpu = false
config_path = 0x0
c = -1
```
(cherry picked from commit 88c17ece3b2617762c3f5f1c1fa79fe8f4df0082)
|
|
|
|
| |
(cherry picked from commit 0c23b0ec339ae6b294539ce47addc9c4b523a438)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sway sends wl_keyboard.enter on seat focus change and when a keyboard
active on a seat is configured. If all keyboards are removed and a
keyboard is added back without changing the focused client, no new
notify event would be sent despite having keyboard focus. This could
lead to key events without notify, which is a protocol violation.
As a quick fix, when configuring a keyboard on a seat where no keyboard
is currently active, activate the keyboard so that a focused surface
will receive a notify event.
Regressed by: e1b268af98edeb09e570e8855ef64f0719cbafe2
Closes: https://github.com/swaywm/sway/issues/7330
(cherry picked from commit 1ade0ce753dc5f588584f444ce80d27c3b1e4300)
|
|
|
|
|
|
|
|
|
| |
This makes sway's behavior consistent with i3 when `mouse_warping` is
set to any value besides `none`.
Fixes #7027.
(cherry picked from commit e3c63bf58d0744dfb436f0f38442ce3735e40f47)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we reload the config, we reset every input device and re-apply
configuration from the config file. This means that the keyboard keymap
is updated at least once during config reload, more if the config file
contains keyboard configuration.
When they keyboard keymap changes and is updated through wlr_seat, the
keymap ends up sent to every keyboard bound in every client, seemingly
multiple times. On an x230 of mine with a keyboard layout set in the
config file, I see 42 keymap events sent to foot on config reload.
Reduce events from keyboard configurations by skipping all but the
currently active keyboard for the seat, and by clearing the active
keyboard during input manager device reset. After this change, I only
see a single just-in-time keymap event.
Fixes: https://github.com/swaywm/sway/issues/6654
|
|
|
|
| |
(cherry picked from commit 28fda4c0d38907fab94dc7d82c9dcf0754748b4e)
|
|
|
|
| |
(cherry picked from commit 30ad4dc4a5a41ce7c7aa85096a6e18f374172983)
|
|
|
|
|
|
| |
We want to create a context before knowing the pid it will match with.
(cherry picked from commit bdeb9f95651f6c99cc2f4cfb59020ddee202cf36)
|
|
|
|
| |
(cherry picked from commit 66568508c06267445489d655c91c94a34d6d9ffe)
|
|
|
|
|
|
|
|
|
| |
Views now maintain a reference to a launch context which, as a last
resort, is populated at map time with a context associated with its pid.
This opens the possibility of populating it before map via another
source, e.g. xdga-tokens or configuration.
(cherry picked from commit 864b3a9a18f236f92f1898bb44ab977ceaebfd68)
|
|
|
|
|
|
| |
Soon we will match views with more than just a pid.
(cherry picked from commit d75c9f9722389d441fd24bd490c5cf12c4bef39a)
|
|
|
|
|
|
|
| |
This reuses wlroots token tracking for workspace matching. It doesn't
export any xdga tokens for clients yet.
(cherry picked from commit bd66f4943da1c96edc3ba49573e27b42b688c543)
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the need to rename the pid_workspaces when a workspace
is renamed.
It also opens the possibility of tracking other node types. Tracking
containers would allow application to be placed correctly in the
container tree even if the user has moved their focus elsewhere since
it was launched.
(cherry picked from commit 3b49f2782e8faf68766269b9c7390b16e25ae824)
|
|
|
|
| |
(cherry picked from commit 1c4b94ae3ca94b972410c80a61404a347af1ee68)
|
|
|
|
|
|
|
|
|
| |
This removes the pid_workspace bits from tree/root before it gets
too interesting.
No functional change.
(cherry picked from commit eb5021ef990fb29ff86544aea58d687ad62c757a)
|
|
|
|
| |
(cherry picked from commit af8a5a8918ef42336194fb1077b008a736de7af9)
|
|
|
|
|
| |
Fixes: https://github.com/swaywm/sway/issues/7254
(cherry picked from commit 85005b52fe5b832e4ea914fa28048b0c5c803769)
|
|
|
|
| |
(cherry picked from commit 34933bb84350fe805d82276ea02d5732546e9993)
|
| |
|
|
|
|
| |
Closes: https://github.com/swaywm/sway/issues/7120
|
|
|
| |
wlr_output_damage is to be replaced with wlr_damage_ring, so use that.
|
|
|
|
|
| |
This function fixes segfaults when emitting a signal potentially
removes arbitrary listeners.
|
| |
|
| |
|
|
|
|
|
|
| |
Any windows that have never had a title set visually behave closer to
that of an empty title, but are unformattable, as the code bails out
early on a NULL title.
|
|
|
|
|
|
|
|
|
| |
Support the new dwtp (disable while trackpointing) option introduced in
libinput 1.21, allowing users to control whether the trackpoint (like
those in Thinkpads, but not only) should be disabled while using the
keyboard/touchpad.
See: https://gitlab.freedesktop.org/libinput/libinput/-/issues/731
|
| |
|
|
|
|
|
|
|
|
|
| |
Remove the incorrect attempt to block focus changes when an input grab
is present and replace it with the same logic used for layer_shell-based
screen lockers: restore the focus after changing it.
This fixes a use-after-free of seat->workspace if outputs are destroyed
while a screen lock is enabled.
|
|
|
|
|
|
|
| |
When removing outputs, it is possible to end up in a situation where
none of the session lock client's surfaces have keyboard focus,
resulting in it not receiving keyboard events. Track the focused
surface and update it as needed on surface destroy.
|
|
|
|
|
|
| |
Moved `libinput_config` to the callers of
`sway_input_configure_libinput_device` so that we send the event after
the added event.
|
|
|
|
|
|
|
|
|
|
| |
Sway focuses the inactive child when focusing split containers. However,
there is currently no way to focus the parent container itself by mouse.
A user must use the keyboard to do so.
This commit maintains the current behavior, but makes it such that a
second click on the split container titlebar (i.e., after its children
are visible) focuses the split container itself.
|
|
|
|
| |
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
|
| |
|
| |
|
|
|
|
| |
Fixes #6503.
|
|
|
|
| |
Fixes #7209.
|
| |
|
| |
|
| |
|
| |
|