aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2022-12-22swaynag: drop swaynag_type.fontSimon Ser-12/+5
It's too easy to have this go out of sync with font_description.
2022-12-22swaynag: fix NULL font descriptionSimon Ser-0/+7
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
2022-12-19seat: Set keyboard if seat keyboard is NULLKenny Levinsen-0/+7
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-0/+3
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-1/+1
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-0/+56
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-2/+2
2022-12-08ci: install Xwayland .pc fileSimon Ser-1/+2
See https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3621
2022-12-05Add `primary_selection` config optionAidan Dang-2/+37
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-6/+16
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-10/+0
2022-12-01sway/desktop/output: listen to output mode in commit handleSimon Zeni-6/+5
2022-11-30Chase breaking changes in wlroots!3903Simon Ser-2/+2
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3903
2022-11-30Fix typo in Czech README translationAsciiWolf-1/+1
2022-11-29build: fix have_xwayland when xcb-icccm is not foundSimon Ser-1/+1
xcb-icccm is required to build Xwayland support.
2022-11-28build: move completions to separate fileSimon Ser-55/+58
2022-11-28Fix build on Debian Stablenerdopolis-0/+1
2022-11-28build: remove trailing newline at end of fileSimon Ser-1/+0
2022-11-28Make libinput backend optionalSimon Ser-8/+59
2022-11-28Make session optionalSimon Ser-2/+7
2022-11-28Make DRM backend optionalSimon Ser-5/+28
2022-11-28Make GLES2 optionalSimon Ser-16/+26
2022-11-28Translate README to CzechAsciiWolf-1/+97
2022-11-26build: bump version to 1.9-devSimon Ser-1/+1
2022-11-26build: drop unused wayland-egl dependencySimon Ser-1/+0
2022-11-26swaybar: Make hotspots block bar release bindingsJoan Bruguera-15/+31
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-11/+9
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-1/+43
2022-11-26launcher: export xdga tokens and use them for workspace matchingRonan Pigott-2/+38
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.
2022-11-26launcher: initialize launcher_ctxs once on startupRonan Pigott-12/+13
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.
2022-11-26launcher: rename pid_workspace to launcher_ctxRonan Pigott-96/+106
Soon we will match views with more than just a pid.
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.
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.
2022-11-26node: prettify node type namesRonan Pigott-4/+4
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.
2022-11-25build: drop intermediate libraries for protocolsSimon Ser-30/+6
2022-11-25build: drop "server" from target name for protocol codeSimon Ser-1/+1
2022-11-25build: unify server & client protocol generationSimon Ser-10/+0
No need to make a difference here, let's just generate header files for both.
2022-11-25build: drop wayland-scanner fallbackSimon Ser-9/+5
2022-11-25Use shm_open instead of mkstempManuel Stoeckl-35/+31
shm_open is more reliable because it does not require a writeable filesystem folder, unlike mkstemp.
2022-11-15Update for wlroots!3814Simon Ser-8/+5
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814
2022-11-15ipc: add view content typeSimon Ser-0/+30
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3599
2022-11-15Listen to the output request_state eventSimon Ser-0/+11
References: https://github.com/swaywm/wlroots/pull/2693
2022-11-15input/seat: locally compute drag icon offsetSimon Ser-4/+8
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3861
2022-11-14sway/server: specify wlr-layer-shell version on creationSimon Zeni-3/+5
2022-11-12output: set damage ring bounds to pixel valuesKirill Primak-7/+7
Fixes: https://github.com/swaywm/sway/issues/7254
2022-11-11workspace_create: Don't allow NULL nameAlexander Orzechowski-1/+3
2022-11-11build: bump wlroots dependency to 0.17.0Joe Kappus-1/+1