aboutsummaryrefslogtreecommitdiff
path: root/sway
AgeCommit message (Collapse)Author
2022-10-10input: focus container when scrolling on titlebarTudor Brindus
Fixes #6503.
2022-10-10input: focus floating container when clicked on borderTudor Brindus
Fixes #7209.
2022-10-09Use keyboard_state.focused_surface directlyFerdinand Schober
2022-10-09use seat directlyFerdinand Schober
2022-10-09check for NULLFerdinand Schober
2022-10-09allow pointer_constraints on layer_shell surfacesFerdinand Schober
2022-10-07sway/commands/output: Add command for unplugging non-physical outputsAndri Yngvason
2022-10-03ipc: expose mode picture aspect ratioSimon Ser
2022-09-25man: Add XWayland informationマリウス
2022-09-19sway: add non-desktop outputs to json when running `swaymsg -t get_outputs`Alex Maese
2022-09-19sway: Add non-desktop-output typeAlex Maese
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`
2022-09-13Fix crash in xdg_activation_v1.cFilip Szczepański
wlr_xdg_surface_from_wlr_surface() can return a NULL pointer, so check for NULL before dereferencing it.
2022-08-30config/output: test adaptive syncSimon Ser
Required for [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3637
2022-08-30ipc: drop WLR_OUTPUT_ADAPTIVE_SYNC_UNKNOWN caseSimon Ser
This has been removed from wlroots.
2022-08-11man: sway(5) move fixesBaltazár Radics
2022-08-08sway-output.5: improve display of parameterMartin Michlmayr
Since "width" and "height" are separate parameters, show them as such.
2022-08-04Enable single-pixel-buffer-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3428
2022-07-26ipc: make get_deco_rect check config->hide_lone_tabBaltazár Radics
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.
2022-07-15input: chase delta_discrete semantics changeKirill Primak
2022-07-12fix: remove redundant empty statement in main.czkldi
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.
2022-07-04Remove internal references to DPMSSimon Ser
While at it, use an int for the config field, just like we do for all other fields.
2022-07-04ipc: add "power" to output replySimon Ser
2022-07-01Reuse parsed PangoFontDescriptionHugo Osvaldo Barrera
Avoids parsing the configured font each time text is rendered.
2022-07-01Reject font values that are invalid for pangoHugo Osvaldo Barrera
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
2022-07-01Avoid unecessary string copyHugo Osvaldo Barrera
2022-06-25Strip quotes in bindsym --input-device=...Thomas Jost
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.
2022-06-23Rename dpms output command to powerSimon Ser
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".
2022-06-22Remove access to wlr_input_device unionSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3626 Closes: https://github.com/swaywm/sway/issues/7077
2022-06-16Allocate enough space for `cmd_results->error`kraftwerk28
2022-06-10config/output: use wlr_output_commit_stateSimon Ser
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
2022-06-03Refuse to start when SUID is detectedKenny Levinsen
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.
2022-05-30ipc: remove chatty debug log messagesSimon Ser
These aren't particularly useful, and clobber the debug logs.
2022-05-30build: link with -pthreadSimon Ser
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")
2022-05-30sway: add bindgesture commandFlorian Franzen
Co-authored-by: Michael Weiser <michael.weiser@gmx.de>
2022-05-27xdg-shell: schedule a configure on maximize requestKirill Primak
This commit reverts 03879290dbee26127f6867ef60bc2a7f9a6c8c5f and fc84bcb7fb0ffa29b1f9bed287762241a3473803.
2022-05-27chore: chase wlroots xdg-shell updateKirill Primak
2022-05-26Handle NULL output make/model/serialSimon Ser
2022-05-26De-duplicate IPC output descriptionsSimon Ser
2022-05-23ext-session-lock: disable direct scan-out when lockedDaniel De Graaf
2022-05-18realtime: request SCHED_RR using CAP_SYS_NICERouven Czerwinski
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
2022-05-16server: request xdg-shell v2Rouven Czerwinski
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
2022-05-11man: Fix trailing spaces-k
2022-05-11Add descriptions for `stacking` and `tabbed` layouts-k
Resolves #5918
2022-05-11Replace strncpy with memcpySimon Ser
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); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-04-30Avoid inspecting a NULL view in seat_set_focusDaniel De Graaf
Fixes #6968
2022-04-29Implement ext-session-lock-v1Daniel De Graaf
2022-04-28xkb_switch_layout: fix relative layout switchesVictor Makarov
Fixes #6011
2022-04-18Chase wlroots X11 hints updatekraftwerk28
2022-04-13layer_shell: keep output non-NULL wherever possibleThomas Hebb
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.
2022-04-09Shuffle variables to satisfy -Werror=restrictDaniel De Graaf
This also fixes an invalid strlen invocation on uninitialized memory.