aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2022-11-26launcher: fudge the interface a bitRonan Pigott-7/+9
We want to create a context before knowing the pid it will match with. (cherry picked from commit bdeb9f95651f6c99cc2f4cfb59020ddee202cf36)
2022-11-26launcher: initialize launcher_ctxs once on startupRonan Pigott-12/+13
(cherry picked from commit 66568508c06267445489d655c91c94a34d6d9ffe)
2022-11-26view: associate launch contexts with viewsRonan Pigott-39/+64
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)
2022-11-26launcher: rename pid_workspace to launcher_ctxRonan Pigott-96/+106
Soon we will match views with more than just a pid. (cherry picked from commit d75c9f9722389d441fd24bd490c5cf12c4bef39a)
2022-11-26launcher: use xdga tokensRonan Pigott-14/+19
This reuses wlroots token tracking for workspace matching. It doesn't export any xdga tokens for clients yet. (cherry picked from commit bd66f4943da1c96edc3ba49573e27b42b688c543)
2022-11-26launcher: track workspaces by nodeRonan Pigott-57/+77
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)
2022-11-26node: prettify node type namesRonan Pigott-4/+4
(cherry picked from commit 1c4b94ae3ca94b972410c80a61404a347af1ee68)
2022-11-26root: move the workspace matching code to its own fileRonan Pigott-188/+207
This removes the pid_workspace bits from tree/root before it gets too interesting. No functional change. (cherry picked from commit eb5021ef990fb29ff86544aea58d687ad62c757a)
2022-11-26build: drop intermediate libraries for protocolsSimon Ser-30/+6
(cherry picked from commit af8a5a8918ef42336194fb1077b008a736de7af9)
2022-11-26build: drop "server" from target name for protocol codeSimon Ser-1/+1
(cherry picked from commit e5475d9310941ce88ed016ce1515b36e3a440252)
2022-11-26build: unify server & client protocol generationSimon Ser-10/+0
No need to make a difference here, let's just generate header files for both. (cherry picked from commit 5be5a038da8a3789a19945719f2a27233291445d)
2022-11-26build: drop wayland-scanner fallbackSimon Ser-9/+5
(cherry picked from commit 366f6ef3d31688631dc453028e108f98a1d7ab57)
2022-11-26Use shm_open instead of mkstempManuel Stoeckl-35/+31
shm_open is more reliable because it does not require a writeable filesystem folder, unlike mkstemp. (cherry picked from commit e2bc8866f46701e9c825ad7fa5baac02b2e4898f)
2022-11-26output: set damage ring bounds to pixel valuesKirill Primak-7/+7
Fixes: https://github.com/swaywm/sway/issues/7254 (cherry picked from commit 85005b52fe5b832e4ea914fa28048b0c5c803769)
2022-11-26workspace_create: Don't allow NULL nameAlexander Orzechowski-1/+3
(cherry picked from commit 34933bb84350fe805d82276ea02d5732546e9993)
2022-11-11ci: checkout wlroots 0.16.0Simon Ser-3/+3
2022-11-11container_get_siblings: handle NULL workspaceBaltazár Radics-0/+3
2022-11-11lock: fix crash on output destroySimon Ser-3/+16
Closes: https://github.com/swaywm/sway/issues/7120
2022-11-11Use wlr_damage_ringKirill Primak-46/+81
wlr_output_damage is to be replaced with wlr_damage_ring, so use that.
2022-11-10Use wl_signal_emit_mutable()Simon Ser-9/+9
This function fixes segfaults when emitting a signal potentially removes arbitrary listeners.
2022-11-09ci: install hwdataKirill Primak-0/+3
2022-11-04criteria: allow matching for NULL string criteriaCallum Andrew-5/+5
2022-10-30criteria: allow matching on empty (NULL) titlesPuck Meerburg-1/+1
2022-10-30tree: support formatting null titlesPuck Meerburg-5/+7
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.
2022-10-30Support libinput's 1.21 new dwtp optionpudiva chip líquida-3/+74
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
2022-10-29container_floating_set_default_size: Store workspace size box on the stackAlexander Orzechowski-6/+4
2022-10-28Fix focus tracking when session lock is activeDaniel De Graaf-14/+15
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.
2022-10-28Rework session lock keyboard focus handlingDaniel De Graaf-14/+30
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.
2022-10-23Fix keymap being NULL and segfaulting on dev addYaroslav de la Peña Smirnov-8/+13
Moved `libinput_config` to the callers of `sway_input_configure_libinput_device` so that we send the event after the added event.
2022-10-21input: tweak focus behavior to allow focusing parent containersTudor Brindus-13/+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.
2022-10-14Add support for ext-idle-notify-v1Simon Ser-0/+7
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
2022-10-13Avoid double free in criteria_destroy()cparm-1/+0
2022-10-10Fix leaks in criteria_destroy()Simon Ser-0/+2
2022-10-10input: focus container when scrolling on titlebarTudor Brindus-5/+8
Fixes #6503.
2022-10-10input: focus floating container when clicked on borderTudor Brindus-0/+2
Fixes #7209.
2022-10-09Use keyboard_state.focused_surface directlyFerdinand Schober-14/+1
2022-10-09use seat directlyFerdinand Schober-2/+1
2022-10-09check for NULLFerdinand Schober-1/+1
2022-10-09allow pointer_constraints on layer_shell surfacesFerdinand Schober-6/+17
2022-10-08Improve Japanese translationohno418-10/+4
2022-10-07sway/commands/output: Add command for unplugging non-physical outputsAndri Yngvason-0/+57
2022-10-04build: simplify protocol pathsSimon Ser-17/+15
No need for arrays here.
2022-10-03swaymsg: show mode picture aspect ratioSimon Ser-2/+10
2022-10-03ipc: expose mode picture aspect ratioSimon Ser-14/+48
2022-09-25man: Add XWayland informationマリウス-5/+10
2022-09-19swaymsg: show non-desktop property when pretty printing outputsAlex Maese-2/+11
2022-09-19sway: add non-desktop outputs to json when running `swaymsg -t get_outputs`Alex Maese-4/+31
2022-09-19sway: Add non-desktop-output typeAlex Maese-0/+40
Currently, when encountering a non-desktop display, sway offers the output for leasing and returns without storing it in a sway specific output type like `struct sway_output`. Additionally, running `swaymsg -t get_outputs` doesn't show non-desktop outputs. This commit stores the non-desktop outputs into a struct called `sway_output_non_desktop`, and adds them to a list on `sway_root`
2022-09-13Fix crash in xdg_activation_v1.cFilip Szczepański-0/+3
wlr_xdg_surface_from_wlr_surface() can return a NULL pointer, so check for NULL before dereferencing it.
2022-08-30config/output: test adaptive syncSimon Ser-0/+4
Required for [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3637