https://github.com/swaywm/sway

sort by:
Revision Author Date Message Commit Date
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
a789863 Avoid inspecting a NULL view in seat_set_focus Fixes #6968 29 April 2022, 22:36:44 UTC
519038a Implement ext-session-lock-v1 29 April 2022, 07:06:36 UTC
70d30ac xkb_switch_layout: fix relative layout switches Fixes #6011 28 April 2022, 11:20:44 UTC
3caf691 Update grimshot.1.scd Fixed typo. The object is **files**, which is plural. **image** modifies files; it's not countable. 23 April 2022, 20:34:11 UTC
a5f01a0 Support cursor capture in grimshot Refactor argument parser Bring back `sh` compatibility Default to NOTIFY=no 21 April 2022, 08:41:48 UTC
2dace6b Add Swedish README 18 April 2022, 16:51:45 UTC
acdb48a Chase wlroots X11 hints update 18 April 2022, 06:57:16 UTC
d726e50 layer_shell: keep output non-NULL wherever possible Our layer shell implementation assigns every layer surface to an output on creation. It tracks this output using the output field on the underlying wlr_layer_surface_v1 structure. As such, much of the existing code assumes that output is always non-NULL and omits NULL checks accordingly. However, there are currently two cases where we destroy a sway_layer_surface and output is NULL. The first is when we can't find an output to assign the surface to and destroy it immediately after creation. The second is when we destroy a surface in response to its output getting destroyed, as we set output to NULL in handle_output_destroy() before we call wlr_layer_surface_v1_destroy(), which is what calls the appropriate unmap and destroy callbacks. The former case doesn't cause any problems, since we haven't even allocated a sway_layer_surface at that point or registered any callbacks. The latter case, however, currently triggers a crash (#6120) if a popup is visible, since our popup_handle_unmap() implementation can't handle a NULL output. To fix this issue, keep output set until right before we free the sway_layer_surface. All we need to do is remove some of the cleanup logic from handle_output_destroy(), since as of commit c9060bcc12d0 ("layer-shell: replace close() with destroy()") that same logic is guaranteed to be happen later when wlroots calls handle_destroy() as part of wlr_layer_surface_v1_destroy(). This lets us remove some NULL checks from other unmap/destroy callbacks, which is nice. We also don't need to check that the wlr_output points to a valid sway_output anymore, since we unset that pointer after disabling the output as of commit a0bbe67076b8 ("Address emersions comments on output re-enabling") Just to be safe, I've added assertions that the wlr_output is non-NULL wherever we use it. Fixes #6120. 13 April 2022, 08:05:24 UTC
cf413b9 Shuffle variables to satisfy -Werror=restrict This also fixes an invalid strlen invocation on uninitialized memory. 09 April 2022, 16:27:57 UTC
2018197 Avoid format-truncation warning The existing code gives this error when compiled with GCC 12: ../sway/server.c: In function ‘server_init’: ../sway/server.c:217:75: error: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size 8 [-Werror=format-truncation=] 217 | snprintf(name_candidate, sizeof(name_candidate), "wayland-%d", i); | ^~ ../sway/server.c:217:66: note: directive argument in the range [-2147483647, 32] 217 | snprintf(name_candidate, sizeof(name_candidate), "wayland-%d", i); | ^~~~~~~~~~~~ ../sway/server.c:217:17: note: ‘snprintf’ output between 10 and 20 bytes into a destination of size 16 217 | snprintf(name_candidate, sizeof(name_candidate), "wayland-%d", i); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Because i is never negative, this is a false positive, but it is easy to change i to unsigned to silence the error. 09 April 2022, 16:27:57 UTC
09553a7 Fix farsi label 07 April 2022, 17:36:46 UTC
8f036b6 sway/main: move constants off the stack This makes stack traces from gdb slightly easier to read. 29 March 2022, 06:42:17 UTC
fb3330c bash-completion: localize variables 27 March 2022, 09:27:57 UTC
6c4c038 sway/input: wlr_seat_keyboard() now takes wlr_keyboard 23 March 2022, 17:09:54 UTC
ca01668 sway/input: fix bad position of wlr_drag 22 March 2022, 08:00:28 UTC
440d0bc sway/input: follow up wlroots input device events renaming 17 March 2022, 18:52:59 UTC
49b3ac9 sway/input/seat: take output name from specialized input device 17 March 2022, 18:52:59 UTC
0345148 sway/input/cursor: take device mm size from wlr_tablet 17 March 2022, 18:52:59 UTC
1e79088 remove unnecessary strlen call 15 March 2022, 10:40:32 UTC
78758ef swaynag: remove redundant status variables in main Instead, we just use `status` for all failures. 15 March 2022, 10:40:32 UTC
20729a6 swaynag: remove unnecessary zero of swaynag struct Global variables are initialized to 0. 15 March 2022, 10:40:32 UTC
4780afb swaynag: statically allocate button_close, and move declaration Every swaynag has a close button, so it doesn't make sense to allocate it dynamically. The declaration is moved later to when it is actually needed. 15 March 2022, 10:40:32 UTC
0babfce swaynag: allocate button_details with details They are used together, so it doesn't make sense to allocate them separately. 15 March 2022, 10:40:32 UTC
f167acc Updating criteria checking with PCRE2 15 March 2022, 10:28:04 UTC
3dffe7f swaybar: set opaque region When the background color is fully opaque, set the surface's opaque region to the whole surface. 14 March 2022, 17:02:17 UTC
dd8b6f5 swaybar: remove swaybar_output.input_region No need to keep the region around, we can immediately destroy it after the wl_surface.set_input_region request. 14 March 2022, 17:01:29 UTC
f614f35 Replace pcre with pcre2 Closes: https://github.com/swaywm/sway/issues/6838 12 March 2022, 13:02:32 UTC
0467693 Remove WLR_SWITCH_STATE_TOGGLE usage Ref [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/4792446ee8f50104bd207d9ccd8558a7e4eb4514 08 March 2022, 18:24:11 UTC
9f98c38 commands/focus: fix segfault when no container is already focused. Fixes #6690. 07 March 2022, 01:24:16 UTC
3444ce7 sway/input: destroy sway_switch properly Fix: #6861 Added seat_device_destroy function to seat_device_destroy function. 05 March 2022, 19:39:47 UTC
d6f2799 sway/input: don't pass possibly invalid modifiers pointer active_keyboard may be NULL, in which case an invalid pointer could be passed to wlr_input_method_keyboard_grab_v2_send_modifiers. This procedure call is unnecessary since wlroots commit 372a52ec "input method: send modifiers in set_keyboard", so the call can simply be removed. Fixes #6836. 04 March 2022, 07:37:07 UTC
061ffc3 swaynag: die on all allocation failures 28 February 2022, 16:24:13 UTC
0ee54a5 Don't enter seatop_move_floating when fullscreen Currently, a floating window that's been fullscreened can send us xdg_toplevel::move, and we'll enter seatop_move_floating, which lets us drag the surface around while it's fullscreen. We don't want this--fullscreen surfaces should always be aligned to the screen--so add the same check that seatop_default already does when entering this mode. Tested with Weston's weston-fullscreen demo, which sends a move request if you click anywhere on its surface. 24 February 2022, 11:12:12 UTC
b38b845 Remove some erroneous apostrophes in comments 22 February 2022, 08:50:58 UTC
85d1c98 sway/input: use wlr_input_device from input device base 21 February 2022, 17:25:47 UTC
f899052 sway/commands: add missing wlr_keyboard interface include in xkb_switch_layout 21 February 2022, 17:25:47 UTC
f707f58 Remove all sprintf calls Replace them with snprintf, which ensures buffer overflows won't happen. 08 February 2022, 14:20:13 UTC
ac78923 Fix snprintf compiler warning 08 February 2022, 08:43:32 UTC
9a6687e xdg-shell: use wlr_xdg_popup in sway_xdg_popup Improved type safety. 07 February 2022, 20:22:16 UTC
f795aa1 xdg-shell: use wlr_xdg_toplevel in sway_view Improved type safety. Closes: https://github.com/swaywm/sway/issues/6813 07 February 2022, 20:22:16 UTC
5c00f1f readme: use relative links for translations 07 February 2022, 10:04:47 UTC
01706f7 readme: sort language list alphabetically 07 February 2022, 10:03:03 UTC
c256fd4 readme: add link to Italian translation 07 February 2022, 09:56:31 UTC
3a75b4a Translated README into Italian 07 February 2022, 09:55:55 UTC
36f5467 Minor update to focus_on_window_activation Removed xwayland limitation since wayland clients are supported via xdg-activation. 06 February 2022, 08:11:06 UTC
30d27b5 Chase wlroots xdg-shell refactor 03 February 2022, 20:01:28 UTC
ee7668c chore: chase wlr_output_layout_get_box() update https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3439 31 January 2022, 10:44:03 UTC
69b4302 xwayland: listen to `request_activate` event When REAPER submenu is closed `XCB_CLIENT_MESSAGE` with type `NET_ACTIVE_WINDOW` is sent to set focus to parent menu. Closes: https://github.com/swaywm/sway/issues/6324 31 January 2022, 10:23:36 UTC
518e18a Use bools for CLI flags 31 January 2022, 10:04:26 UTC
cd1ee0e swaynag: remove buffer destruction condition An address of a variable can never be NULL, so checking it doesn't make sense; and `destroy_buffer()` can operate on already destroyed buffers anyway. Fixes #6780 23 January 2022, 15:41:57 UTC
8ca2847 input/cursor: pass through pointer hold gestures This just follows swaywm/wlroots#3047, so `wl_pointer_gestures_v1` clients can be notified of these events. 22 January 2022, 22:43:46 UTC
feea4b4 cmd/swap: error on swapping a container with itself 22 January 2022, 18:08:15 UTC
b4fd4bc tray: do not render passive items https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem/#org.freedesktop.statusnotifieritem.status 19 January 2022, 08:20:27 UTC
a1905c6 build: execute wlroots subproject before finding deps wlroots often requires dependencies more recent than Sway's. Executing the wlroots subproject first will give Meson a chance to find these newer dependencies, possibly via subprojects. The subproject will override the "wlroots" dependency when executed, so we don't need to use get_variable anymore. References: https://github.com/swaywm/sway/pull/6498#issuecomment-1001746017 18 January 2022, 18:57:50 UTC
e4909ab transaction: destroying nodes aren't hidden Commit 37d7bc69986f ("transaction: Only wait for ack from visible views") introduced a check which uses view_is_visible() to check if a view is still visible on the screen. However view_is_visible() will early return in case the node is in the destroying state. This is incorrect for transactions, since a destroying view which is visible will trigger configure events for other clients. This bug was visible when repeatedly opening and closing two views side by side, since we ignore the destroying node we get a frame where the still open view is shown with the old configure values and the rest is the desktop background. The next frame is than correct again. Fix this by considering destroying views as visible, we correctly wait for them and send the configure events to other views in time, fixing the background flicker. Fixes #6473 18 January 2022, 18:42:15 UTC
b2ee964 treat fullscreen windows as 'tiled' for commands/focus 18 January 2022, 12:25:53 UTC
7d1ccaf input/cursor: treat swipe begin as idle activity too Accidentally overlooked in fd53f80. 17 January 2022, 22:17:36 UTC
fd53f80 input/cursor: count pointer gestures as idle activity Fixes https://github.com/swaywm/sway/issues/6765. 17 January 2022, 22:05:19 UTC
0ffd817 commands/focus: drop trailing whitespace 16 January 2022, 18:15:57 UTC
d6f8820 Upgrade for wlroots surface refactoring See [1] for details. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3412 13 January 2022, 11:01:37 UTC
dbaf2e4 build: fix building with basu 02b412a introduced the use of list for sdbus deps, however it was assuming that all packages which were in a list has a version higher than 239. That is true for libsystemd and libelogind, since they use the same versions, however basu is using version numbers which are way lower than what libsystemd/libelogind are using, so basu only build is failing. 12 January 2022, 16:25:34 UTC
aa44362 xdg-shell: use toplevel geometry to adjust the popup box `popup_unconstrain` uses view coordinates to init the output box for popups. However wlroots expects the box to be set in a toplevel surface coordinate system, which is not always equal to view. The difference between those is a window geometry set via xdg-shell. GTK4 reserves some space for client-side decoration and thus has a window with top left corner not matching to (0, 0) of a surface. The box calculated without taking that into account was slightly shifted compared to the actual output and allowed to position part of the popup off screen. 12 January 2022, 13:55:56 UTC
back to top