aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* ci: install hwdata-dev on AlpineLibravatar Simon Ser2023-02-04
| | | | We're missing the pkg-config file so the DRM backend gets disabled.
* swaymsg: s/inactive/disabled/Libravatar Simon Ser2023-02-02
| | | | | | The JSON field is named "active", but that's confusing for users: `output disable` is the command which results in `active = false` outputs. Use the same terminology in end-user messages.
* swaymsg: print output power statusLibravatar Simon Ser2023-02-02
|
* Add Norwegian READMRLibravatar Radical2023-02-02
| | | | Added a Norwegian README file `README.no.md` and added a link to it in the original `README.md` file.
* Convert to *_try_from_wlr_surface()Libravatar Simon Ser2023-02-02
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3991
* root: free non_desktop_outputs list on root_destroyLibravatar Tobias Predel2023-02-02
| | | | | This fixes a memory leak because the non_desktop_outputs list was not freed when the root was destroyed.
* Convert to wlr_xwayland_surface_try_from_wlr_surface()Libravatar Simon Ser2023-02-01
| | | | | | Accomodate for the breaking changes in [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/fbf5982e3838ee28b5345e98832f6956c402b225
* ipc: add support for output eventLibravatar Simon Ser2023-02-01
| | | | | | For compatibility with i3 [1]. [1]: https://i3wm.org/docs/ipc.html#_output_event
* Added reference for event types to swaymsg manpageLibravatar Cedric Sodhi2023-02-01
|
* Switch default menu to wmenuLibravatar Simon Ser2023-01-30
| | | | | | | | | | | Switch the default menu to wmeny (https://sr.ht/~adnano/wmenu), a Wayland-native alternative to dmenu. This removes the dependency on Xwayland for the default config. wmenu is small (same scope as dmenu) and has the same flags as dmenu. One downside is that it's not widely packaged by distributions yet. We still depend on dmenu_path.
* Apply new adaptive sync value from wlr-output-managementLibravatar Alexander Courtis2023-01-23
| | | | | | | | | | | | 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.
* Check return value of wlr_renderer_begin()Libravatar Simon Ser2023-01-21
| | | | | | | | | | Since [1], wlr_renderer_begin() can fail. Check its return value and bail. This fixes an assertion error (when begin() fails and then we try to render something) after a GPU reset. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/a541c9510a4cf544313bc9b0503d75820b42444e
* focus_on_window_activation: raise if floatingLibravatar Tobias Bengfort2023-01-20
|
* Fix pointer events for ext-session-lock surfacesLibravatar Simon Ser2023-01-18
| | | | | We were never sending any pointer event to ext-session-lock surfaces.
* Fix indentation in surface_is_xdg_popup()Libravatar Simon Ser2023-01-18
|
* Send wl_surface.enter for ext-session-lock surfacesLibravatar Simon Ser2023-01-18
|
* input/tablet: handle focusing NULL surfaceLibravatar Kirill Primak2023-01-16
| | | | | Additionally, rename the function responsible for switching focus to match its behavior better.
* swaynag: call swaynag_destroy on clean exitLibravatar Manuel Stoeckl2023-01-16
| | | | | | | | | | | And fix the fallout of the swaynag_destroy having evolved without being tested: * wl_display_disconnect was called too early * `button_close` and `swaynag.details.button_details` needed to be heap allocated, since they are added to swaynag.buttons, and all entries of swaynag.buttons are freed in swaynag_destroy * To keep things simpler, disconnect the lifetime of the 'Toggle details' button text config setting from the button itself.
* input: enable user xkb configs with cap_sys_niceLibravatar Ronan Pigott2023-01-11
|
* Improve tablet tool button handling.Libravatar John Chadwick2023-01-07
| | | | | | | | | | | | | | This change allows the tablet tool button to be used for floating mod resize. In addition, it attempts to ensure that tablet tool events are consistent such that tablet v2 events and pointer events will never be interleaved, and such that the tool buttons count will never fall out of sync and cause tool button emulation to break. Some of this logic is similar to what is done for tablet tool tip, but not quite identical, because of the complication that we have to deal with multiple inputs that can overlap eachother. Fixes #7036.
* warp_to_constraint_cursor_hint: Handle NULL viewLibravatar Alexander Orzechowski2023-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* Use correct length for strncmp comparisonLibravatar Carl Smedstad2023-01-03
|
* Replace math functions that promote float to doubleLibravatar Carl Smedstad2023-01-03
|
* Remove redundant return statementsLibravatar Carl Smedstad2023-01-03
|
* Make cmd_handler.command constLibravatar Carl Smedstad2023-01-03
|
* Add missing includes & remove duplicatesLibravatar Carl Smedstad2023-01-03
|
* Remove duplicate declarationsLibravatar Carl Smedstad2023-01-03
|
* tree/container: drop unnecessary check in container_get_siblings()Libravatar Simon Ser2023-01-03
| | | | | | The check for container->pending.workspace already covers this. References: https://github.com/swaywm/sway/pull/7315#issuecomment-1341716204
* man: fix typo in output disable docsLibravatar Simon Ser2023-01-03
|
* swaynag: drop swaynag_type.fontLibravatar Simon Ser2022-12-22
| | | | It's too easy to have this go out of sync with font_description.
* swaynag: fix NULL font descriptionLibravatar Simon Ser2022-12-22
| | | | | | | The font description was only set if provided on the CLI. It was left NULL for the defaults and when reading from the config file. Closes: https://github.com/swaywm/sway/issues/7186
* seat: Set keyboard if seat keyboard is NULLLibravatar Kenny Levinsen2022-12-19
| | | | | | | | | | | | | | | 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
* commands/move: Warp cursor after moving workspace to another outputLibravatar Ankit Pandey2022-12-19
| | | | | | | This makes sway's behavior consistent with i3 when `mouse_warping` is set to any value besides `none`. Fixes #7027.
* Fix input command order (rotation_angle)Libravatar Baltazár Radics2022-12-09
| | | | | | efd83cb8 added the rotation_angle command but it didn't insert it in the proper place in the list, so the repeat_delay and repeat_rate commands became unusable.
* Add libinput RotationAngleLibravatar Lucas Zampieri2022-12-09
| | | | | | This patch adds the libinput option RotationAngle to sway. Signoff-by: Lucas Zampieri <lzampier@redhat.com>
* criteria: be lenient on window_role and instance tooLibravatar Ronan Pigott2022-12-08
|
* ci: install Xwayland .pc fileLibravatar Simon Ser2022-12-08
| | | | See https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3621
* Add `primary_selection` config optionLibravatar Aidan Dang2022-12-05
| | | | | | | | | | | | See: https://github.com/swaywm/sway/issues/4511 Adds a bool config option `primary_selection`, which explicitly enables/disables the primary selection clipboard. Defaults to enabled. This is implemented as a launch-only option which enables or disables the creation of the `zwp_primary_selection_device_manager_v1` global. Co-authored-by: Tilde Rose <t1lde@protonmail.com>
* seat: Avoid sending redundant keymaps on reloadLibravatar Kenny Levinsen2022-12-04
| | | | | | | | | | | | | | | | | | | 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
* sway/lock: handle mode in output commit handlerLibravatar Simon Zeni2022-12-01
|
* sway/desktop/output: listen to output mode in commit handleLibravatar Simon Zeni2022-12-01
|
* Chase breaking changes in wlroots!3903Libravatar Simon Ser2022-11-30
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3903
* Fix typo in Czech README translationLibravatar AsciiWolf2022-11-30
|
* build: fix have_xwayland when xcb-icccm is not foundLibravatar Simon Ser2022-11-29
| | | | xcb-icccm is required to build Xwayland support.
* build: move completions to separate fileLibravatar Simon Ser2022-11-28
|
* Fix build on Debian StableLibravatar nerdopolis2022-11-28
|
* build: remove trailing newline at end of fileLibravatar Simon Ser2022-11-28
|
* Make libinput backend optionalLibravatar Simon Ser2022-11-28
|
* Make session optionalLibravatar Simon Ser2022-11-28
|
* Make DRM backend optionalLibravatar Simon Ser2022-11-28
|