The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.

Download Latest Version 1.11 source code.zip (5.8 MB)
Email in envelope

Get an email when there's a new version of Sway

Home / 1.9
Name Modified Size InfoDownloads / Week
Parent folder
sway-1.9.tar.gz 2024-02-24 5.6 MB
sway-1.9.tar.gz.sig 2024-02-24 566 Bytes
README.md 2024-02-24 16.1 kB
sway 1.9 source code.tar.gz 2024-02-24 5.6 MB
sway 1.9 source code.zip 2024-02-24 5.8 MB
Totals: 5 Items   16.9 MB 0

Sway 1.9 contains 238 changes from 67 contributors.

This release depends on wlroots 0.17.0. See the wlroots release notes.

New features

  • All of the enhancements from wlroots 0.17, including support for the new content-type-v1, xwayland-shell-v1, wp-fractional-scale-v1, security-context-v1 and cursor-shape-v1 protocols
  • Improved xdg-activation-v1 support with workspace tracking and multi-seat
  • The rendering code has been ported to the new wlroots rendering API, yielding better performance
  • A new config option to disable primary selection
  • A new input commands to set libinput's rotation angle and scroll button lock
  • Tablet tool buttons can now be used for floating mode resize
  • The IPC output event is now supported
  • Add support for layer-shell's on-demand keyboard interactivity

