-
1.5.1
sway 1.5.1 This is a bugfix release which adds support for wlroots 0.12.0. Simon Ser (2): build: bump wlroots dependency to 0.12.0 build: bump version to 1.5.1
-
1.5
sway 1.5 Campbell Vertesi (1): Add note on quoting to swaymsg manpage Geoffrey Casper (1): Reload command now matches i3's implementation Jan Beich (1): protocols: sync wlr-layer-shell-unstable-v1 with wlroots Jonas Große Sundrup (1): rephrase swayidle-timout example to improve readability Ronan Pigott (1): xdg_shell: schedule configure on maximize requests Simon Ser (8): seat: fix segfault in sway_input_method_relay_set_focus Don't set xwayland cursor when wlr_xwayland failed Unset DISPLAY when wlr_xwayland fails tree/view: fix segfault in view_update_title config/output: don't change output state before commit Assert output is found before removing from list Bump wlroots dependency to 0.11.0 Bump version to 1.5 Tudor Brindus (3): commands/move: unwrap workspace container on move to new workspace commands/move: maintain workspace_layout when moving input/cursor: don't send wl_pointer.motion event on pointer unlock warp Vinko Kašljević (1): Add check for empty GEOM variable Wai Hon Law (1): Make the default workspace commands compatible with i3 wb9688 (1): Replace unprintable characters in input device id
-
v1.5-rc2
sway v1.5-rc2 Isaac Freund (1): output: simplify loop over layer surfaces Johan Bjäreholt (1): tree/view: Make foreign-toplevel app_id fallback to class Kenny Levinsen (2): transaction: Mark client resize immediately ready seat: Refocus seat when wlr_drag is destroyed Tudor Brindus (2): input/pointer: correctly handle bindings for synthetic events tree/view: fix smart borders with tabbed/stacked ancestor
-
1.5-rc1
sway 1.5-rc1 Sway 1.5-rc1 contains 258 changes from 76 contributors. Adam Kürthy (2): Take window borders into account when resizing floating windows Really fix floating window border resize problems Aleksei Bavshin (1): Adjust focus order to match rendering order of layer shell popups. Alex Maese (2): Add ability to remove the floating modifier Add documentation for floating_modifier Anders (1): criteria: match containers without view Andri Yngvason (6): input: Assign virtual input devices to their selected seats swaynag: Add multi-seat support swaybar: Fix input device removal input: Map virtual-pointer to the requested output input: Mark virtual devices as such input: keyboard: Never group virtual keyboards. Bill Doyle (1): Only destroy swaybar surface via ipc when needed Bor Grošelj Simić (1): input: implement cycling through keyboard layout list Brian Ashworth (20): render: do not render indicator on floating views input/cursor: handle image surface destroy input/cursor: handle setting a NULL image surface view: remove workspace pid mapping for assigns container: add inactive fullscreen to focus stack desktop/output: fix mem leak in handle_new_output output: apply oc to outputs using wl_for_each_safe container_at_{tabbed,stacked}: check x-axis bounds config: fix validation exit code and log level cmd_swap: fix test_mark condition output: fix updating output manager config tree/view: do not attempt enter on hidden child input_cmd_events: add support for input types Revert "Don't apply exclusive zones of unmapped layer-shell surfaces" sway.5: correct description of workspace [number] ISSUE_TEMPLATE: note debug logs should be from TTY input: reset keyboard groups keyboard on reset all input: fix reloading crash due to keyboard group configuring seat_cmd_cursor: emit frame events input/keyboard: wlr_keyboard_group enter and leave Cassandra McCarthy (1): integer scaling, not integral Cyril Levis (2): Add the possibility to capture only one screen if several screens are use. Change wording Damien Tardy-Panis (1): Add views idle inhibition status in get_tree output David Arnold (2): grimshot: Unary operator expected grimshot: fix POSIX compliance David96 (4): Render layer shell popups over the top layer Don't transfer focus to NULL node on touch Don't unhide cursor on touch events Implement pointer simulation if client hasn't bound to touch Dennis Schridde (1): Document input selector precedence Di Ma (4): Fix a use-after-free error in switch binding Fix a use-after-free error in switch binding Fix a use-after-free error in switch binding Fix a use-after-free error in switch binding Dominique Martinet (3): swaynag: fix segfault on exit when arguments are not correct swaynag: exit on wl_display_roundtrip error build: make completions respect install prefixes Drew DeVault (3): Update wlroots version Update version to 1.4 Implement wlr-foreign-toplevel-management-v1 Ejez (1): Correct typo in sway-output.5.scd Eli Schwartz (3): meson: use join_paths to build paths, instead of string concat completion: use pkg-config to get install location for bash/fish fish-completion: use the correct fallback directory Eric Engestrom (1): bash completion: swaymsg accepts --version, not --verbose Graham Christensen (1): swaynag: allow specifying more buttons which execute and dismiss Hristo Venev (2): Do not truncate pointer coordinates to int. swaybar: fix i3bar relative coordinates when scaling is used Hugo Osvaldo Barrera (7): grimshot: Allow configuring default directory grimshot: Avoid screenshots overwriting each other grimshot: Show usage when on invalid command grimshot: Allow manually picking a window grimshot: Add a separate flag for notifications grimshot: Add a man page grimshot: Skip creating a temp file when copying Ian Fan (6): ipc: add missing required properties swaybar: fix memory leaks tray: better errors when parsing index.theme tray: allow themes to inherit from multiple themes tray: tidy code tray: track SNI callbacks Ian Huang (1): interpret "subpixel none" as CAIRO_ANTIALIAS_GRAY Ihor Kalnytskyi (1): scdoc: unbindcode --input-device, not input-device JR Boyens (1): Use transparency arg in the window focus event Jamelly Ferreira (2): Adding a version of README.md in Portuguese Adding the link to the Portuguese on the English version of README.md James Mills (1): Fix typo in swaybar-protocol.7.scd Jan Beich (1): common/log: bump POSIX version used after e81d9fde667e Jason (2): Docs: explain why menu command should be passed to sway Update fish completions Jason Nader (12): Amend typo commands/move: Fix crash when required args not provided Check argc>0 before strcasecmp. Should shortcircuit Docs: Add marks field to get_tree response i3compat: add `window_type` to IPC response i3compat: add `window_type` to IPC response ipc-server: improve error message Limit workspace numbers within 0..INT32_MAX commands/bind.c: remove unnecessary check sway/input/cursor.c: move NULL check to where it should be sway/input/cursor.c: fix undefined behaviour when event is NULL i3-compat: add GET_BINDING_STATE IPC command Josh Shone (1): Fix hit test for floaters that cross outputs Kalyan Sriram (1): Save transform during transaction Kenny Levinsen (7): Simplify repaint scheduling documentation view: Save all buffers associated with view view: update_size should only update pending size transaction: Account for full size when centering content transaction: Improve transaction commentary container: Remove useless surface dimensions shells: Resize on commit if geometry x/y changes Leo (2): Fix redundant call to seat_send_focus() im: Fix crash when im destorying and no focused surface exists Leon Plickat (1): change apply_exclusive() to closer match layer shell protocol Linus Heckemann (1): add --no-repeat option for bindings Lucas M. Dutra (1): fix typo Luke Drummond (2): swaynag: sway_abort on failure to properly register swaybar: ensure correct init order for status_line Martin Dørum (1): swaybar: Fix scrolling with precise trackpads Martin Michlmayr (2): sway.5: make formatting more consistent Fix typos in comments Michael Weiser (5): config: Fix typo in reload bindsym flag bitmask input: Add support for keyboard shortcuts inhibit commands: Add shortcuts_inhibitor command commands: Adjust style in cursors command commands: Add per-view shortcuts_inhibitor command Milkey Mouse (1): swaybar: add NULL check when listing workspaces Nathan Rossi (1): ipc: Handle unsupported binding event types Nick Diego Yamane (1): input/seatop_default: properly notify pointer leave Olivier Fourdan (1): input: Avoid creating the PAD device multiple times Paul Ouellette (1): Fix some mistakes in grimshot docs Pedro Côrte-Real (3): Avoid numerical instability in resize Make sure we don't calculate fractional pixel gaps Make all the container dimensions integers Ronan Pigott (8): commands/split: Fix error message typos ipc-json: Remove unnecessary dereference sway-input.5: Document repeat_delay and repeat_rate only once sway.5: Document missing bindsym flags for unbindsym Fix crash when showing scratchpad hidden split containers cmd_move: Fix crash when moving to scratchpad hidden split containers cmd_split: Refuse to split scratchpad hidden split containers view: fix surface_new_subsurface use-after-free Ross Schulman (1): Fix small typo in sway-input(5) Rouven Czerwinski (3): xwayland: handle size_hints == NULL output: remove damage listeners in damage destroy input/seatop_default: release on empty workspace Ryan Dwyer (1): Introduce pid criteria token Simon Ser (44): Fix unreliable scaling filter Revert "Make all the container dimensions integers" Fix seat_set_focus_layer crash when disabling output Fix output scale auto-detection Call apply_output_config instead of output_enable Stop calling apply_output_config from output_enable Apply the output scale filter after the output commit Fix output transform anticlockwise Fix output transform rotation direction Specify that output transform applies clockwise rotations Fix get_int_prop(WINDOW_TYPE) crash Don't apply exclusive zones of unmapped layer-shell surfaces Add support for wlr-output-power-management-unstable-v1 Make handle_destroy and output_repaint_timer_handler static Only schedule a frame if client has requested a frame callback Drop sway_output.surface_needs_frame Use wlr_client_buffer Add an adaptive_sync output command Add adaptive_sync_status to output IPC reply common/log: improve time prefix readme: git is an optional dependency Fix output mode usage Change focus_on_window_activation default to urgent Update for new wlr_buffer API Stop checking wlr_output_attach_buffer return value Introduce test_output_config Add test-only support to wlr-output-management-unstable-v1 ci: don't build scdoc ci: remove epoll-shim hardcoded pkg-config file Fix initial modeset Don't add disabled outputs back to output layout Use bitshifts for bitfields Implement create_output command for headless backend Restrict relative output transforms to runtime changes man: add note about sway-input and sway-output pages Redirect questions to wiki/IRC build: improve feature summary Don't assert the cursor theme loads Fix invisible cursor on startup Add a secondary headless backend Log Sway version on startup Remove view child surface_{map,unmap} listeners on destroy Add support for viewporter Update version to 1.5-rc1 Some Chinese Guy (3): Added focus following for touch_down switched to setting focus with seat_set_focus swapped hiding the cursor and sending a touch event as a more logical sequence Tadeo Kondrak (1): Null check sway_layer_surface when checking damage Teddy Reed (1): Fix ordering of setgid and setuid Thayne McCombs (1): Add missing items to documentation for GET_TREE response in ipc. TheAvidDev (1): Add wayland_client dependency to common Thomas Hebb (3): config: fix unfocused text color Add each view's shell to JSON description Use new wlroots API for clearing keyboard/pointer focus during grabs Till Hofmann (1): Avoid calling strcmp on nullptr Tobi Fuhrimann (1): Reference wev instead of xev Torstein Husebø (1): treewide: fix typos Tudor Brindus (42): input/cursor: correctly send tablet_v2 up event when over non-v2 surface input/cursor: fix jerky resizing of non-tablet_v2 surfaces input/cursor: fix hide cursor timeouts on tablets and touchscreens config/output: reconfigure input devices on new output input/cursor: correctly transfer focus when using tablet pen config/output: reconfigure input devices after full output init input/tablet: query tablet focused surface for cursor image check Add debug symbol stack trace note to ISSUE_TEMPLATE.md input/cursor: release simulated tool tip button when over v2 surface input/cursor: make cursor rebasing cursor type-agnostic input/cursor: disambiguate cursor functions from pointer functions input: refactor tablet motion into seatop handler input: rename pointer handlers to be unambiguous input/cursor: remove erroneous cast for tablet tool button input/keyboard: use wlr_keyboard_keymaps_match from wlroots input/tablet: simplify parameter plumbing for tablet references input/cursor: don't apply pointer constraint to emulated tablet input input/pointer: only warp cursor when the confine region has changed common/log: use bright black rather than black for SWAY_DEBUG input/tablet: add seatop_down entry for tablet input input/cursor: fix heap-buffer overflow in constraint set_region input/cursor: keep reference to cursor in constraint Log Xwayland startup failures input/pointer: send pointer enter event on confine warp ipc: invert output transformation when necessary input/cursor: rename `simulated_tool_tip_down` to be more accurate tree/container: refactor `tiling_container_at` to check bounds xwayland: pass focus to previous unmanaged surface on unmap input/cursor: refactor tablet tool tip events into seatops common/util: fix `get_current_time_msec` returning microseconds tree/container: introduce `container_toplevel_ancestor` helper input/tablet: allow moving floating tablet v2 surfaces by pen input input/tablet: allow moving tiling tablet v2 surfaces by pen input input: tweak resize behavior to not change tab focus on border click tree/view: fix smart gaps when ancestor container is tabbed or stacked input/tablet: focus appropriate node on tip down input/pointer: don't trigger pointer bindings for emulated input input/cursor: send idle events based off device type, not input type input/pointer: don't trigger pointer bindings for emulated input input: disable events for map_to_output devices when output not present input/seat: don't notify keyboard grabs with NULL surface on shutdown input_cmd_click_method: fix typo in error text Yorick van Pelt (1): Fix crash: use wlr_output->name instead of possibly missing oc->name jhalmen (1): fix typos in sway-input.5.scd lbonn (1): ipc: show marks of containers without view in tree r-c-f (1): check for workspace command name arg rinpatch (1): sway.5: fix missing background scaling mode in a block example roshal (1): add dots to man salkin-mada (1): add danish README skip-yell (1): Add Korean README.md taminaru (1): Add Romanian translation thermitegod (1): Fix compiling with -fno-common xdavidwu (5): Port input method and text input from rootston input-method: remove surface listener before set input-method: avoid and log unneeded set_focus im: make text-input listeners per text-input im: remove listener on pending surface destoryed Érico Rolim (2): security.d: remove directory Remove code related to the security features
-
1.4
sway 1.4 A. M. Joseph (1): xwayland.c handle_map(): NULL out xsurface->data() to prevent crashing. Aleksis (1): remove unused layer shell surface variable Andri Yngvason (2): input: Assign virtual input devices to their selected seats swaybar: Fix input device removal Antonin Décimo (5): ipc-client: remove useless free for failed malloc input: check pointer against nullptr view_update_size: fix surface_width/height mismatch Fix memory leaks Remove redundant checks Arkadiusz Hiler (1): Fix syntax in examples in sway-output(5) Ben Brown (2): Fix typo for the force/immediate option in xwayland_mode enum Add icon_theme_path to find_icon() search if set Benjamin Cheng (2): input/cursor: pass gesture events to clients input/cursor: remove gesture listeners in destroy Brian Ashworth (42): workspace: prefer identifiers for output priority handle_seat_node_destroy: do not focus own node workspace: do not destroy if any seat is focusing swaymsg.1: add tip about two hyphens for commands container_replace: copy {width,height}_fraction workspace_split: focus middle if workspace focused sway{,-bar}.5: add link to pango font description input/seatop_down: add axis handler input/keyboard: send released only if pressed sent cmd_xwayland: add force for immediate launch sway.5: remove mention of floating_scroll cmd_move: fix move to scratchpad hidden container cmd_mode: don't reset to default after subcommand seatop_default: only focus container on press swaybar: complete barconfig_update event handling sway.5: clarify that a marks are unqiue view: always populate pid input/keyboard: cleanup xkb_file error handing input_cmd_xkb_file: allow shell path expansion Add support for wlr_keyboard_group input/keyboard: check keyboard group before remove config: improvements to the reload validation input/keyboard: reset seat keyboard on destroy config: apply input type configs on reload layer-shell: unfocus output-less layer on unmap input/keyboard: remove group listeners on destroy input/keyboard: defer wlr_keyboard_group destroy config/input: set type for new identifier configs root_scratchpad_hide: disable fullscreen descendants input/seatop_default: fix focusing floating titles seat_cmd_keyboard_grouping: change keymap to smart layer-shell: refocus if keyboard interactive lost parse_color: return success + drop fallback color cmd_client_*: refactor duplicated code bar_cmd_colors: remove add_color cmd_client_*: support optional args for i3 compat input/cursor: handle image surface destroy input/cursor: handle setting a NULL image surface view: remove workspace pid mapping for assigns container: add inactive fullscreen to focus stack desktop/output: fix mem leak in handle_new_output output: apply oc to outputs using wl_for_each_safe Cassandra McCarthy (1): integer scaling, not integral Danilo Spinella (1): Fix refresh rate scale of output Dark (1): Update titlebar borders to match i3's current behavior. Drew DeVault (12): layer-shell: add support for popups Add _incr_version to contrib/ chmod +x contrib/_incr_version config.in: set default term to alacritty Update .github/FUNDING.yml Update version to 1.2 Updates per wlroots layer shell changes Add seat <seat> idle_{inhibit,wake} <sources...> License wallpapers as CC-0 _incr_version: prompt for target wlroots release _incr_version: always overwrite old version number Update version to 1.3-rc1 Eli Schwartz (3): meson: use join_paths to build paths, instead of string concat completion: use pkg-config to get install location for bash/fish fish-completion: use the correct fallback directory Ilia Bozhinov (1): properly check pixman_region32_contains_rectangle return Ivan Molodetskikh (9): Add Russian translation of the README render: set surface as sampled for presentation output: add max_render_time Add sway_surface view: add max_render_time Add max_render_time to output JSON Add max_render_time to view JSON output: check wlr_output in repaint handler Add note about backends to output max_render_time JR Boyens (1): Use transparency arg in the window focus event Jason (2): Amend typos Docs: explain why menu command should be passed to sway Jason Nader (3): Amend typo commands/move: Fix crash when required args not provided Check argc>0 before strcasecmp. Should shortcircuit Jayce Fayne (1): Revert "fix bar_state_update/input event" John Chadwick (1): input: Add support for tablet protocol. Josef Gajdusek (1): Add virtual pointer protocol Kenny Levinsen (5): Ensure that seat->focused_layer is cleared on unmap output: Ensure that frame_done is delayed on max_render_time output: Replace block_idle_frame with frame_pending output: Schedule idle frames if we do not render output: Restore previous max_render_time behavior Kirill Chibisov (1): Fix tiled containers resize with mouse Konstantin Pospelov (2): swaybar: do not retry search for tray icons swaybar: fix typo in the loop over pixmaps Laurent Bonnans (1): ipc: collapse multi-container command results Lauri (1): Grimshot: a helper for screenshots within sway Manuel Mendez (1): grimshot: fix branching on command exit status Manuel Stoeckl (1): desktop/surface: Fix crash when timer is NULL Martin Michlmayr (4): Fix markup syntax in man pages swaymsg.1: fix description of --pretty sway-output.5: fix variable name swaymsg.1: fix typos Michael Aquilina (1): Fix formatting for title_format in man 5 sway Use explicit linebreaks to make scdoc use a separate line for each entry listed NightFeather (1): Add Chinese (zh-TW) translation of README Nils ANDRÉ-CHANG (1): Fix type (an -> and) Paul Riou (2): input: seat: Fix seat device list not initialised before use Fix sway_log using non initialised output_config pointer Pedro Côrte-Real (3): Avoid numerical instability in resize Make sure we don't calculate fractional pixel gaps Make all the container dimensions integers Rex Hackbro (2): Rename 'node' to 'nodes' in swayipc doc fix bar_state_update/input event Robert Günzler (1): Skip line continuation when it is a comment Ronan Pigott (19): view: create container before selecting workspace focus: support focus prev|next [sibling] criteria: make literal comparison for __focused__ values focus: do nothing on focus prev|next for workspaces seatop_move_floating: make container respect pointer constraint seatop_default: handle focus for xwayland_unmanaged views smart_borders: separate smartness from edge types Prefer higher refresh rate default modes seatop_default: handle focus for unmanaged xwayland windows last add scale_filter output config option Fix lingering workspace with scratchpad show config/output: apply scale_filter even when scale has not changed commands/split: Fix error message typos ipc-json: Remove unnecessary dereference sway-input.5: Document repeat_delay and repeat_rate only once sway.5: Document missing bindsym flags for unbindsym Fix crash when showing scratchpad hidden split containers cmd_move: Fix crash when moving to scratchpad hidden split containers cmd_split: Refuse to split scratchpad hidden split containers Ross Schulman (1): Fix small typo in sway-input(5) Rouven Czerwinski (3): sway(5): move workspace_layout to config only xwayland: get_constraints using size hints xwayland: handle size_hints == NULL Sebastian Krzyszkowiak (2): layer_shell: Guard against negative exclusive zone layer-shell: Fix damage tracking of nested popups Sheena Artrip (1): Rename symbol set_cloexec to sway_set_cloexec, remove duplicates. Simon Ser (22): Remove xdg-shell v6 support layer-shell: don't give focus to unmapped layer surfaces man: document how to specify multiple xkb layouts and options Error out on unknown debug flag build: update wlroots version, be more strict Add support for fullscreen view direct scan-out Fix direct scan-out flickering build: bump wlroots version to 0.8.1 build: always use the project version Fix apply_output_config return value when enabling output Fix segfault in wlr_output_manager_v1_set_configuration Handle layer changes for layer shell surfaces Fix presentation feedback when scanning out fullscreen view Add --custom to `output mode` command Fix segfault in set_mode Use wlr_output_preferred_mode instead of the last mode Add -Wno-missing-braces Use new presentation-time helper Auto-detect output scale Re-add support for wlr_output's atomic API Fix unreliable scaling filter Revert "Make all the container dimensions integers" Tadeo Kondrak (3): build: remove rootston from wlroots subproject Implement input map_to_region command Use an enum instead of a marker string for map_to_ Thayne McCombs (1): Add missing items to documentation for GET_TREE response in ipc. Thorben Günther (2): Improve transparency script A Script to change sway workspace name. Versus Void (1): Do not search for edges on subsurfaces, fix #4381 Whemoon Jang (1): Fix typo in swaybar-protocol.7.scd Wieland Hoffmann (2): sway(5): Add a missing verb sway(5): Highlight valid values in the description of tiling_drag asdfjkluiop (1): A layer-shell will only be focused if it is non-null lbonn (6): Allow moving a container hidden in scratchpad focus: support focus_wrapping workspace seat: simplify a strdup Fix various memory leaks Fix potential NULL reference on cleanup focus: add a NULL check in `focus <direction>` xPMo (1): Fix bar_state_update docs xdavidwu (3): seat: avoid unneeded reloading xcursor theme seat: set cursor image only if no pointer cap previously swaybar: make status block text render in the same way as others
-
1.3-rc3
sway 1.3-rc3 Brian Ashworth (2): view: remove workspace pid mapping for assigns container: add inactive fullscreen to focus stack Cassandra McCarthy (1): integer scaling, not integral JR Boyens (1): Use transparency arg in the window focus event Jason (1): Docs: explain why menu command should be passed to sway Jason Nader (1): Amend typo Simon Ser (2): Fix unreliable scaling filter Revert "Make all the container dimensions integers"
-
1.3-rc2
sway 1.3-rc2 Andri Yngvason (2): input: Assign virtual input devices to their selected seats swaybar: Fix input device removal Brian Ashworth (2): input/cursor: handle image surface destroy input/cursor: handle setting a NULL image surface Pedro Côrte-Real (3): Avoid numerical instability in resize Make sure we don't calculate fractional pixel gaps Make all the container dimensions integers Ross Schulman (1): Fix small typo in sway-input(5) Rouven Czerwinski (1): xwayland: handle size_hints == NULL Thayne McCombs (1): Add missing items to documentation for GET_TREE response in ipc.
-
1.3-rc1
sway 1.3-rc1 A. M. Joseph (1): xwayland.c handle_map(): NULL out xsurface->data() to prevent crashing. Aleksis (1): remove unused layer shell surface variable Antonin Décimo (5): ipc-client: remove useless free for failed malloc input: check pointer against nullptr view_update_size: fix surface_width/height mismatch Fix memory leaks Remove redundant checks Arkadiusz Hiler (1): Fix syntax in examples in sway-output(5) Ben Brown (2): Fix typo for the force/immediate option in xwayland_mode enum Add icon_theme_path to find_icon() search if set Benjamin Cheng (2): input/cursor: pass gesture events to clients input/cursor: remove gesture listeners in destroy Brian Ashworth (36): workspace: prefer identifiers for output priority handle_seat_node_destroy: do not focus own node workspace: do not destroy if any seat is focusing swaymsg.1: add tip about two hyphens for commands container_replace: copy {width,height}_fraction workspace_split: focus middle if workspace focused sway{,-bar}.5: add link to pango font description input/seatop_down: add axis handler input/keyboard: send released only if pressed sent cmd_xwayland: add force for immediate launch sway.5: remove mention of floating_scroll cmd_move: fix move to scratchpad hidden container cmd_mode: don't reset to default after subcommand seatop_default: only focus container on press swaybar: complete barconfig_update event handling sway.5: clarify that a marks are unqiue view: always populate pid input/keyboard: cleanup xkb_file error handing input_cmd_xkb_file: allow shell path expansion Add support for wlr_keyboard_group input/keyboard: check keyboard group before remove config: improvements to the reload validation input/keyboard: reset seat keyboard on destroy config: apply input type configs on reload layer-shell: unfocus output-less layer on unmap input/keyboard: remove group listeners on destroy input/keyboard: defer wlr_keyboard_group destroy config/input: set type for new identifier configs root_scratchpad_hide: disable fullscreen descendants input/seatop_default: fix focusing floating titles seat_cmd_keyboard_grouping: change keymap to smart layer-shell: refocus if keyboard interactive lost parse_color: return success + drop fallback color cmd_client_*: refactor duplicated code bar_cmd_colors: remove add_color cmd_client_*: support optional args for i3 compat Danilo Spinella (1): Fix refresh rate scale of output Dark (1): Update titlebar borders to match i3's current behavior. Drew DeVault (11): layer-shell: add support for popups Add _incr_version to contrib/ chmod +x contrib/_incr_version config.in: set default term to alacritty Update .github/FUNDING.yml Update version to 1.2 Updates per wlroots layer shell changes Add seat <seat> idle_{inhibit,wake} <sources...> License wallpapers as CC-0 _incr_version: prompt for target wlroots release _incr_version: always overwrite old version number Ilia Bozhinov (1): properly check pixman_region32_contains_rectangle return Ivan Molodetskikh (9): Add Russian translation of the README render: set surface as sampled for presentation output: add max_render_time Add sway_surface view: add max_render_time Add max_render_time to output JSON Add max_render_time to view JSON output: check wlr_output in repaint handler Add note about backends to output max_render_time Jason (1): Amend typos Jayce Fayne (1): Revert "fix bar_state_update/input event" John Chadwick (1): input: Add support for tablet protocol. Josef Gajdusek (1): Add virtual pointer protocol Kenny Levinsen (5): Ensure that seat->focused_layer is cleared on unmap output: Ensure that frame_done is delayed on max_render_time output: Replace block_idle_frame with frame_pending output: Schedule idle frames if we do not render output: Restore previous max_render_time behavior Kirill Chibisov (1): Fix tiled containers resize with mouse Konstantin Pospelov (2): swaybar: do not retry search for tray icons swaybar: fix typo in the loop over pixmaps Laurent Bonnans (1): ipc: collapse multi-container command results Lauri (1): Grimshot: a helper for screenshots within sway Manuel Mendez (1): grimshot: fix branching on command exit status Manuel Stoeckl (1): desktop/surface: Fix crash when timer is NULL Martin Michlmayr (4): Fix markup syntax in man pages swaymsg.1: fix description of --pretty sway-output.5: fix variable name swaymsg.1: fix typos Michael Aquilina (1): Fix formatting for title_format in man 5 sway Use explicit linebreaks to make scdoc use a separate line for each entry listed NightFeather (1): Add Chinese (zh-TW) translation of README Nils ANDRÉ-CHANG (1): Fix type (an -> and) Paul Riou (2): input: seat: Fix seat device list not initialised before use Fix sway_log using non initialised output_config pointer Rex Hackbro (2): Rename 'node' to 'nodes' in swayipc doc fix bar_state_update/input event Robert Günzler (1): Skip line continuation when it is a comment Ronan Pigott (12): view: create container before selecting workspace focus: support focus prev|next [sibling] criteria: make literal comparison for __focused__ values focus: do nothing on focus prev|next for workspaces seatop_move_floating: make container respect pointer constraint seatop_default: handle focus for xwayland_unmanaged views smart_borders: separate smartness from edge types Prefer higher refresh rate default modes seatop_default: handle focus for unmanaged xwayland windows last add scale_filter output config option Fix lingering workspace with scratchpad show config/output: apply scale_filter even when scale has not changed Rouven Czerwinski (2): sway(5): move workspace_layout to config only xwayland: get_constraints using size hints Sebastian Krzyszkowiak (2): layer_shell: Guard against negative exclusive zone layer-shell: Fix damage tracking of nested popups Sheena Artrip (1): Rename symbol set_cloexec to sway_set_cloexec, remove duplicates. Simon Ser (20): Remove xdg-shell v6 support layer-shell: don't give focus to unmapped layer surfaces man: document how to specify multiple xkb layouts and options Error out on unknown debug flag build: update wlroots version, be more strict Add support for fullscreen view direct scan-out Fix direct scan-out flickering build: bump wlroots version to 0.8.1 build: always use the project version Fix apply_output_config return value when enabling output Fix segfault in wlr_output_manager_v1_set_configuration Handle layer changes for layer shell surfaces Fix presentation feedback when scanning out fullscreen view Add --custom to `output mode` command Fix segfault in set_mode Use wlr_output_preferred_mode instead of the last mode Add -Wno-missing-braces Use new presentation-time helper Auto-detect output scale Re-add support for wlr_output's atomic API Tadeo Kondrak (3): build: remove rootston from wlroots subproject Implement input map_to_region command Use an enum instead of a marker string for map_to_ Thorben Günther (2): Improve transparency script A Script to change sway workspace name. Versus Void (1): Do not search for edges on subsurfaces, fix #4381 Whemoon Jang (1): Fix typo in swaybar-protocol.7.scd Wieland Hoffmann (2): sway(5): Add a missing verb sway(5): Highlight valid values in the description of tiling_drag asdfjkluiop (1): A layer-shell will only be focused if it is non-null lbonn (6): Allow moving a container hidden in scratchpad focus: support focus_wrapping workspace seat: simplify a strdup Fix various memory leaks Fix potential NULL reference on cleanup focus: add a NULL check in `focus <direction>` xPMo (1): Fix bar_state_update docs xdavidwu (3): seat: avoid unneeded reloading xcursor theme seat: set cursor image only if no pointer cap previously swaybar: make status block text render in the same way as others
-
1.2
sway 1.2 Brian Ashworth (4): input/keyboard: send released only if pressed sent sway.5: remove mention of floating_scroll cmd_move: fix move to scratchpad hidden container cmd_mode: don't reset to default after subcommand Dark (1): Update titlebar borders to match i3's current behavior. Drew DeVault (3): Add _incr_version to contrib/ chmod +x contrib/_incr_version Further refinements to _incr_version script Laurent Bonnans (1): ipc: collapse multi-container command results Michael Aquilina (1): Fix formatting for title_format in man 5 sway Use explicit linebreaks to make scdoc use a separate line for each entry listed asdfjkluiop (1): A layer-shell will only be focused if it is non-null lbonn (1): Allow moving a container hidden in scratchpad
-
1.2-rc2
sway 1.2-rc2 Antonin Décimo (5): ipc-client: remove useless free for failed malloc input: check pointer against nullptr view_update_size: fix surface_width/height mismatch Fix memory leaks Remove redundant checks Brian Ashworth (7): handle_seat_node_destroy: do not focus own node workspace: do not destroy if any seat is focusing swaymsg.1: add tip about two hyphens for commands container_replace: copy {width,height}_fraction workspace_split: focus middle if workspace focused sway{,-bar}.5: add link to pango font description input/seatop_down: add axis handler Drew DeVault (1): layer-shell: add support for popups Ilia Bozhinov (1): properly check pixman_region32_contains_rectangle return Sebastian Krzyszkowiak (1): layer_shell: Guard against negative exclusive zone
-
1.2-rc1
sway 1.2-rc1 sway 1.2 includes 99 changes from 30 contributors. This release improves compatibility with i3 4.17, adds a small number of new features, and fixes many bugs. Abdelhakim Qbaich (1): Add the missing constant for the switch input type Aidan Harris (1): Fix segfault with "xwayland false" (#4228) Alex Maese (1): Unhide cursor on cursor activity after touch Alyssa Ross (2): bar: fix segfault with missing or invalid bar id commands/bar: improve error for invalid subcommand Antonin Décimo (2): Allocator sizeof operand mismatch Remove unused variable Ashkan Kiani (1): Avoid adding duplicate criteria for no_focus and command Brian Ashworth (41): Destroy swaybg client on reload config/output: fix typo in merge_id_on_name Spawn swaybar as a wayland client input/keyboard: attempt default keymap on failure commands/bar: fix mode and hidden_state at runtime input/switch: fix indentation of file common/ipc-client: remove ipc recv timeout log bindings: allow unlocked and locked bindings Add swaybar protocol documentation cmd_hide_edge_borders: add missing arg count check criteria: reset on semicolon separation commands/input: perform basic keymap validation config/input: validate xkb keymap before storing bindings: defer while initiailizing config/xwayland: retain xwayland status on reload config: fix find_handler logic cmd_seat: split action and config handlers cmd_mode: allow runtime creation and modification ws-output-priority: fix logic issue in find_output swaybar-protocol.7: fix block border descriptions cmd_bindswitch: add option to execute on reload input/libinput: only reset supported options config/output: correctly set width/height in apply cmd_layout: toggle split for tabbed/stack default cmd_split: fix toggle split for non-split layouts cmd_output: support current output alias input_cmd_xkb_switch_layout: support input types ipc: add an input event ipc: add input::libinput_config event arrange: remove gaps for workspace location deltas input/libinput: fix typo in set_middle_emulation libinput: fix set_send_events input/keyboard: don't reset layout for same keymap bindsym/code: add group support input/libinput: typo fixes (get -> get_default) cmd_swap: add floating support input/cursor: do not hide when buttons are pressed swaymsg: return 2 for sway errors cmd_mode: make modes case sensitive config/output: rebase cursors after config applied sway.5: explain how to enable pango markup in font Daniel Eklöf (3): add seat sub command 'xcursor_theme' swaybar/nag: use xcursor theme defined by XCURSOR_THEME/SIZE check for empty string before calling strtoul() and check errno Drew DeVault (4): Add Firefox note to ISSUE_TEMPALTE.md Create FUNDING.yml Bump meson version to 1.1 Remove rootston from build manifests Ed Younis (2): Implement input_cmd_xkb_file (#3999) input_cmd_xkb_*: cleanup includes Jeff Peeler (1): cmd_opacity: add relative opacity changes Josef Gajdusek (4): Implement wlr-output-management-v1 Update output manager config on all output events Provide current DPMS state in GET_OUTPUTS Update output manager on layout change Kenny Levinsen (1): Use parent get_root_coords in subsurfaces Manuel Stoeckl (2): Replace meson generator with custom_target Use -fmacro-prefix-map to strip build path Matt Coffin (1): Fix segfaults caused by faulty command parsing Moelf (1): Implement output toggle Nick Paladino (1): Make comment casing consistient Nomeji (1): Add infos to help using for_window to man 5 Paul Ouellette (1): Fix typo in sway(5) manpage Pedro Côrte-Real (7): Layout correctly with several new windows Layout tiled using a width/height fraction Rework gaps code to be simpler and correct Sanity check gaps between tiled containers Avoid negative outer gaps Sanity check gaps on the outside of the workspace Fix resize sibling amount calculations Robert Sacks (1): Add missing underscore in bindswitch documentation Rouven Czerwinski (3): desktop: output: fix use-after-free in destroy Fix sway crashes for scratchpad layouts Revert "Add support for wlr_output's atomic API" Sauyon Lee (1): Make fullscreen check for fullscreen parents Sebastian Parborg (1): Make mouse drag in tiled mode swap containers if no edge is selected Sergei Dolgov (4): Add calibration_matrix config option Use isnan calibration_matrix: add the current matrix to the IPC description for libinput devices calibration_matrix: expect 6 individual values Simon Ser (8): Fix xdg-decoration unconfigured if set before first commit Remove orbital gamma-control protocol ipc: add xkb_layout_names and xkb_active_layout_index Add a new xkb_switch_layout command Add missing docs for xkb_switch_layout Add docs for new IPC keyboard properties Remove all wayland-server.h includes Add support for wlr_output's atomic API jasperro (1): Added Dutch translation of README murray (1): use surface coordinates for damaging buffers random human (1): tree: set correct border value before creating floater rpigott (1): Add missing description for focus_on_window_activation command in docs.
-
1.1.1
sway 1.1.1 This release removes two commits which were mistakenly included in sway 1.1, but are incompatible with wlroots 0.6.0.
-
1.1
sway 1.1 sway 1.1 includes 255 changes from 58 contributors. This release introduces a few new features, but for the most part just fixes bugs and improves i3 compatibility. swaybg is now distributed as a standalone program which is compatible with many Wayland compositors. Unlike the other sway clients which have been split into separate projects, however, swaybg is a required dependency of sway. Packagers are encouraged to configure it as such when updating sway for their distribution. You do not have to change your sway configuration to accomodate for the swaybg changes - the same output commands will still work. 3ap (1): config.in: allow launch apps with args via dmenu Alex Maese (7): Fix a crash in swaybar when an icon dir is not readable Create unbindsym and unbindcode commands Add unbindswitch command Add unbindsym/unbindcode command for swaybar Clear pointer focus during move and resize seatops Don't send pointer motion when rebasing the cursor Fix a silly mistake Alyssa Ross (1): bar: fix segfault with missing or invalid bar id Ashkan Kiani (5): Fix crash for floating command on scratchpad window Fix scratchpad logic for floating windows Fix potential null accesses Add documentation for rename workspace Fix the payload type returned by IPC Ben Challenor (1): Make raw keysyms take precedence over translated Benjamin Cheng (2): Add heuristics to differentiate touchpads Implement input type configs (#3784) Brian Ashworth (94): seat_cmd_cursor: do not create non-existing seat load_include_configs: fix wordexp fail condition swaynag: remove trailing newlines in config execute_command: dont strip quotes for exec_always IPC_COMMAND: split on newline cmd_workspace_gaps: fix double free on bad amount output_cmd_background: fix no file + valid mode load_main_config: add realpath to config_chain Clarify error for options and positional args load_main_config: use given path, store realpath seat_configure_tablet_tool: configure xcursor bar_cmd_modifier: add support for none container_at_stacked: skip titles when zero pixels input/keyboard: respect solo repeat_{rate,delay} view: remove pointer constraints on unmap ipc: handle unnamed xkb_active_layout_name fix misc memory leaks Abort early when XDG_RUNTIME_DIR is not set workspace_get_initial_output: handle focused layer cursor: relative-pointer-v1 time is usec subsurface_get_root_coords: break on NULL seatop_move_tiling: use tab/stack parent not self seat: allow tree focus changes while layer focused seatop_move_tiling: do not move to descendant apply_output_config: dpms on before modeset Fix reload freeze when not modsetting current mode sway-input.5: document wildcard and identifier troubleshooting workspace_next_name: fallback to next available number seat_cmd_cursor: fix typo in expected syntax Use container under cursor for mouse bindings output_evacuate: call workspace_consider_destroy output_get_active_workspace: check workspaces length Handle NULL from output_get_active_workspace move scratchpad: hide visible scratchpad container input/cursor: allow whole-window bindings on ws handle_layer_shell_surface: do not use noop output handle_seat_node_destroy: update seat->workspace execute_command: do not strip qoutes for cmd_mode Add sway-ipc.7.scd to document IPC protocol sway-ipc.7: clarify window_rect omits decorations floating_maximum_size: change default behavior render_floating: skip fullscreen floaters sway.1.scd: document environment vars set by sway meson: update scdoc requirement to >= 1.9.2 ipc: change {,deco_}rect to match i3 ipc: fix rect for stacked children ipc: fix fullscreen deco_rect ipc: describe libinput device configuration output_damage_whole_container: damage subsurfaces damage: remove output_damage_view arrange: use int not size_t for title offsets fullscreen: init floating on disable without size detect_proprietary: use strncmp sway_view_child: add listener for view unmap get_deco_rect: fix floaters on tabbed/stacked ws Handle seat_get_focused_workspace returning NULL criteria: change workspace to support regex xwayland: handle floating configure request size Set prev_workspace_name based off of focus output_cmd_background: validate colors Fix output config retrieval for new outputs config/output: revamp identifier/name layering config/output: handle wildcard in get_output_config cmd_mode: allow cmd_set to be a subcommand criteria: fix __focused__ when no focus or unset fix opening a floating view on the NOOP output Implement inhibit_idle command Fix xwayland configure request scratchpad crash floating: fix size of non-view containers scratchpad: set initial size root_scratchpad_hide: fix crash when layer focused idle_inhibit: fix crash during view destruction swaybg: one instance for all outputs Honor output for xdg_toplevel_set_fullscreen cmd_focus: raise floating for `<criteria> focus` Fix scratchpad fullscreen behavior and crash swaynag: fix pointer management Spawn swaynag as a wayland client swaymsg: add timeout and type checks cmd_move: allow for all i3 syntax options ipc: fix criteria for emitting bar_state_update swaynag: revamp type configs swaybar: hide mode visibility improvements swaybar: add multiseat support cmd_move: respect workspace layout when inserting cmd_move: add support for output current sway.5.scd: clarify workspace config commands swaymsg: fix quiet error reporting Destroy swaybg client on reload config/output: fix typo in merge_id_on_name input/keyboard: attempt default keymap on failure commands/bar: fix mode and hidden_state at runtime input/switch: fix indentation of file common/ipc-client: remove ipc recv timeout log Caleb Bassi (1): ipc: add missing fields to disabled outputs Carlo Abelli (1): fix smart_borders description in manual Connor E (7): If validating the config, do it as early as possible. Initialize server so input manager is available. Return false if config could not be loaded. Restore CWD if returning early. Make load_include_configs void. Fix some cases where WD would not be restored. Allow 0 degree transform (normal transform). Add deprecation warnings for new_float, new_window, and force_focus_wrapping. Dacheng Gao (6): add chinese translation fix cs fix cs add link to README-zh-CN fix typo fix broken link to README.zh-CN.md Daniel Eklöf (1): ipc_has_event_listeners: fix inverted check of subscribed_events Dmitri Kourennyi (3): Implement handling of short_text field of i3 input protocol. Ensure predicted position for short text handling doesn't overflow. Add margin to short_text handling. Drew DeVault (11): Revert "Restore CWD if returning early." Revert "Return false if config could not be loaded." Remove refs to unimplemented debuglog command Add workspace {prev,next}_on_output --create swaybar: process hotspots on touch tap swaybar: cycle workspaces on touch drag Update language in sway.desktop & sway(1) Update formatting of zh-cn link in README.md Remove obsolete README translations swaybg: split into standalone project Bump required wlroots version Eric Drechsel (1): layout cmd: always operate on parent container, like i3Fixes #3724 Flakebi (1): Flush stdout in swaymsg when in subscribe mode Geoff Greer (1): Add support for manually setting subpixel hinting on outputs. Ian Fan (9): swaybar: prevent signal handler from firing during termination tray: use correct parameter to set bus slot to floating tray: when a service is lost, remove all matching items tray: fix memory leaks tray: fix pixmap colors stringop.c: remove unused functions stringop.c: clean up headers stringop.c: refactor a few functions commands: allow tiled sticky containers to be moved Igor Sviatniy (1): Update README.uk.md Ilja Kocken (1): Add link to i3 in first mention of README Jan Beich (1): config/output: unbreak on 32-bit architectures Jan Pokorný (1): bindings: fix overwrite log argument mismatch Jeff Peeler (1): fix "directive argument is null" errors Josef Gajdusek (1): Update output manager config on all output events Kenny Levinsen (1): Use parent get_root_coords in subsurfaces Konstantin Pospelov (7): Implement bindsym --to-code config: simplify keysym translation fields bindsym: change default keymap for --to-code bindsym: update the man page to include --to-code bindsym: consider xkb_rule_names for --to-code bindsym: change xkb_rule_names initialization config: fix clang warning Lane Surface (1): Remove extra inclusion of stdio.h Martin Michlmayr (1): sway-input.5: add xkeyboard-config(7) to "see also" Maxime “pep” Buquet (1): Validate icon_struct in read_theme_file Michael Vetter (1): Set version in project file Milkey Mouse (1): swaybar: add overlay mode (fix #1620) Noam Preil (1): Fixes crash in spawn_swaybg (closes #3733) Peter Grayson (3): Add -p/--pretty option to swaymsg Add missing swaymsg completions Repair swaynag crash reading message from stdin Philipe Goulet (1): Fix #3924 Philz69 (1): Updated the french readme (#3964) Ranieri Althoff (1): Send disabled output available modes on IPC get_outputs Rouven Czerwinski (9): fix double free for mode toggle if bar was invisible ipc-client: free payload after sending it over the socket run_as_ipc_client: free response after running the IPC command commands/move: reintroduce wrongly removed NULL check view: set xdg_decoration->view to NULL, check decoration destroy cursor: remove unused node assignement cursor: intitialize sx and sy to zero config: remove double assignement to result in get_output_config desktop: output: fix use-after-free in destroy Ryan Dwyer (10): Allow concurrent clicks Don't send button events to surfaces when dragging or resizing Fix click behaviour Replace seatup allows_events with button callback Introduce default seatop Document the title_format command Remove debug tree Clean up focus follows mouse logic Support focus <direction> for floating containers Fix null pointer crash when doing tiling drag Ryan Walklin (1): Support WLR_INPUT_DEVICE_SWITCH in sway Scott Anderson (1): Fix uninitialized read for wlr_surface_send_frame Simon Ser (5): swaybg: add manpage Update for wlroots#1660 ci: enable all features Don't submit too much damage Fix xdg-decoration unconfigured if set before first commit Stephan Hilb (1): swaybar: fix loading of malformed icon theme Tim Sampson (1): fish: improve completions a little bit Vincent Vanlaer (1): Check layout before getting pointer surface coords Yorick van Pelt (1): Add 'visible' key to view json response Yábir Benchakhtir (1): Spanish translation of the README Yábir García (2): Add spanish link to the home README Fix accents athrungithub (1): Don't remove from scratchpad on move to workspace bschacht (1): Set the correct version for wlroots dependency db (1): add --i3 flag to hide_edge_borders emersion (26): Fix quote stripping Fix close_popups for xdg-shell Rebase cursor when a layer surface maps Fix --version when building from tarball Disable unneeded wlroots subproject features Remove unused header include/sway/tree/output.h Fix Meson subproject boolean default options Disconnect swaybg instead of killing it Fix drag icon map listener not removed ci: add Alpine CI ci: add FreeBSD Don't use SOCK_CLOEXEC Add wp-primary-selection-unstable-v1 Update for swaywm/wlroots#1517 Set minimum wlroots version Print Meson features Add output dpms to manpage seat: don't send button release when not pressed meson: check scdoc version ci: use scdoc-git because 1.9.1 is broken Set DISPLAY after initializing Xwayland Fix container_parent_layout for scratchpad windows Fix crash in cmd_workspace when layer surface has focus meson: use pkg-config var for scdoc path Fix size_t temporary underflow in log_loaded_themes Stop using wlr_output->{lx,ly} hugbubby (1): Minor fix of code duplication. jajo-11 (1): Add German translation of the README ljedrz (1): Add Polish README minus (3): Fix crash exiting fullscreened floating container Fix crash when moving window to scratchpad Fix quoting of commands passed to for_window mliszcz (1): Allow for workspace renaming during exec handling mwenzkowski (3): view.c: refactor view_autoconfigure() Don't apply hide_edge_borders to floating windows hide_edge_borders.c: add missing case for --i3 vilhalmer (4): Focus ws inactive node with focus_follows_mouse Skip wildcard seat config in destroy_removed_seats Skip constraining cursor if no seat config Fall back to wildcard in sway_cursor_constrain
-
1.1-rc3
sway 1.1-rc3 This is the third release candidate for sway 1.1. Only changes from sway 1.1-rc2 are listed here. Alyssa Ross (1): bar: fix segfault with missing or invalid bar id Brian Ashworth (1): input/keyboard: attempt default keymap on failure
-
1.1-rc2
sway 1.1-rc2 This is the second release candidate for sway 1.1. Only changes from sway 1.1-rc1 are listed here. Brian Ashworth (2): Destroy swaybg client on reload config/output: fix typo in merge_id_on_name Simon Ser (1): Fix xdg-decoration unconfigured if set before first commit
-
1.1-rc1
sway 1.1-rc1 sway 1.1 includes 119 changes from 40 contributors. This release introduces a few new features, but for the most part just fixes bugs and improves i3 compatibility. swaybg is now distributed as a standalone program which is compatible with many Wayland compositors. Unlike the other sway clients which have been split into separate projects, however, swaybg is a required dependency of sway. Packagers are encouraged to configure it as such when updating sway for their distribution. https://github.com/swaywm/swaybg Changes - swaybg is now a standalone project New Features - swaybar now includes touch support - tapping to activate hotspots and dragging across to cycle through workspaces - You can now manually inhibit idle notifications (DPMS) when a certain criteria is active via inhibit_idle - Keybindings can now be unconfigured at runtime via unbind{sym,code,switch} - workspace {prev,next}_on_output --create will create the next workspace instead of wrapping to the start - Output subpixel layouts can now be explicitly configured - i3bar's short_text properties in the JSON protocol are now supported - swaybar now supports an "overlay" mode, which shows the bar on top of other windows and doesn't process input events - Switch devices (like lid switches) are now supported and can be bound to actions via bindswitch - swaymsg now supports a -p/--pretty option for explicitly enabling pretty-printing Changelog 3ap (1): config.in: allow launch apps with args via dmenu Alex Maese (7): Fix a crash in swaybar when an icon dir is not readable Create unbindsym and unbindcode commands Add unbindswitch command Add unbindsym/unbindcode command for swaybar Clear pointer focus during move and resize seatops Don't send pointer motion when rebasing the cursor Fix a silly mistake Ashkan Kiani (5): Fix crash for floating command on scratchpad window Fix scratchpad logic for floating windows Fix potential null accesses Add documentation for rename workspace Fix the payload type returned by IPC Benjamin Cheng (2): Add heuristics to differentiate touchpads Implement input type configs (#3784) Brian Ashworth (33): get_deco_rect: fix floaters on tabbed/stacked ws criteria: change workspace to support regex xwayland: handle floating configure request size Set prev_workspace_name based off of focus output_cmd_background: validate colors Fix output config retrieval for new outputs config/output: revamp identifier/name layering config/output: handle wildcard in get_output_config cmd_mode: allow cmd_set to be a subcommand criteria: fix __focused__ when no focus or unset fix opening a floating view on the NOOP output Implement inhibit_idle command Fix xwayland configure request scratchpad crash floating: fix size of non-view containers scratchpad: set initial size root_scratchpad_hide: fix crash when layer focused idle_inhibit: fix crash during view destruction swaybg: one instance for all outputs Honor output for xdg_toplevel_set_fullscreen cmd_focus: raise floating for `<criteria> focus` Fix scratchpad fullscreen behavior and crash swaynag: fix pointer management Spawn swaynag as a wayland client swaymsg: add timeout and type checks cmd_move: allow for all i3 syntax options ipc: fix criteria for emitting bar_state_update swaynag: revamp type configs swaybar: hide mode visibility improvements swaybar: add multiseat support cmd_move: respect workspace layout when inserting cmd_move: add support for output current sway.5.scd: clarify workspace config commands swaymsg: fix quiet error reporting Connor E (2): Allow 0 degree transform (normal transform). Add deprecation warnings for new_float, new_window, and force_focus_wrapping. Dacheng Gao (6): add chinese translation fix cs fix cs add link to README-zh-CN fix typo fix broken link to README.zh-CN.md Dmitri Kourennyi (3): Implement handling of short_text field of i3 input protocol. Ensure predicted position for short text handling doesn't overflow. Add margin to short_text handling. Drew DeVault (5): swaybar: process hotspots on touch tap swaybar: cycle workspaces on touch drag Update formatting of zh-cn link in README.md Remove obsolete README translations Bump required wlroots version Flakebi (1): Flush stdout in swaymsg when in subscribe mode Geoff Greer (1): Add support for manually setting subpixel hinting on outputs. Ian Fan (1): commands: allow tiled sticky containers to be moved Igor Sviatniy (1): Update README.uk.md Ilja Kocken (1): Add link to i3 in first mention of README Jan Beich (1): config/output: unbreak on 32-bit architectures Jan Pokorný (1): bindings: fix overwrite log argument mismatch Konstantin Pospelov (7): Implement bindsym --to-code config: simplify keysym translation fields bindsym: change default keymap for --to-code bindsym: update the man page to include --to-code bindsym: consider xkb_rule_names for --to-code bindsym: change xkb_rule_names initialization config: fix clang warning Lane Surface (1): Remove extra inclusion of stdio.h Martin Michlmayr (1): sway-input.5: add xkeyboard-config(7) to "see also" Maxime “pep” Buquet (1): Validate icon_struct in read_theme_file Milkey Mouse (1): swaybar: add overlay mode (fix #1620) Peter Grayson (1): Repair swaynag crash reading message from stdin Philipe Goulet (1): Fix #3924 Philz69 (1): Updated the french readme (#3964) Ranieri Althoff (1): Send disabled output available modes on IPC get_outputs Ryan Dwyer (7): Replace seatup allows_events with button callback Introduce default seatop Document the title_format command Remove debug tree Clean up focus follows mouse logic Support focus <direction> for floating containers Fix null pointer crash when doing tiling drag Ryan Walklin (1): Support WLR_INPUT_DEVICE_SWITCH in sway Scott Anderson (1): Fix uninitialized read for wlr_surface_send_frame Simon Ser (4): swaybg: add manpage Update for wlroots#1660 ci: enable all features Don't submit too much damage Stephan Hilb (1): swaybar: fix loading of malformed icon theme Tim Sampson (1): fish: improve completions a little bit Yábir Benchakhtir (1): Spanish translation of the README Yábir García (2): Add spanish link to the home README Fix accents bschacht (1): Set the correct version for wlroots dependency db (1): add --i3 flag to hide_edge_borders emersion (6): ci: add Alpine CI ci: add FreeBSD Add wp-primary-selection-unstable-v1 ci: use scdoc-git because 1.9.1 is broken Fix size_t temporary underflow in log_loaded_themes Stop using wlr_output->{lx,ly} jajo-11 (1): Add German translation of the README ljedrz (1): Add Polish README minus (1): Fix quoting of commands passed to for_window mliszcz (1): Allow for workspace renaming during exec handling mwenzkowski (3): view.c: refactor view_autoconfigure() Don't apply hide_edge_borders to floating windows hide_edge_borders.c: add missing case for --i3
-
1.0
sway 1.0 Ben Challenor (1): Make raw keysyms take precedence over translated Brian Ashworth (10): ipc: change {,deco_}rect to match i3 ipc: fix rect for stacked children ipc: fix fullscreen deco_rect ipc: describe libinput device configuration output_damage_whole_container: damage subsurfaces damage: remove output_damage_view arrange: use int not size_t for title offsets fullscreen: init floating on disable without size detect_proprietary: use strncmp sway_view_child: add listener for view unmap Drew DeVault (1): Update language in sway.desktop & sway(1) Ian Fan (3): stringop.c: remove unused functions stringop.c: clean up headers stringop.c: refactor a few functions Jeff Peeler (1): fix "directive argument is null" errors Peter Grayson (2): Add -p/--pretty option to swaymsg Add missing swaymsg completions Ryan Dwyer (2): Don't send button events to surfaces when dragging or resizing Fix click behaviour emersion (4): Set DISPLAY after initializing Xwayland Fix container_parent_layout for scratchpad windows Fix crash in cmd_workspace when layer surface has focus meson: use pkg-config var for scdoc path minus (1): Fix crash when moving window to scratchpad
-
1.0-rc5
sway 1.0-rc5 Sway 1.0-rc5 contains 19 changes from 7 contributors since 1.0-rc4, and only contains bug fixes. The recommended wlroots version to use with this sway release is 0.4. Package maintainers: please do not package this release. Brian Ashworth (7): execute_command: do not strip qoutes for cmd_mode Add sway-ipc.7.scd to document IPC protocol sway-ipc.7: clarify window_rect omits decorations floating_maximum_size: change default behavior render_floating: skip fullscreen floaters sway.1.scd: document environment vars set by sway meson: update scdoc requirement to >= 1.9.2 Ian Fan (1): tray: fix pixmap colors Noam Preil (1): Fixes crash in spawn_swaybg (closes #3733) Rouven Czerwinski (3): cursor: remove unused node assignement cursor: intitialize sx and sy to zero config: remove double assignement to result in get_output_config Ryan Dwyer (1): Allow concurrent clicks emersion (5): Set minimum wlroots version Print Meson features Add output dpms to manpage seat: don't send button release when not pressed meson: check scdoc version hugbubby (1): Minor fix of code duplication.
-
1.0-rc4
sway 1.0-rc4 Brian Ashworth (7): output_evacuate: call workspace_consider_destroy output_get_active_workspace: check workspaces length Handle NULL from output_get_active_workspace move scratchpad: hide visible scratchpad container input/cursor: allow whole-window bindings on ws handle_layer_shell_surface: do not use noop output handle_seat_node_destroy: update seat->workspace Caleb Bassi (1): ipc: add missing fields to disabled outputs Carlo Abelli (1): fix smart_borders description in manual Connor E (1): Make load_include_configs void. Fix some cases where WD would not be restored. Eric Drechsel (1): layout cmd: always operate on parent container, like i3Fixes #3724 Rouven Czerwinski (4): ipc-client: free payload after sending it over the socket run_as_ipc_client: free response after running the IPC command commands/move: reintroduce wrongly removed NULL check view: set xdg_decoration->view to NULL, check decoration destroy Yorick van Pelt (1): Add 'visible' key to view json response emersion (3): Fix drag icon map listener not removed Don't use SOCK_CLOEXEC Update for swaywm/wlroots#1517 minus (1): Fix crash exiting fullscreened floating container
-
1.0-rc3
sway 1.0-rc3 Sway 1.0-rc3 contains 24 changes from 6 contributors since 1.0-rc2, and only contains bug fixes. The recommended wlroots version to use with this sway release is 0.3. Package maintainers: please do not package this release. Brian Ashworth (11): cursor: relative-pointer-v1 time is usec subsurface_get_root_coords: break on NULL seatop_move_tiling: use tab/stack parent not self seat: allow tree focus changes while layer focused seatop_move_tiling: do not move to descendant apply_output_config: dpms on before modeset Fix reload freeze when not modsetting current mode sway-input.5: document wildcard and identifier troubleshooting workspace_next_name: fallback to next available number seat_cmd_cursor: fix typo in expected syntax Use container under cursor for mouse bindings Drew DeVault (1): Remove refs to unimplemented debuglog command Ian Fan (4): swaybar: prevent signal handler from firing during termination tray: use correct parameter to set bus slot to floating tray: when a service is lost, remove all matching items tray: fix memory leaks Vincent Vanlaer (1): Check layout before getting pointer surface coords athrungithub (1): Don't remove from scratchpad on move to workspace emersion (6): Rebase cursor when a layer surface maps Fix --version when building from tarball Disable unneeded wlroots subproject features Remove unused header include/sway/tree/output.h Fix Meson subproject boolean default options Disconnect swaybg instead of killing it