aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-12-19seat: Set keyboard if seat keyboard is NULLKenny Levinsen
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
2022-12-19commands/move: Warp cursor after moving workspace to another outputAnkit Pandey
This makes sway's behavior consistent with i3 when `mouse_warping` is set to any value besides `none`. Fixes #7027.
2022-12-09Fix input command order (rotation_angle)Baltazár Radics
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.
2022-12-09Add libinput RotationAngleLucas Zampieri
This patch adds the libinput option RotationAngle to sway. Signoff-by: Lucas Zampieri <lzampier@redhat.com>
2022-12-08criteria: be lenient on window_role and instance tooRonan Pigott
2022-12-08ci: install Xwayland .pc fileSimon Ser
See https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3621
2022-12-05Add `primary_selection` config optionAidan Dang
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>
2022-12-04seat: Avoid sending redundant keymaps on reloadKenny Levinsen
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
2022-12-01sway/lock: handle mode in output commit handlerSimon Zeni
2022-12-01sway/desktop/output: listen to output mode in commit handleSimon Zeni
2022-11-30Chase breaking changes in wlroots!3903Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3903
2022-11-30Fix typo in Czech README translationAsciiWolf
2022-11-29build: fix have_xwayland when xcb-icccm is not foundSimon Ser
xcb-icccm is required to build Xwayland support.
2022-11-28build: move completions to separate fileSimon Ser
2022-11-28Fix build on Debian Stablenerdopolis
2022-11-28build: remove trailing newline at end of fileSimon Ser
2022-11-28Make libinput backend optionalSimon Ser
2022-11-28Make session optionalSimon Ser
2022-11-28Make DRM backend optionalSimon Ser
2022-11-28Make GLES2 optionalSimon Ser
2022-11-28Translate README to CzechAsciiWolf
2022-11-26build: bump version to 1.9-devSimon Ser
2022-11-26build: drop unused wayland-egl dependencySimon Ser
2022-11-26swaybar: Make hotspots block bar release bindingsJoan Bruguera
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>
2022-11-26swaybar: Prioritize hotspot events to bar bindingsJoan Bruguera
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>
2022-11-26launcher: export X startup ids and use them for workspace matchingRonan Pigott
2022-11-26launcher: export xdga tokens and use them for workspace matchingRonan Pigott
2022-11-26launcher: fudge the interface a bitRonan Pigott
We want to create a context before knowing the pid it will match with.
2022-11-26launcher: initialize launcher_ctxs once on startupRonan Pigott
2022-11-26view: associate launch contexts with viewsRonan Pigott
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.
2022-11-26launcher: rename pid_workspace to launcher_ctxRonan Pigott
Soon we will match views with more than just a pid.
2022-11-26launcher: use xdga tokensRonan Pigott
This reuses wlroots token tracking for workspace matching. It doesn't export any xdga tokens for clients yet.
2022-11-26launcher: track workspaces by nodeRonan Pigott
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.
2022-11-26node: prettify node type namesRonan Pigott
2022-11-26root: move the workspace matching code to its own fileRonan Pigott
This removes the pid_workspace bits from tree/root before it gets too interesting. No functional change.
2022-11-25build: drop intermediate libraries for protocolsSimon Ser
2022-11-25build: drop "server" from target name for protocol codeSimon Ser
2022-11-25build: unify server & client protocol generationSimon Ser
No need to make a difference here, let's just generate header files for both.
2022-11-25build: drop wayland-scanner fallbackSimon Ser
2022-11-25Use shm_open instead of mkstempManuel Stoeckl
shm_open is more reliable because it does not require a writeable filesystem folder, unlike mkstemp.
2022-11-15Update for wlroots!3814Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814
2022-11-15ipc: add view content typeSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3599
2022-11-15Listen to the output request_state eventSimon Ser
References: https://github.com/swaywm/wlroots/pull/2693
2022-11-15input/seat: locally compute drag icon offsetSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3861
2022-11-14sway/server: specify wlr-layer-shell version on creationSimon Zeni
2022-11-12output: set damage ring bounds to pixel valuesKirill Primak
Fixes: https://github.com/swaywm/sway/issues/7254
2022-11-11workspace_create: Don't allow NULL nameAlexander Orzechowski
2022-11-11build: bump wlroots dependency to 0.17.0Joe Kappus
2022-11-11container_get_siblings: handle NULL workspaceBaltazár Radics
2022-11-11lock: fix crash on output destroySimon Ser
Closes: https://github.com/swaywm/sway/issues/7120