aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* man: sway(5) move fixesLibravatar Baltazár Radics2022-08-11
|
* sway-output.5: improve display of parameterLibravatar Martin Michlmayr2022-08-08
| | | | Since "width" and "height" are separate parameters, show them as such.
* Enable single-pixel-buffer-v1Libravatar Simon Ser2022-08-04
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3428
* grimshot: fix tilde expansion within quotesLibravatar llyyr2022-07-30
|
* ipc: make get_deco_rect check config->hide_lone_tabLibravatar Baltazár Radics2022-07-26
| | | | | | 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.
* swaymsg: fix floating_nodes being ignoredLibravatar llyyr2022-07-26
| | | | Fix floating_nodes being ignored in pretty_print_tree.
* input: chase delta_discrete semantics changeLibravatar Kirill Primak2022-07-15
|
* fix: remove redundant empty statement in main.cLibravatar zkldi2022-07-12
| | | | | 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.
* Remove internal references to DPMSLibravatar Simon Ser2022-07-04
| | | | | While at it, use an int for the config field, just like we do for all other fields.
* config.in: switch to `output power`Libravatar Simon Ser2022-07-04
|
* ipc: add "power" to output replyLibravatar Simon Ser2022-07-04
|
* Reuse parsed PangoFontDescriptionLibravatar Hugo Osvaldo Barrera2022-07-01
| | | | Avoids parsing the configured font each time text is rendered.
* Reject font values that are invalid for pangoLibravatar Hugo Osvaldo Barrera2022-07-01
| | | | | | | | | 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
* Avoid unecessary string copyLibravatar Hugo Osvaldo Barrera2022-07-01
|
* Strip quotes in bindsym --input-device=...Libravatar Thomas Jost2022-06-25
| | | | | | | | 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.
* Rename dpms output command to powerLibravatar Simon Ser2022-06-23
| | | | | | | | 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".
* Remove access to wlr_input_device unionLibravatar Simon Ser2022-06-22
| | | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3626 Closes: https://github.com/swaywm/sway/issues/7077
* Allocate enough space for `cmd_results->error`Libravatar kraftwerk282022-06-16
|
* config/output: use wlr_output_commit_stateLibravatar Simon Ser2022-06-10
| | | | | | | | | 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
* swaynag: move close_button up to fix SIGSEGVLibravatar Greg Depoire--Ferrer2022-06-05
| | | | | | | | | | | | | | | | | | 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.
* Refuse to start when SUID is detectedLibravatar Kenny Levinsen2022-06-03
| | | | | | | 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.
* ipc: remove chatty debug log messagesLibravatar Simon Ser2022-05-30
| | | | These aren't particularly useful, and clobber the debug logs.
* build: link with -pthreadLibravatar Simon Ser2022-05-30
| | | | | | | | | | 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")
* sway: add bindgesture commandLibravatar Florian Franzen2022-05-30
| | | | Co-authored-by: Michael Weiser <michael.weiser@gmx.de>
* Add a Hindi (हिन्दी) translation to the READMELibravatar LordRishav2022-05-27
| | | | | | | | 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>
* xdg-shell: schedule a configure on maximize requestLibravatar Kirill Primak2022-05-27
| | | | | This commit reverts 03879290dbee26127f6867ef60bc2a7f9a6c8c5f and fc84bcb7fb0ffa29b1f9bed287762241a3473803.
* chore: chase wlroots xdg-shell updateLibravatar Kirill Primak2022-05-27
|
* Handle NULL output make/model/serialLibravatar Simon Ser2022-05-26
|
* De-duplicate IPC output descriptionsLibravatar Simon Ser2022-05-26
|
* Polish the language in README.zh-CN.md & sync with English oneLibravatar Hongyi2022-05-24
| | | Co-Authored-By: Urey. Xue <urey.s.knowledge@gmail.com>
* ext-session-lock: disable direct scan-out when lockedLibravatar Daniel De Graaf2022-05-23
|
* realtime: request SCHED_RR using CAP_SYS_NICELibravatar Rouven Czerwinski2022-05-18
| | | | | | | | | | | | | | | | | | | | 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
* server: request xdg-shell v2Libravatar Rouven Czerwinski2022-05-16
| | | | | | | | 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
* man: Fix trailing spacesLibravatar -k2022-05-11
|
* Add descriptions for `stacking` and `tabbed` layoutsLibravatar -k2022-05-11
| | | | Resolves #5918
* Replace strncpy with memcpyLibravatar Simon Ser2022-05-11
| | | | | | | | | | 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); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* config: Remove unused mouse binding structureLibravatar Michael Weiser2022-05-11
| | | | | | | 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>
* swaynag: combine consecutive declaration/assignmentsLibravatar Nihal Jere2022-05-07
|
* swaynag: improve robustness when loading configLibravatar Nihal Jere2022-05-07
|
* swaynag: do error checking and rename read_from_stdinLibravatar Nihal Jere2022-05-07
| | | | | read_from_stdin not only read from stdin, but trimming trailing newlines, so rename it to reflect this.
* Avoid inspecting a NULL view in seat_set_focusLibravatar Daniel De Graaf2022-04-30
| | | | Fixes #6968
* Implement ext-session-lock-v1Libravatar Daniel De Graaf2022-04-29
|
* xkb_switch_layout: fix relative layout switchesLibravatar Victor Makarov2022-04-28
| | | Fixes #6011
* Update grimshot.1.scdLibravatar Alan2022-04-23
| | | Fixed typo. The object is **files**, which is plural. **image** modifies files; it's not countable.
* Support cursor capture in grimshotLibravatar Alice Carroll2022-04-21
| | | | | | | | Refactor argument parser Bring back `sh` compatibility Default to NOTIFY=no
* Add Swedish READMELibravatar Eskil2022-04-18
|
* Chase wlroots X11 hints updateLibravatar kraftwerk282022-04-18
|
* layer_shell: keep output non-NULL wherever possibleLibravatar Thomas Hebb2022-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Shuffle variables to satisfy -Werror=restrictLibravatar Daniel De Graaf2022-04-09
| | | | This also fixes an invalid strlen invocation on uninitialized memory.
* Avoid format-truncation warningLibravatar Daniel De Graaf2022-04-09
| | | | | | | | | | | | | | | | | | 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.