aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2022-04-28xkb_switch_layout: fix relative layout switchesVictor Makarov-4/+32
Fixes #6011
2022-04-23Update grimshot.1.scdAlan-1/+1
Fixed typo. The object is **files**, which is plural. **image** modifies files; it's not countable.
2022-04-21Support cursor capture in grimshotAlice Carroll-21/+43
Refactor argument parser Bring back `sh` compatibility Default to NOTIFY=no
2022-04-18Add Swedish READMEEskil-1/+91
2022-04-18Chase wlroots X11 hints updatekraftwerk28-4/+8
2022-04-13layer_shell: keep output non-NULL wherever possibleThomas Hebb-29/+24
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-6/+6
This also fixes an invalid strlen invocation on uninitialized memory.
2022-04-09Avoid format-truncation warningDaniel De Graaf-2/+2
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.
2022-04-07Fix farsi labelYasin Silavi-1/+1
2022-03-29sway/main: move constants off the stackManuel Stoeckl-24/+24
This makes stack traces from gdb slightly easier to read.
2022-03-27bash-completion: localize variablesOğuz Ersen-3/+3
2022-03-23sway/input: wlr_seat_keyboard() now takes wlr_keyboardLeonardo Hernández Hernández-5/+5
2022-03-22sway/input: fix bad position of wlr_dragLeonardo Hernández Hernández-4/+4
2022-03-17sway/input: follow up wlroots input device events renamingSimon Zeni-73/+77
2022-03-17sway/input/seat: take output name from specialized input deviceSimon Zeni-3/+15
2022-03-17sway/input/cursor: take device mm size from wlr_tabletSimon Zeni-6/+7
2022-03-15remove unnecessary strlen callNihal Jere-2/+2
2022-03-15swaynag: remove redundant status variables in mainNihal Jere-14/+10
Instead, we just use `status` for all failures.
2022-03-15swaynag: remove unnecessary zero of swaynag structNihal Jere-1/+0
Global variables are initialized to 0.
2022-03-15swaynag: statically allocate button_close, and move declarationNihal Jere-10/+5
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.
2022-03-15swaynag: allocate button_details with detailsNihal Jere-18/+8
They are used together, so it doesn't make sense to allocate them separately.
2022-03-15Updating criteria checking with PCRE2Bill Li-8/+8
2022-03-14swaybar: set opaque regionSimon Ser-0/+9
When the background color is fully opaque, set the surface's opaque region to the whole surface.
2022-03-14swaybar: remove swaybar_output.input_regionSimon Ser-8/+3
No need to keep the region around, we can immediately destroy it after the wl_surface.set_input_region request.
2022-03-12Replace pcre with pcre2ndren-43/+53
Closes: https://github.com/swaywm/sway/issues/6838
2022-03-08Remove WLR_SWITCH_STATE_TOGGLE usageSimon Ser-8/+26
Ref [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/4792446ee8f50104bd207d9ccd8558a7e4eb4514
2022-03-06commands/focus: fix segfault when no container is already focused.Nicolas Avrutin-6/+10
Fixes #6690.
2022-03-05sway/input: destroy sway_switch properlyMoon Sungjoon-0/+1
Fix: #6861 Added seat_device_destroy function to seat_device_destroy function.
2022-03-04sway/input: don't pass possibly invalid modifiers pointerAlexander Gramiak-2/+0
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.
2022-02-28swaynag: die on all allocation failuresNihal Jere-0/+36
2022-02-24Don't enter seatop_move_floating when fullscreenThomas Hebb-2/+4
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.
2022-02-22Remove some erroneous apostrophes in commentsThomas Hebb-3/+3
2022-02-21sway/input: use wlr_input_device from input device baseSimon Zeni-3/+3
2022-02-21sway/commands: add missing wlr_keyboard interface include in xkb_switch_layoutSimon Zeni-0/+1
2022-02-08Remove all sprintf callsSimon Ser-6/+7
Replace them with snprintf, which ensures buffer overflows won't happen.
2022-02-08Fix snprintf compiler warningMuhamed Hobi-2/+2
2022-02-07xdg-shell: use wlr_xdg_popup in sway_xdg_popupSimon Ser-7/+7
Improved type safety.
2022-02-07xdg-shell: use wlr_xdg_toplevel in sway_viewSimon Ser-56/+40
Improved type safety. Closes: https://github.com/swaywm/sway/issues/6813
2022-02-07readme: use relative links for translationsSimon Ser-19/+19
2022-02-07readme: sort language list alphabeticallySimon Ser-15/+15
2022-02-07readme: add link to Italian translationSimon Ser-1/+2
2022-02-07Translated README into ItalianMarco Rubin-0/+73
2022-02-06Minor update to focus_on_window_activationAlexander Browne-5/+5
Removed xwayland limitation since wayland clients are supported via xdg-activation.
2022-02-03Chase wlroots xdg-shell refactorKirill Primak-15/+16
2022-01-31chore: chase wlr_output_layout_get_box() updateKirill Primak-49/+53
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3439
2022-01-31xwayland: listen to `request_activate` eventTuomas Yrjölä-0/+18
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
2022-01-31Use bools for CLI flagsSimon Ser-5/+5
2022-01-23swaynag: remove buffer destruction conditionKirill Primak-7/+2
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
2022-01-22input/cursor: pass through pointer hold gesturesTudor Brindus-0/+28
This just follows swaywm/wlroots#3047, so `wl_pointer_gestures_v1` clients can be notified of these events.
2022-01-22cmd/swap: error on swapping a container with itselfRonan Pigott-1/+4