summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* build: bump version to 1.8-rc31.8-rc3Libravatar Simon Ser2022-12-12
|
* criteria: be lenient on window_role and instance tooLibravatar Ronan Pigott2022-12-12
|
* seat: Avoid sending redundant keymaps on reloadLibravatar Kenny Levinsen2022-12-12
| | | | | | | | | | | | | | | | | | | 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
* build: bump version to 1.8-rc21.8-rc2Libravatar Simon Ser2022-12-03
|
* build: fix have_xwayland when xcb-icccm is not foundLibravatar Simon Ser2022-12-03
| | | | | | xcb-icccm is required to build Xwayland support. Backported from commit d41f11e6bd8cef80f02dda4c66d4a31611aed753.
* Fix build on Debian StableLibravatar nerdopolis2022-11-29
| | | | (cherry picked from commit dca0bb5749bc16f91ab964fc1b06ebb9a453368f)
* build: bump version to 1.8-rc11.8-rc1Libravatar Simon Ser2022-11-26
|
* build: drop unused wayland-egl dependencyLibravatar Simon Ser2022-11-26
| | | | (cherry picked from commit 37e4a3d6370dc6ba2b0877d588845c06781e880e)
* swaybar: Make hotspots block bar release bindingsLibravatar Joan Bruguera2022-11-26
| | | | | | | | | | | | | | | | | | | | | | | The previous commit prioritized hotspots before bar bindings for press events, which matches i3's behaviour. However, since hotspots don't need to do any processing on release events, those were not handled, and simply fell through to `bindsym --release` bar bindings (if any). This is counter-intuitive, and doesn't match i3's behaviour. Instead in case a hotspot handles the press event, it should also handle the release event, doing nothing, but blocking the event from triggering a --release bar binding. E.g., in Sway, without this commit, this config. shows a text on tray clicks: bar { # ... bindsym --release button1 exec swaynag -m I_got_the_release_event. } But the same configuration in i3 (with i3-nagbar) doesn't show the text. Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com> (cherry picked from commit 94b69acf0d7b26ee5af2172300cb18473508da76)
* swaybar: Prioritize hotspot events to bar bindingsLibravatar Joan Bruguera2022-11-26
| | | | | | | | | | | | | | | | | | This is consistent with i3bar's behaviour, and for example, allows binding a command to button1, while still being able to click on tray icons or other zones on the bar's status line which may have their own bindings. E.g., in Sway, without this commit, this config. makes tray icons unclickable: bar { # ... bindsym button1 exec swaynag -m You_clicked_the_tray._Want_some_help? } But the same configuration in i3 (with i3-nagbar) keeps tray items clickable. Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com> (cherry picked from commit 53f9dbd424dc173a85c9f4cd30802259d38b1ef4)
* launcher: export X startup ids and use them for workspace matchingLibravatar Ronan Pigott2022-11-26
| | | | (cherry picked from commit 28fda4c0d38907fab94dc7d82c9dcf0754748b4e)
* launcher: export xdga tokens and use them for workspace matchingLibravatar Ronan Pigott2022-11-26
| | | | (cherry picked from commit 30ad4dc4a5a41ce7c7aa85096a6e18f374172983)
* launcher: fudge the interface a bitLibravatar Ronan Pigott2022-11-26
| | | | | | We want to create a context before knowing the pid it will match with. (cherry picked from commit bdeb9f95651f6c99cc2f4cfb59020ddee202cf36)
* launcher: initialize launcher_ctxs once on startupLibravatar Ronan Pigott2022-11-26
| | | | (cherry picked from commit 66568508c06267445489d655c91c94a34d6d9ffe)
* view: associate launch contexts with viewsLibravatar Ronan Pigott2022-11-26
| | | | | | | | | 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)
* launcher: rename pid_workspace to launcher_ctxLibravatar Ronan Pigott2022-11-26
| | | | | | Soon we will match views with more than just a pid. (cherry picked from commit d75c9f9722389d441fd24bd490c5cf12c4bef39a)
* launcher: use xdga tokensLibravatar Ronan Pigott2022-11-26
| | | | | | | This reuses wlroots token tracking for workspace matching. It doesn't export any xdga tokens for clients yet. (cherry picked from commit bd66f4943da1c96edc3ba49573e27b42b688c543)
* launcher: track workspaces by nodeLibravatar Ronan Pigott2022-11-26
| | | | | | | | | | | | 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)
* node: prettify node type namesLibravatar Ronan Pigott2022-11-26
| | | | (cherry picked from commit 1c4b94ae3ca94b972410c80a61404a347af1ee68)
* root: move the workspace matching code to its own fileLibravatar Ronan Pigott2022-11-26
| | | | | | | | | This removes the pid_workspace bits from tree/root before it gets too interesting. No functional change. (cherry picked from commit eb5021ef990fb29ff86544aea58d687ad62c757a)
* build: drop intermediate libraries for protocolsLibravatar Simon Ser2022-11-26
| | | | (cherry picked from commit af8a5a8918ef42336194fb1077b008a736de7af9)
* build: drop "server" from target name for protocol codeLibravatar Simon Ser2022-11-26
| | | | (cherry picked from commit e5475d9310941ce88ed016ce1515b36e3a440252)
* build: unify server & client protocol generationLibravatar Simon Ser2022-11-26
| | | | | | | No need to make a difference here, let's just generate header files for both. (cherry picked from commit 5be5a038da8a3789a19945719f2a27233291445d)
* build: drop wayland-scanner fallbackLibravatar Simon Ser2022-11-26
| | | | (cherry picked from commit 366f6ef3d31688631dc453028e108f98a1d7ab57)
* Use shm_open instead of mkstempLibravatar Manuel Stoeckl2022-11-26
| | | | | | | shm_open is more reliable because it does not require a writeable filesystem folder, unlike mkstemp. (cherry picked from commit e2bc8866f46701e9c825ad7fa5baac02b2e4898f)
* output: set damage ring bounds to pixel valuesLibravatar Kirill Primak2022-11-26
| | | | | Fixes: https://github.com/swaywm/sway/issues/7254 (cherry picked from commit 85005b52fe5b832e4ea914fa28048b0c5c803769)
* workspace_create: Don't allow NULL nameLibravatar Alexander Orzechowski2022-11-26
| | | | (cherry picked from commit 34933bb84350fe805d82276ea02d5732546e9993)
* ci: checkout wlroots 0.16.0Libravatar Simon Ser2022-11-11
|
* container_get_siblings: handle NULL workspaceLibravatar Baltazár Radics2022-11-11
|
* lock: fix crash on output destroyLibravatar Simon Ser2022-11-11
| | | | Closes: https://github.com/swaywm/sway/issues/7120
* Use wlr_damage_ringLibravatar Kirill Primak2022-11-11
| | | wlr_output_damage is to be replaced with wlr_damage_ring, so use that.
* Use wl_signal_emit_mutable()Libravatar Simon Ser2022-11-10
| | | | | This function fixes segfaults when emitting a signal potentially removes arbitrary listeners.
* ci: install hwdataLibravatar Kirill Primak2022-11-09
|
* criteria: allow matching for NULL string criteriaLibravatar Callum Andrew2022-11-04
|
* criteria: allow matching on empty (NULL) titlesLibravatar Puck Meerburg2022-10-30
|
* tree: support formatting null titlesLibravatar Puck Meerburg2022-10-30
| | | | | | 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 libinput's 1.21 new dwtp optionLibravatar pudiva chip líquida2022-10-30
| | | | | | | | | 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
* container_floating_set_default_size: Store workspace size box on the stackLibravatar Alexander Orzechowski2022-10-29
|
* Fix focus tracking when session lock is activeLibravatar Daniel De Graaf2022-10-28
| | | | | | | | | 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.
* Rework session lock keyboard focus handlingLibravatar Daniel De Graaf2022-10-28
| | | | | | | 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.
* Fix keymap being NULL and segfaulting on dev addLibravatar Yaroslav de la Peña Smirnov2022-10-23
| | | | | | Moved `libinput_config` to the callers of `sway_input_configure_libinput_device` so that we send the event after the added event.
* input: tweak focus behavior to allow focusing parent containersLibravatar Tudor Brindus2022-10-21
| | | | | | | | | | 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.
* Add support for ext-idle-notify-v1Libravatar Simon Ser2022-10-14
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
* Avoid double free in criteria_destroy()Libravatar cparm2022-10-13
|
* Fix leaks in criteria_destroy()Libravatar Simon Ser2022-10-10
|
* input: focus container when scrolling on titlebarLibravatar Tudor Brindus2022-10-10
| | | | Fixes #6503.
* input: focus floating container when clicked on borderLibravatar Tudor Brindus2022-10-10
| | | | Fixes #7209.
* Use keyboard_state.focused_surface directlyLibravatar Ferdinand Schober2022-10-09
|
* use seat directlyLibravatar Ferdinand Schober2022-10-09
|
* check for NULLLibravatar Ferdinand Schober2022-10-09
|