i3-compatible Wayland compositor
Sway 1.9 contains 238 changes from 67 contributors.
This release depends on wlroots 0.17.0. See the wlroots release notes.
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
Sway 1.9-rc1 contains 227 changes from 65 contributors.
This pre-release depends on wlroots 0.17.0. See the wlroots release notes.
33KK (1):
Fix `bindsym --to-code` not respecting input configs
Aidan Dang (1):
Add `primary_selection` config option
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 (18):
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
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 (94):
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
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 (3):
gitignore: Ignore clangd-generated directory .cache/
config/output: Allow approximation of output refresh rate
sway: raise error on non-accessible background file
Tobias Bengfort (1):
focus_on_window_activation: raise if floating
Tobias Predel (1):
root: free non_desktop_outputs list on root_destroy
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
Sway 1.8 contains 186 changes from 69 contributors.
This release depends on wlroots 0.16.0. See the wlroots release notes.
bindgesture
command can be used to bind actions to touchpad gesturesext-session-lock-v1
protocol (supported by swaylock)output unplug
command has been added to remove virtual outputsCAP_SYS_NICE
can be set to improve scheduling: #6994output dpms
command has been deprecated (superseded by output power
): #7083-k (2):
Add descriptions for `stacking` and `tabbed` layouts
man: Fix trailing spaces
Alan (1):
Update grimshot.1.scd
Aleksei Bavshin (1):
xdg-shell: use toplevel geometry to adjust the popup box
Alex Maese (3):
sway: Add non-desktop-output type
sway: add non-desktop outputs to json when running `swaymsg -t get_outputs`
swaymsg: show non-desktop property when pretty printing outputs
Alexander Browne (1):
Minor update to focus_on_window_activation
Alexander Gramiak (1):
sway/input: don't pass possibly invalid modifiers pointer
Alexander Orzechowski (2):
container_floating_set_default_size: Store workspace size box on the stack
workspace_create: Don't allow NULL name
Alice Carroll (1):
Support cursor capture in grimshot
Andri Yngvason (1):
sway/commands/output: Add command for unplugging non-physical outputs
Ankit Pandey (1):
commands/move: Warp cursor after moving workspace to another output
Baltazár Radics (3):
ipc: make get_deco_rect check config->hide_lone_tab
man: sway(5) move fixes
container_get_siblings: handle NULL workspace
Bill Li (1):
Updating criteria checking with PCRE2
Callum Andrew (1):
criteria: allow matching for NULL string criteria
Daniel De Graaf (7):
Avoid format-truncation warning
Shuffle variables to satisfy -Werror=restrict
Implement ext-session-lock-v1
Avoid inspecting a NULL view in seat_set_focus
ext-session-lock: disable direct scan-out when locked
Rework session lock keyboard focus handling
Fix focus tracking when session lock is active
David Rosca (1):
container: Fix crash when view unmaps + maps quickly
David96 (1):
commands/move: Fix crash when pos_y is omitted
Eskil (1):
Add Swedish README
Ferdinand Schober (4):
allow pointer_constraints on layer_shell surfaces
check for NULL
use seat directly
Use keyboard_state.focused_surface directly
Filip Szczepański (1):
Fix crash in xdg_activation_v1.c
Florian Franzen (1):
sway: add bindgesture command
Greg Depoire--Ferrer (1):
swaynag: move close_button up to fix SIGSEGV
Hongyi (1):
Polish the language in README.zh-CN.md & sync with English one
Hugo Osvaldo Barrera (3):
Avoid unecessary string copy
Reject font values that are invalid for pango
Reuse parsed PangoFontDescription
Joan Bruguera (2):
swaybar: Prioritize hotspot events to bar bindings
swaybar: Make hotspots block bar release bindings
Kenny Levinsen (5):
meson: check: false on run_command
Print deprecation notice when running SUID
Refuse to start when SUID is detected
seat: Avoid sending redundant keymaps on reload
seat: Set keyboard if seat keyboard is NULL
Kirill Chibisov (1):
build: fix building with basu
Kirill Primak (9):
swaynag: remove buffer destruction condition
chore: chase wlr_output_layout_get_box() update
Chase wlroots xdg-shell refactor
chore: chase wlroots xdg-shell update
xdg-shell: schedule a configure on maximize request
input: chase delta_discrete semantics change
ci: install hwdata
Use wlr_damage_ring
output: set damage ring bounds to pixel values
Leonardo Hernández Hernández (2):
sway/input: fix bad position of wlr_drag
sway/input: wlr_seat_keyboard() now takes wlr_keyboard
LordRishav (1):
Add a Hindi (हिन्दी) translation to the README
Manuel Stoeckl (2):
sway/main: move constants off the stack
Use shm_open instead of mkstemp
Marco Rubin (1):
Translated README into Italian
Martin Michlmayr (1):
sway-output.5: improve display of parameter
Michael Weiser (1):
config: Remove unused mouse binding structure
Moon Sungjoon (1):
sway/input: destroy sway_switch properly
Muhamed Hobi (1):
Fix snprintf compiler warning
Nathan Schulte (2):
swaybar: fix tray_padding vs min-height re: scale
swaybar: fix tray item icon scaling, positioning
Nicolas Avrutin (1):
commands/focus: fix segfault when no container is already focused.
Nihal Jere (9):
swaynag: die on all allocation failures
swaynag: allocate button_details with details
swaynag: statically allocate button_close, and move declaration
swaynag: remove unnecessary zero of swaynag struct
swaynag: remove redundant status variables in main
remove unnecessary strlen call
swaynag: do error checking and rename read_from_stdin
swaynag: improve robustness when loading config
swaynag: combine consecutive declaration/assignments
Oğuz Ersen (1):
bash-completion: localize variables
Patrick Hilhorst (1):
treat fullscreen windows as 'tiled' for commands/focus
Puck Meerburg (2):
tree: support formatting null titles
criteria: allow matching on empty (NULL) titles
Ronan Pigott (12):
cmd/swap: error on swapping a container with itself
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
Rouven Czerwinski (3):
transaction: destroying nodes aren't hidden
server: request xdg-shell v2
realtime: request SCHED_RR using CAP_SYS_NICE
Sefa Eyeoglu (1):
build: bump wlroots dependency to 0.16.0
Seth Barberee (1):
[IPC] Add repeat delay/rate info to keyboard
Simon Ser (54):
swaymsg: replace if with switch in pretty_print
swaymsg: add GET_TREE pretty-printing
swaybar: fix errno handling in status_handle_readable
Add cairo_image_surface_create error handling
build: bump version to 1.8-dev
Destroy sub-surfaces with parent layer-shell surface
Add safety assert in parse_movement_unit
Upgrade for wlroots surface refactoring
commands/focus: drop trailing whitespace
build: execute wlroots subproject before finding deps
Use bools for CLI flags
readme: add link to Italian translation
readme: sort language list alphabetically
readme: use relative links for translations
xdg-shell: use wlr_xdg_toplevel in sway_view
xdg-shell: use wlr_xdg_popup in sway_xdg_popup
Remove all sprintf calls
Remove WLR_SWITCH_STATE_TOGGLE usage
swaybar: remove swaybar_output.input_region
swaybar: set opaque region
Replace strncpy with memcpy
De-duplicate IPC output descriptions
Handle NULL output make/model/serial
build: link with -pthread
ipc: remove chatty debug log messages
config/output: use wlr_output_commit_state
Remove access to wlr_input_device union
Rename dpms output command to power
ipc: add "power" to output reply
config.in: switch to `output power`
Remove internal references to DPMS
Enable single-pixel-buffer-v1
ipc: drop WLR_OUTPUT_ADAPTIVE_SYNC_UNKNOWN case
config/output: test adaptive sync
ipc: expose mode picture aspect ratio
swaymsg: show mode picture aspect ratio
build: simplify protocol paths
Fix leaks in criteria_destroy()
Add support for ext-idle-notify-v1
Use wl_signal_emit_mutable()
lock: fix crash on output destroy
ci: checkout wlroots 0.16.0
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.8-rc1
build: fix have_xwayland when xcb-icccm is not found
build: bump version to 1.8-rc2
build: bump version to 1.8-rc3
build: bump version to 1.8-rc4
swaynag: fix NULL font description
build: bump version to 1.8
Simon Zeni (5):
sway/commands: add missing wlr_keyboard interface include in xkb_switch_layout
sway/input: use wlr_input_device from input device base
sway/input/cursor: take device mm size from wlr_tablet
sway/input/seat: take output name from specialized input device
sway/input: follow up wlroots input device events renaming
Thomas Hebb (4):
input/seat: unset has_focus when focus_stack becomes empty
Remove some erroneous apostrophes in comments
Don't enter seatop_move_floating when fullscreen
layer_shell: keep output non-NULL wherever possible
Thomas Jost (1):
Strip quotes in bindsym --input-device=...
Tobias Bengfort (1):
tray: do not render passive items
Tudor Brindus (6):
input/cursor: count pointer gestures as idle activity
input/cursor: treat swipe begin as idle activity too
input/cursor: pass through pointer hold gestures
input: focus floating container when clicked on border
input: focus container when scrolling on titlebar
input: tweak focus behavior to allow focusing parent containers
Tuomas Yrjölä (1):
xwayland: listen to `request_activate` event
Victor Makarov (1):
xkb_switch_layout: fix relative layout switches
Yaroslav de la Peña Smirnov (1):
Fix keymap being NULL and segfaulting on dev add
Yasin Silavi (1):
Fix farsi label
cparm (1):
Avoid double free in criteria_destroy()
kraftwerk28 (2):
Chase wlroots X11 hints update
Allocate enough space for `cmd_results->error`
llyyr (2):
swaymsg: fix floating_nodes being ignored
grimshot: fix tilde expansion within quotes
ndren (1):
Replace pcre with pcre2
nerdopolis (1):
Fix build on Debian Stable
ohno418 (1):
Improve Japanese translation
pudiva chip líquida (1):
Support libinput's 1.21 new dwtp option
zkldi (1):
fix: remove redundant empty statement in main.c
マリウス (1):
man: Add XWayland information