Changes

  • The default menu has been changed to wmenu: [#7384]
  • The KDE idle protocol is no longer supported (superseded by the standard idle-notify-v1 protocol)
Full changelog 33KK (1): Fix `bindsym --to-code` not respecting input configs Aidan Dang (1): Add `primary_selection` config option Aleksei Bavshin (1): xdg-activation: distinguish activation and urgency requests Alexander Courtis (1): Apply new adaptive sync value from wlr-output-management Alexander Orzechowski (16): workspace_create: Don't allow NULL name warp_to_constraint_cursor_hint: Handle NULL view swaybar: Set opaque region properly swaybar: Lift background clearing out of main rendering function Chase wlroots!4067 xdg_shell: Fix crash if popup generates while toplevel is in the scratchpad render: pass rendering state together in a struct render: Don't pass matrix into render_texture render: Use wlr_render_pass Don't crash if there is no damage during render gamma_control_v1: Reset dirty flag render: Use wlroots scale filter swaybar: Implement wp_cursor_shape_v1 swaynag: Implement wp_cursor_shape_v1 Chase wlroots!4331 output: Destroy when output layout is destroyed Ankit Pandey (3): commands/move: Warp cursor after moving workspace to another output root: Try to preserve relative positions of floating containers root: Set inactive focus when scratchpad is moved to new workspace Artturin (2): chase wlroots wlr_renderer_begin_buffer_pass change chase wlroots 'presentation-time: add separate helper for zero-copy ' AsciiWolf (2): Translate README to Czech Fix typo in Czech README translation Ashraf (1): Translate README to Arabic Baltazár Radics (2): Fix input command order (rotation_angle) ipc: add ability to subscribe to output event Bill Li (1): chase wlroots!4411 Carl Smedstad (6): Remove duplicate declarations Add missing includes & remove duplicates Make cmd_handler.command const Remove redundant return statements Replace math functions that promote float to double Use correct length for strncmp comparison Cedric Sodhi (1): Added reference for event types to swaymsg manpage Cezary Drożak (1): input/libinput: add scroll_button_lock method Daniel Hill (1): Fix map_to_output * turning off device Dudemanguy (4): view: update wlr_toplevel size on client resizes Revert "view: update wlr_toplevel size on client resizes" xdg_shell: update wlr_toplevel size on client resizes xdg_shell: don't update wlr_toplevel if the container has no size yet EBADBEEF (1): view: re-apply criteria when window gets unmapped Elyes Haouas (1): Fix old style function definitions Erik Reider (4): Init the damage_ring bounds on output creation Fix damage-ring bounds not being set when unplugging -> plugging in monitor Fix layer old damage not being offset by the monitor layout coords Add support for wlr-layer-shell ON_DEMAND keyboard interactivity Hodong (1): swaybar: remove the argument of StatusNotifierHostRegistered Jan Beich (1): readme: Stop recommending setuid bit for non-logind systems Joan Bruguera (2): swaybar: Prioritize hotspot events to bar bindings swaybar: Make hotspots block bar release bindings Joe Kappus (1): build: bump wlroots dependency to 0.17.0 Johan Sköld (1): i3 compat: Adding support for the `all` criteria John Chadwick (1): Improve tablet tool button handling. Kenny Levinsen (4): seat: Avoid sending redundant keymaps on reload seat: Set keyboard if seat keyboard is NULL render: Apply clip to rendered texture correctly render: Clear using wlr_output dimensions Kirill Primak (9): output: set damage ring bounds to pixel values input/tablet: handle focusing NULL surface xwayland: don't rely on event source being data chore: chase wlroots map logic unification lock: listen to the correct map signal xwayland: fix mapped state check in OR handlers chore: chase wlroots xdg-surface role rework view: check if the buffer was uploaded on save xdg-shell: send maximized if tiled isn't supported Leonardo Hernández Hernández (1): chase wlroots!4316 Lina Banik (1): seat: Fix reloading cursor theme after change Lucas Zampieri (1): Add libinput RotationAngle Manuel Stoeckl (4): Use shm_open instead of mkstemp swaynag: call swaynag_destroy on clean exit swaybar: handle wayland-cursor failures sway/server: Fix null pointer crash when Xwayland disabled Mark Bolhuis (1): input: Move wlr_pointer_gestures_v1 to sway_input_manager Matt Fellenz (1): Use locale time format for default bar command Mukundan314 (1): swaybar: always subscribe to mode and workspace NemuiBanila (1): seat: Fix cursor theme reload for tablet tool Nick Kipshidze (1): Add Georgian README Radical (1): Add Norwegian READMR Robin Jarry (1): Allow windows in scratchpad to set the urgent flag Ronan Pigott (19): root: move the workspace matching code to its own file node: prettify node type names launcher: track workspaces by node launcher: use xdga tokens launcher: rename pid_workspace to launcher_ctx view: associate launch contexts with views launcher: initialize launcher_ctxs once on startup launcher: fudge the interface a bit launcher: export xdga tokens and use them for workspace matching launcher: export X startup ids and use them for workspace matching criteria: be lenient on window_role and instance too input: enable user xkb configs with cap_sys_nice view: make request_activate take a seat launcher: make launcher context seat aware launcher: support external launcher tokens xdg-activation: fix urgency when the client does not specify a seat container: rehome the container_swap function into container.c Add a .mailmap file launcher: track the seat in the launcher ctx Rouven Czerwinski (1): gamma_control_v1: handle destroyed output Sergei Trofimovich (2): swaynag/config.c: fix build against gcc-14 (-Walloc-size) sway/config.c: use `memcpy()` for known buffer size Shaked Flur (1): man: add --inhibited and --no-repeat to bindsym and bindcode usage Simon Ser (100): input/seat: locally compute drag icon offset Listen to the output request_state event ipc: add view content type Update for wlroots!3814 build: drop wayland-scanner fallback build: unify server & client protocol generation build: drop "server" from target name for protocol code build: drop intermediate libraries for protocols build: drop unused wayland-egl dependency build: bump version to 1.9-dev Make GLES2 optional Make DRM backend optional Make session optional Make libinput backend optional build: remove trailing newline at end of file build: move completions to separate file build: fix have_xwayland when xcb-icccm is not found Chase breaking changes in wlroots!3903 ci: install Xwayland .pc file swaynag: fix NULL font description swaynag: drop swaynag_type.font man: fix typo in output disable docs tree/container: drop unnecessary check in container_get_siblings() Send wl_surface.enter for ext-session-lock surfaces Fix indentation in surface_is_xdg_popup() Fix pointer events for ext-session-lock surfaces Check return value of wlr_renderer_begin() Switch default menu to wmenu ipc: add support for output event Convert to wlr_xwayland_surface_try_from_wlr_surface() Convert to *_try_from_wlr_surface() swaymsg: print output power status swaymsg: s/inactive/disabled/ ci: install hwdata-dev on Alpine Use wlr_linux_dmabuf_feedback_v1_init_with_options() Introduce surface_{enter,leave}_output() Add support for fractional-scale-v1 Update surface fractional scale on output change layer-shell: enter output before surface is mapped Adjust scale for fractional-scale-v1 Constify pixman_region32_t for rendering functions Move output commit out of output_render() Check for empty damage before attaching render buffer man: deprecate seat cursor move/set/press/release ipc: add LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM entry Remove duplicate wlr_damage_ring_set_bounds() call Pass version to wlr_compositor_create() Skip direct scan-out commit when damage is empty Set output damage during direct scan-out Introduce output_match_name_or_id() Use all_output_by_name_or_id() in merge_id_on_name() Use output_match_name_or_id() in apply_output_config_to_outputs() Use output_match_name_or_id() in workspace functions Add format_str() and vformat_str() pango: add printf attribute commands/floating_minmax_size: fix error strings commands: add printf attribute to cmd_results_new() config: add printf attribute to config_add_swaynag_warning() swaynag: add printf attribute to swaynag_log() common/gesture: use format_str() Use format_str() throughout render: fix titlebar texture clipping Handle gamma-control-v1 set_gamma events desktop/output: use detached output state for page-flips desktop/output: fix damage bitfield in wlr_output_state Use wlr_cursor_set_xcursor() Use wlr_cursor_unset_image() idle-inhibit-v1: simplify with server global Use "default" XCursor instead of "left_ptr" Send wl_surface.preferred_buffer_scale swaynag: handle wayland-cursor failures Deprecate seat idle_wake Add support for cursor-shape-v1 desktop/output: drop logic to handle backend-applied mode desktop/output: drop handle_mode() desktop/output: fix output manager enabled state output: drop current_mode Move contrib/ to separate repository Hide xwayland_shell_v1 from regular clients Drop support for KDE's idle protocol input/seat: don't configure mappings for switches input/seat: rename seat_apply_input_config Only reconfigure input mappings on output change input/input-manager: drop input_manager_configure_all_inputs Apply gamma LUT when an output re-enabled Add support for security-context-v1 Fix reference to wlr_output_event_commit.committed ci: checkout wlroots 0.17 desktop/xwayland: correctly handle association on o-r change input: reconfigure send_events on output hotplug readme: add swaybg as optional dep Mark DRM lease protocol privileged Clarify gdk-pixbuf dependency purpose build: bump version to 1.9-rc.1 build: bump version to 1.9-rc.2 build: bump version to 1.9-rc.3 commands: make primary_selection a config-only command Fix build with wlroots DRM backend disabled build: bump version to 1.9-rc.4 build: bump version to 1.9 Simon Zeni (4): sway/server: specify wlr-layer-shell version on creation sway/desktop/output: listen to output mode in commit handle sway/lock: handle mode in output commit handler ci: add libdisplay-info dependency Stacy Harper (1): Implement seatop_touch Stanislav Ochotnický (1): man: add warning for hide_cursor configuration Tamino Bauknecht (4): gitignore: Ignore clangd-generated directory .cache/ config/output: Allow approximation of output refresh rate sway: raise error on non-accessible background file sway/output: Improve logging of swaybg execvp failure and more checks Tobias Bengfort (1): focus_on_window_activation: raise if floating Tobias Predel (1): root: free non_desktop_outputs list on root_destroy Violet Purcell (1): sway/config.c: only reset primary_selection at launch bretello (1): fix crash when resizing tiled scratchpad windows denppa (1): build: fix build with wayland-scanner subproject hrdl (3): Add support for touch cancel events handle_touch_cancel: fix begin default seatop_down: Call seatop_begin_default after sending touch events iff (2): commands/input/map_from_region: don't treat 0x prefix as hex identifier Update sway-input.5.scd llyyr (2): sway{,bar}: use default font hint style swaybar: don't set current workspace as not visible luzpaz (1): Fix typo mrusme (1): Update sway.5.scd nerdopolis (1): Fix build on Debian Stable novenary (1): Disable direct scanout for surfaces with popups nukoseer (1): Calculate tiled resize amount relative to parent container ookami (1): Rebase all cursors in handle_surface_map rj1 (1): fix typo Łukasz Adamczak (2): Correct window_rect.y with hide_edge_borders Clarify documentation for window_rect
Source: README.md, updated 2024-02-24