https://github.com/swaywm/sway

sort by:
Revision Author Date Message Commit Date
fb1cb0a build: bump version to 1.8-rc2 03 December 2022, 16:56:30 UTC
194fdc6 build: fix have_xwayland when xcb-icccm is not found xcb-icccm is required to build Xwayland support. Backported from commit d41f11e6bd8cef80f02dda4c66d4a31611aed753. 03 December 2022, 16:48:41 UTC
baf027f Fix build on Debian Stable (cherry picked from commit dca0bb5749bc16f91ab964fc1b06ebb9a453368f) 28 November 2022, 23:09:44 UTC
27a56e6 build: bump version to 1.8-rc1 26 November 2022, 22:27:03 UTC
6afe74f build: drop unused wayland-egl dependency (cherry picked from commit 37e4a3d6370dc6ba2b0877d588845c06781e880e) 26 November 2022, 22:26:47 UTC
0a9b468 swaybar: Make hotspots block bar release bindings 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) 26 November 2022, 09:29:59 UTC
b92af7e swaybar: Prioritize hotspot events to bar bindings 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) 26 November 2022, 09:29:59 UTC
d5872d0 launcher: export X startup ids and use them for workspace matching (cherry picked from commit 28fda4c0d38907fab94dc7d82c9dcf0754748b4e) 26 November 2022, 09:29:59 UTC
97423ca launcher: export xdga tokens and use them for workspace matching (cherry picked from commit 30ad4dc4a5a41ce7c7aa85096a6e18f374172983) 26 November 2022, 09:29:59 UTC
ee9266c launcher: fudge the interface a bit We want to create a context before knowing the pid it will match with. (cherry picked from commit bdeb9f95651f6c99cc2f4cfb59020ddee202cf36) 26 November 2022, 09:29:59 UTC
66be031 launcher: initialize launcher_ctxs once on startup (cherry picked from commit 66568508c06267445489d655c91c94a34d6d9ffe) 26 November 2022, 09:29:59 UTC
5794a22 view: associate launch contexts with views 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) 26 November 2022, 09:29:59 UTC
9d78ede launcher: rename pid_workspace to launcher_ctx Soon we will match views with more than just a pid. (cherry picked from commit d75c9f9722389d441fd24bd490c5cf12c4bef39a) 26 November 2022, 09:29:59 UTC
cb13b9d launcher: use xdga tokens This reuses wlroots token tracking for workspace matching. It doesn't export any xdga tokens for clients yet. (cherry picked from commit bd66f4943da1c96edc3ba49573e27b42b688c543) 26 November 2022, 09:29:59 UTC
69abc41 launcher: track workspaces by node 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) 26 November 2022, 09:29:59 UTC
16b391d node: prettify node type names (cherry picked from commit 1c4b94ae3ca94b972410c80a61404a347af1ee68) 26 November 2022, 09:29:59 UTC
25f559d root: move the workspace matching code to its own file This removes the pid_workspace bits from tree/root before it gets too interesting. No functional change. (cherry picked from commit eb5021ef990fb29ff86544aea58d687ad62c757a) 26 November 2022, 09:29:59 UTC
52166bc build: drop intermediate libraries for protocols (cherry picked from commit af8a5a8918ef42336194fb1077b008a736de7af9) 26 November 2022, 09:29:58 UTC
2a6bcc6 build: drop "server" from target name for protocol code (cherry picked from commit e5475d9310941ce88ed016ce1515b36e3a440252) 26 November 2022, 09:29:58 UTC
61e4e65 build: unify server & client protocol generation No need to make a difference here, let's just generate header files for both. (cherry picked from commit 5be5a038da8a3789a19945719f2a27233291445d) 26 November 2022, 09:29:58 UTC
ceece55 build: drop wayland-scanner fallback (cherry picked from commit 366f6ef3d31688631dc453028e108f98a1d7ab57) 26 November 2022, 09:29:58 UTC
9f42298 Use shm_open instead of mkstemp shm_open is more reliable because it does not require a writeable filesystem folder, unlike mkstemp. (cherry picked from commit e2bc8866f46701e9c825ad7fa5baac02b2e4898f) 26 November 2022, 09:29:58 UTC
68b4ed3 output: set damage ring bounds to pixel values Fixes: https://github.com/swaywm/sway/issues/7254 (cherry picked from commit 85005b52fe5b832e4ea914fa28048b0c5c803769) 26 November 2022, 09:29:58 UTC
5a2563b workspace_create: Don't allow NULL name (cherry picked from commit 34933bb84350fe805d82276ea02d5732546e9993) 26 November 2022, 09:29:58 UTC
0143c7a ci: checkout wlroots 0.16.0 11 November 2022, 21:30:10 UTC
5c239ea container_get_siblings: handle NULL workspace 11 November 2022, 17:57:29 UTC
d945c8f lock: fix crash on output destroy Closes: https://github.com/swaywm/sway/issues/7120 11 November 2022, 16:01:50 UTC
7862fa6 Use wlr_damage_ring wlr_output_damage is to be replaced with wlr_damage_ring, so use that. 11 November 2022, 15:29:04 UTC
dcd2076 Use wl_signal_emit_mutable() This function fixes segfaults when emitting a signal potentially removes arbitrary listeners. 10 November 2022, 19:27:38 UTC
6c3b357 ci: install hwdata 09 November 2022, 09:43:44 UTC
3e19836 criteria: allow matching for NULL string criteria 04 November 2022, 09:02:11 UTC
e40eb33 criteria: allow matching on empty (NULL) titles 30 October 2022, 09:57:19 UTC
0fdeb4c tree: support formatting null titles 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. 30 October 2022, 09:57:19 UTC
7cc8ab6 Support libinput's 1.21 new dwtp option 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 30 October 2022, 09:56:34 UTC
a61815d container_floating_set_default_size: Store workspace size box on the stack 28 October 2022, 22:47:01 UTC
8aa89dc Fix focus tracking when session lock is active 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. 28 October 2022, 17:41:24 UTC
8f7bb14 Rework session lock keyboard focus handling 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. 28 October 2022, 17:41:24 UTC
9d99bb9 Fix keymap being NULL and segfaulting on dev add Moved `libinput_config` to the callers of `sway_input_configure_libinput_device` so that we send the event after the added event. 23 October 2022, 09:56:29 UTC
5e514e6 input: tweak focus behavior to allow focusing parent containers 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. 21 October 2022, 08:05:00 UTC
9400bd9 Add support for ext-idle-notify-v1 References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753 14 October 2022, 13:56:07 UTC
99fd096 Avoid double free in criteria_destroy() 13 October 2022, 12:56:10 UTC
7a6afc5 Fix leaks in criteria_destroy() 10 October 2022, 13:51:01 UTC
c7bced9 input: focus container when scrolling on titlebar Fixes #6503. 10 October 2022, 06:56:51 UTC
09354db input: focus floating container when clicked on border Fixes #7209. 10 October 2022, 06:55:21 UTC
99acdb4 Use keyboard_state.focused_surface directly 09 October 2022, 08:07:51 UTC
be77078 use seat directly 09 October 2022, 08:07:51 UTC
e2bb579 check for NULL 09 October 2022, 08:07:51 UTC
d565994 allow pointer_constraints on layer_shell surfaces 09 October 2022, 08:07:51 UTC
07c827b Improve Japanese translation 08 October 2022, 08:12:00 UTC
b00b05f sway/commands/output: Add command for unplugging non-physical outputs 07 October 2022, 17:17:39 UTC
04f8a65 build: simplify protocol paths No need for arrays here. 04 October 2022, 07:48:29 UTC
78b5c0a swaymsg: show mode picture aspect ratio 03 October 2022, 11:35:52 UTC
f70d1e1 ipc: expose mode picture aspect ratio 03 October 2022, 11:35:52 UTC
b0fc834 man: Add XWayland information 25 September 2022, 18:05:16 UTC
cffb006 swaymsg: show non-desktop property when pretty printing outputs 19 September 2022, 11:26:45 UTC
52f0e3a sway: add non-desktop outputs to json when running `swaymsg -t get_outputs` 19 September 2022, 11:26:45 UTC
c015db4 sway: Add non-desktop-output type 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` 19 September 2022, 11:26:45 UTC
1c368fb Fix crash in xdg_activation_v1.c wlr_xdg_surface_from_wlr_surface() can return a NULL pointer, so check for NULL before dereferencing it. 12 September 2022, 21:59:18 UTC
07bfeb2 config/output: test adaptive sync Required for [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3637 30 August 2022, 18:15:29 UTC
aaa6c4a ipc: drop WLR_OUTPUT_ADAPTIVE_SYNC_UNKNOWN case This has been removed from wlroots. 30 August 2022, 18:15:29 UTC
6e02325 man: sway(5) move fixes 11 August 2022, 06:21:37 UTC
ebf441b sway-output.5: improve display of parameter Since "width" and "height" are separate parameters, show them as such. 08 August 2022, 06:03:27 UTC
89d73be Enable single-pixel-buffer-v1 References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3428 04 August 2022, 16:44:58 UTC
9e87924 grimshot: fix tilde expansion within quotes 30 July 2022, 07:25:24 UTC
a5a44ba ipc: make get_deco_rect check config->hide_lone_tab Without this, the `IPC_GET_TREE` ipc call would return false information about the container's `deco_rect` and `rect` properties if `hide_edge_borders --i3` was in effect. 26 July 2022, 10:06:10 UTC
e98b97a swaymsg: fix floating_nodes being ignored Fix floating_nodes being ignored in pretty_print_tree. 26 July 2022, 08:56:50 UTC
6b97c4f input: chase delta_discrete semantics change 15 July 2022, 18:14:41 UTC
8d8a21c fix: remove redundant empty statement in main.c This semi-colon looks like a typo. Luckily, it has no effect on the code as it's treated as an empty statement leading the switch case. Really straightforward nitpick change, was just something I was confused by when reading over the code. 12 July 2022, 14:07:51 UTC
b69d637 Remove internal references to DPMS While at it, use an int for the config field, just like we do for all other fields. 04 July 2022, 18:58:24 UTC
798e3c8 config.in: switch to `output power` 04 July 2022, 18:58:24 UTC
11e05c5 ipc: add "power" to output reply 04 July 2022, 18:58:24 UTC
80e386f Reuse parsed PangoFontDescription Avoids parsing the configured font each time text is rendered. 01 July 2022, 11:05:58 UTC
7560549 Reject font values that are invalid for pango Use pango to parse font configuration early, and reject the command as invalid if the value is invalid for pango. Since we're already parsing the font into a `PangoFontDescription`, keep that instance around and avoid re-parsing the font each time we render text. Fixes: https://github.com/swaywm/sway/issues/6805 01 July 2022, 11:05:58 UTC
9e8866a Avoid unecessary string copy 01 July 2022, 11:05:58 UTC
a55472c Strip quotes in bindsym --input-device=... If the input device is quoted, which is common when using variables in the config file, those quotes must be ignored here, or the input device will be ignored. Fixes #7029. 25 June 2022, 09:27:49 UTC
445bc2a Rename dpms output command to power The "dpms" command refers to VESA Display Power Management Signaling, a deprecated standard. It's superseded by VESA DPM. Instead of tying out command name to a particular standard, use the neutral term "power". 23 June 2022, 18:47:50 UTC
122d8ce Remove access to wlr_input_device union References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3626 Closes: https://github.com/swaywm/sway/issues/7077 22 June 2022, 16:44:15 UTC
49cef51 Allocate enough space for `cmd_results->error` 16 June 2022, 07:32:44 UTC
1c69d0e config/output: use wlr_output_commit_state This makes the code more robust because we don't potentially leave bad state in wlr_output.pending behind anymore. This also fixes a bug. Closes: https://github.com/swaywm/sway/issues/7043 References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3610 10 June 2022, 09:35:30 UTC
956b689 swaynag: move close_button up to fix SIGSEGV When swaynag_parse_options encounters '--dismiss-button' (or its shorthand '-s'), it sets the text of the first button in the swaynag.buttons list, which is expected to exist and to be the dismiss button, to the one passed by the user. Commit 4780afb68b4ee2cdf0e4925f40cf885819f8a74a ("swaynag: statically allocate button_close, and move declaration") moved the list initialization to after swaynag_parse_options is called which made that code fail. For example, the command 'swaynag --dismiss-button Dismiss' crashes and 'swaynag --message Message --button Yes "" --dismiss-button Dismiss' shows the wrong buttons. Move it back to before swaynag_parse_options is called. 05 June 2022, 17:05:26 UTC
e572805 Refuse to start when SUID is detected This ensures that those surprised by the deprecation of SUID operation receive an error rather than accidentally having sway run as root. This detection will be removed in a future release. 03 June 2022, 10:37:40 UTC
251a648 ipc: remove chatty debug log messages These aren't particularly useful, and clobber the debug logs. 30 May 2022, 16:44:18 UTC
a5c2e9f build: link with -pthread Fixes the following FreeBSD error: ld: error: undefined symbol: pthread_getschedparam >>> referenced by realtime.c:25 (../sway/realtime.c:25) >>> sway/sway.p/realtime.c.o:(set_rr_scheduling) Fixes: a3a82efbf6b5 ("realtime: request SCHED_RR using CAP_SYS_NICE") 30 May 2022, 16:40:26 UTC
cab2189 sway: add bindgesture command Co-authored-by: Michael Weiser <michael.weiser@gmx.de> 30 May 2022, 10:20:43 UTC
a535ed3 Add a Hindi (हिन्दी) translation to the README Hindi is one of the most prominent languages of the Indian Subcontinent. This commit adds the translation of the README into the Hindi language. Some of the words are still written in English because there wasn't an appropriate technical term of the word in the language. Co-authored-by: Surendrajat <surendrajat@protonmail.com> 27 May 2022, 19:09:18 UTC
6a59e38 xdg-shell: schedule a configure on maximize request This commit reverts 03879290dbee26127f6867ef60bc2a7f9a6c8c5f and fc84bcb7fb0ffa29b1f9bed287762241a3473803. 27 May 2022, 13:49:57 UTC
26a0e97 chore: chase wlroots xdg-shell update 27 May 2022, 13:42:22 UTC
d0b9bf9 Handle NULL output make/model/serial 26 May 2022, 19:42:56 UTC
f0d57da De-duplicate IPC output descriptions 26 May 2022, 19:42:56 UTC
42b61ab Polish the language in README.zh-CN.md & sync with English one Co-Authored-By: Urey. Xue <urey.s.knowledge@gmail.com> 24 May 2022, 05:40:47 UTC
75b2d0b ext-session-lock: disable direct scan-out when locked 23 May 2022, 06:15:51 UTC
a3a82ef realtime: request SCHED_RR using CAP_SYS_NICE Try to gain SCHED_RR (round-robin) realtime scheduling privileges before starting the server. This requires CAP_SYS_NICE on Linux systems. We additionally register a pthread_atfork callback which resets the scheduling class back to SCHED_OTHER (the Linux system default). Due to CAP_SYS_NICE, setting RLIMIT_RTPRIO has no effect on the process as documented within man 7 sched (from Linux): Privileged (CAP_SYS_NICE) threads ignore the RLIMIT_RTPRIO limit; as with older kernels, they can make arbitrary changes to scheduling policy and priority. See getrlimit(2) for further information on RLIMIT_RTPRIO Note that this requires the sway distribution packagers to set the CAP_SYS_NICE capability on the sway binary. Supersedes #6992 18 May 2022, 09:20:17 UTC
3f60056 server: request xdg-shell v2 Wlroots does not yet support the newer xdg-shell versions and now requires the compositor to set the supported xdg-shell version during creation. Set this to v2 for sway as well. Fixes https://github.com/swaywm/sway/issues/7001 16 May 2022, 15:20:39 UTC
ffc603d man: Fix trailing spaces 11 May 2022, 17:55:51 UTC
28941ce Add descriptions for `stacking` and `tabbed` layouts Resolves #5918 11 May 2022, 17:07:54 UTC
1e9be01 Replace strncpy with memcpy strncpy is useless here, is dangerous because it doesn't guarantee that the string is NUL-terminated and causes the following warning: ../sway/criteria.c: In function ‘criteria_parse’: ../sway/criteria.c:712:25: error: ‘strncpy’ destination unchanged after copying no bytes [-Werror=stringop-truncation] 712 | strncpy(value, valuestart, head - valuestart); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11 May 2022, 15:47:49 UTC
7cfa150 config: Remove unused mouse binding structure Mouse bindings are handled alongside normal bindings. Remove the unused separate data structure definition to avoid confusion. Signed-off-by: Michael Weiser <michael.weiser@gmx.de> 11 May 2022, 08:19:27 UTC
c85d9af swaynag: combine consecutive declaration/assignments 07 May 2022, 13:57:18 UTC
e8028be swaynag: improve robustness when loading config 07 May 2022, 13:57:18 UTC
5d924f2 swaynag: do error checking and rename read_from_stdin read_from_stdin not only read from stdin, but trimming trailing newlines, so rename it to reflect this. 07 May 2022, 13:57:18 UTC
back to top