Releases: swaywm/sway
Releases · swaywm/sway
sway 1.8.1
Alexander Courtis (1): Apply new adaptive sync value from wlr-output-management Alexander Orzechowski (1): warp_to_constraint_cursor_hint: Handle NULL view Carl Smedstad (1): Use correct length for strncmp comparison Kate (1): Allow setting the font size to 0 Kirill Primak (1): input/tablet: handle focusing NULL surface Simon Ser (4): man: fix typo in output disable docs Send wl_surface.enter for ext-session-lock surfaces Fix pointer events for ext-session-lock surfaces build: bump version to 1.8.1 Tobias Bengfort (1): focus_on_window_activation: raise if floating Łukasz Adamczak (2): Correct window_rect.y with hide_edge_borders Clarify documentation for window_rect
1.8
Sway 1.8 contains 186 changes from 69 contributors.
This release depends on wlroots 0.16.0. See the wlroots release notes.
New features
- A new
bindgesture
command can be used to bind actions to touchpad gestures - More robust and secure screen lockers via the new
ext-session-lock-v1
protocol (supported by swaylock) - A new
output unplug
command has been added to remove virtual outputs - libinput's new "disable while trackpointing" setting and high-resolution scroll wheel events are now supported
- xdg-activation-v1 is now used for more reliable workspace matching when launching new clients
- Various improvements from wlroots' Vulkan renderer
Changes
- On Linux,
CAP_SYS_NICE
can be set to improve scheduling: #6994 - Manufacturer names in output identifiers might have changed: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3541#note_1384124
- SUID-root is no longer supported: #7044
- The
output dpms
command has been deprecated (superseded byoutput power
): #7083 - The pcre dependency has been replaced with pcre2: #6883
Full changelog
-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:...
sway 1.8-rc4
Ankit Pandey (1): commands/move: Warp cursor after moving workspace to another output Kenny Levinsen (1): seat: Set keyboard if seat keyboard is NULL Simon Ser (1): build: bump version to 1.8-rc4
sway 1.8-rc3
Kenny Levinsen (1): seat: Avoid sending redundant keymaps on reload Ronan Pigott (1): criteria: be lenient on window_role and instance too Simon Ser (1): build: bump version to 1.8-rc3
sway 1.8-rc2
Simon Ser (2): build: fix have_xwayland when xcb-icccm is not found build: bump version to 1.8-rc2 nerdopolis (1): Fix build on Debian Stable
1.8-rc1
Sway 1.8-rc1 contains 175 changes from 67 contributors.
This pre-release depends on wlroots 0.16.0. See the wlroots release notes.
New features
- A new
bindgesture
command can be used to bind actions to touchpad gestures - More robust and secure screen lockers via the new
ext-session-lock-v1
protocol (supported by swaylock) - A new
output unplug
command has been added to remove virtual outputs - libinput's new "disable while trackpointing" setting and high-resolution scroll wheel events are now supported
- xdg-activation-v1 is now used for more reliable workspace matching when launching new clients
- Various improvements for the Vulkan renderer
Changes
- On Linux,
CAP_SYS_NICE
can be set to improve scheduling: #6994 - Manufacturer names in output identifiers might have changed: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3541#note_1384124
- SUID-root is no longer supported: #7044
- The
output dpms
command has been deprecated (superseded byoutput power
): #7083 - The pcre dependency has been replaced with pcre2: #6883
Full changelog
-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
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 (3):
meson: check: false on run_command
Print deprecation notice when running SUID
Refuse to start when SUID is detected
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 (11):
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
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 (48):
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
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 Jo...
sway 1.7
Sway 1.7 contains 211 changes from 77 contributors.
This release depends on wlroots 0.15.0. Also see the wlroots release notes: https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.15.0.
New features
- Add
output render_bit_depth
command to enable high-bit depth composition. - Tabs can now be dragged with the mouse.
- Zero-copy direct scanout for fullscreen windows should work more reliably thanks to linux-dmabuf surface feedback.
- Add support for virtual reality headsets via DRM leasing.
- Wayland-native urgency has been implemented via the xdg-activation-v1 extension.
- Add
output dpms toggle
command to easily toggle screen blanking from scripts. - Add
gaps <type> <scope> toggle <px>
,smart_gaps inverse_outer
andsplit none
commands. - Add
output modeline
command to set a full custom DRM mode when custom modes don't work out-of-the-box. - Add
client.focused_tab_title
color option.
Changes
--my-next-gpu-wont-be-nvidia
has been removed, use--unsupported-gpu
instead. The Nvidia proprietary driver remains unsupported. See b48cb6b for details.- The terminal emulator in the default config file has been changed to foot.
- swaybar and swaynag can now be disabled at build-time.
- Titlebars now have a fixed height, they no longer resize depending on characters used in the title.
Full changelog
Aleksei Bavshin (2):
ipc: make `bar <bar_id> mode|hidden_state` behave as documented
xdg-shell: use toplevel geometry to adjust the popup box
Alexander Orzechowski (1):
view: Fix null dereference
Aljaz Gantar (2):
fix type error when class_name none
refactor icon_for_window function
Bart Pelle (1):
docs: fix invalid release signing keys
Bartel Sielski (1):
idle_inhibit: Fix tree view after changes in commit 152a559e
Bartłomiej Burdukiewicz (1):
main: removed vc4 detection code.
Bill Doyle (1):
Only defer seat attachment during initial startup
Birger Schacht (1):
Fix a couple of typos
Caduser2020 (1):
Simplify swaybar/swaynag scaling code
Christian Llupo (1):
README: Added Greek translation
Cole Mickens (1):
meson.build: require wayland-protocols 1.24
Daniel De Graaf (1):
Fix overly-wide mark textures
Daniel Eklöf (2):
sway: commands: exec: restore SIGPIPE before exec:ing
sway: restore SIGPIPE handler before exec:ing swaybar
Daniel Otero (1):
config: Fix swaybar pango_markup inconsistency
David Rosca (4):
seatop_down: Change type of sx, sy to double in begin_seatop_down
Add `output modeline` command
xwayland: Clear wlr_xwayland_surface in handle_destroy
container: Fix crash when view unmaps + maps quickly
David96 (1):
commands/move: Fix crash when pos_y is omitted
Dominique Martinet (1):
view_destroy: fix use-after-free with subsurface_destroy
Drew DeVault (1):
config.in: change terminal emulator to foot
Dudemanguy (2):
container: ignore borders in fullscreen windows
xdg-decoration: let floating clients set borders
Dylan Araps (1):
Add meson options to enable/disable swaybar and swaynag
Elyes HAOUAS (2):
desktop/layer_shell.c: Fix misspelled "exclusive"
sway-input.5.scd: Fix spelling errors
Elyesa (1):
Add Turkish README
Eric Engestrom (2):
cmd_bind_or_unbind_switch: fix copy/paste typo error message
sway: allow IPCs on proprietary drivers
Erik Reider (1):
Added scroll_factor input variable to ipc output
Evgeniy Khramtsov (1):
commands: Remove unused code after 1d3681f52135
Hugo Osvaldo Barrera (5):
grimshot: Exit 1 on cancellation
Use fixed titlebar heights
Deduplicate code for rendering titlebar texts
Avoid unecessary font metric calculations
Drop hardcoded font metric values
Issam E. Maghni (1):
cairo: Replace <cairo/cairo.h> by <cairo.h>
István Donkó (1):
Add Hungarian translation for the README
Ivan Fedotov (1):
Add toggle logic inside DPMS handler
Jack Byrne (1):
Change 'Danish' to 'Dansk' in README
James Edwards-Jones (1):
swaynag: adds option to set wayland shell layer
Jari Ronkainen (1):
Improve built-in touchscreen detection
Jason Nader (4):
swaymsg: use INT_MAX max JSON depth when parsing IPC response
swaymsg: be explicit about the json parser error
swaymsg: fix misplaced return value
refactor: use JSON_MAX_DEPTH everywhere
Jonas Große Sundrup (3):
clarify the type of raw output
change incorrectly documented output types
cross-reference further documentation
Kenny Levinsen (9):
ci: Install libseat
meson: libseat is no longer optional
Remove usage of surface->sx|sy
desktop/render: Pass explicit clip box to render
input: Move get_current_time_msec in from util
ci: Test wlroots static linking
readme: Align Danish translation with main README
meson: check: false on run_command
Print deprecation notice when running SUID
Kirill Chibisov (1):
build: fix building with basu
Kirill Primak (12):
view: fix saved buffer order
surface: chase wlr subsurface list/link change
render: fix -Ddamage=rerender
view: fix child position calc
xdg-shell: chase wlr xdg toplevel refactor
Revert "xdg_shell: schedule configure on maximize requests"
xdg-shell: remove unused request_maximize listener
layer-shell: chase wlr layer surface refactor
layer-shell: check `committed` bitmask
layer-shell: fix commit handler
container: fix surface_is_popup()
output: remove surface buffer damage check
Ludvig Michaelsson (1):
swaybar: signal status command's process group
M.Zeinali (1):
readme: use right-to-left marks in ir translation
Manuel Stoeckl (3):
commands/exec: stop truncating >4095-byte commands
Update URL to wlroots project (GitHub->GitLab)
Add 'output render_bit_depth [8|10]' command
Michael Weiser (1):
Prevent use-after-free on first bar subcommand error
Nathan Schulte (5):
swaybar: properly draw urgent block right border
swaybar: properly draw blocks with transparent black border
swaybar: fix cairo_font_options leak
swaybar: fix tray_padding vs min-height re: scale
swaybar: fix tray item icon scaling, positioning
Nihal Jere (2):
config.in: use portable hour specifier
config.in: use swaynag -B instead of -b
Patrick Hilhorst (1):
treat fullscreen windows as 'tiled' for commands/focus
Ragnar Groot Koerkamp (5):
Fix #6299 Disable auto_back_and_forth for next_on_output
Move auto_back_and_forth logic out of workspace_switch
Only call workspace_auto_back_and_forth when needed
Revert "Add workspace {prev,next}_on_output --create"
Update clang format to better match existing code
Rahiel Kasim (1):
fix typo in sway-output.5.scd
Rasmus Moorats (1):
fix cursor input for layer-shell surfaces
RoastVeg (1):
Handle border width and height on minimum floating sizes
Ronan Pigott (13):
output: damage whole output when exiting scanout
container: retain focus position on floating enable
cmd_fullscreen: allow fullscreen on fullscreen split containers
workspace: reap empty parents when adding tiles
xdg-shell: ignore unecessary fullscreen request ouput hints
cmd_fullscreen: ignore fullscreen request on workspaces
view: commit transactions for foreign toplevel requests
layer_shell: damage previous area when a surface shrinks
command: implement split none
commands: update split none command for a047b5ee4
output: change output::destroy to output::disable
output: emit node::destroy event
cmd/swap: error on swapping a container with itself
Rouven Czerwinski (2):
view: handle case where map_ws is NULL
transaction: destroying nodes aren't hidden
Sefa Eyeoglu (3):
fix: handle NULL from json_tokener_new_ex
fix: use sane value for json_tokener max_depth
refactor: use sway_abort instead
Simon Plakolb (2):
input: Use seatop_down on layer surface click
seatop_down: End if surface is destroyed or other seatop starts
Simon Ser (63):
ci: add xcb-util-wm dependency for wlroots
Remove advice about Firefox from issue template
readme: make it clearer that meson takes a dir as argument
build: bump version to 1.6
build: update wlroots dependency version to 0.14.x
build: stop checking for logind
desktop/render: remove unused wlr_gles2_texture_attribs
Remove WLR_HAS_XDG_FOREIGN checks
Log wlroots version on startup
Avoid creating zero-sized textures for titlebars
Use cairo_image_surface_get_stride instead of guessing it
Avoid creating zero-sized textures for marks
Use execlp("sh") instead of execl("/bin/sh")
commands/exec_always: log error on execlp failure
Remove support for arbitrary rotations
build: remove sd-bus status item
readme: switch back to IRC web client
Implement xdg-activation-v1
Iterate over subsurfaces below the parent surface
build: bump wlroots dependency to 0.15.0
contrib: drop incr_version script
build: use meson.global_build_root()
build: use Dependency.get_variable instead of get_pkgconfig_variable
build: use ExternalProgram.full_path instead of path
ci: make Meson warnings fatal
tree/container: fix indentation
Update wlr_box includes
Add support for touch frame events
Fix wl_pointer.fra...
sway 1.7-rc3
Aleksei Bavshin (1): xdg-shell: use toplevel geometry to adjust the popup box Kenny Levinsen (2): meson: check: false on run_command Print deprecation notice when running SUID Kirill Chibisov (1): build: fix building with basu Simon Ser (3): Add safety assert in parse_movement_unit ci: checkout wlroots 0.15.0 build: bump version to 1.7-rc3
sway 1.7-rc2
David Rosca (1): container: Fix crash when view unmaps + maps quickly David96 (1): commands/move: Fix crash when pos_y is omitted Nathan Schulte (2): swaybar: fix tray_padding vs min-height re: scale swaybar: fix tray item icon scaling, positioning Simon Ser (2): Destroy sub-surfaces with parent layer-shell surface build: bump version to 1.7-rc2 Thomas Hebb (1): input/seat: unset has_focus when focus_stack becomes empty
sway 1.7-rc1
Sway 1.7-rc1 contains 191 changes from 73 contributors.
This pre-release depends on wlroots 0.15.0. Also see the wlroots release notes: https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.15.0.
New features
- Add
output render_bit_depth
command to enable high-bit depth composition. - Tabs can now be dragged with the mouse.
- Zero-copy direct scanout for fullscreen windows should work more reliably thanks to linux-dmabuf surface feedback.
- Add support for virtual reality headsets via DRM leasing.
- Wayland-native urgency has been implemented via the xdg-activation-v1 extension.
- Add
output dpms toggle
command to easily toggle screen blanking from scripts. - Add
gaps <type> <scope> toggle <px>
,smart_gaps inverse_outer
andsplit none
commands. - Add
output modeline
command to set a full custom DRM mode when custom modes don't work out-of-the-box. - Add
client.focused_tab_title
color option.
Changes
--my-next-gpu-wont-be-nvidia
has been removed, use--unsupported-gpu
instead. The Nvidia proprietary driver remains unsupported. See b48cb6b for details.- The terminal emulator in the default config file has been changed to foot.
- swaybar and swaynag can now be disabled at build-time.
- Titlebars now have a fixed height, they no longer resize depending on characters used in the title.
Full changelog
Aleksei Bavshin (1):
ipc: make `bar <bar_id> mode|hidden_state` behave as documented
Alexander Orzechowski (1):
view: Fix null dereference
Aljaz Gantar (2):
fix type error when class_name none
refactor icon_for_window function
Bart Pelle (1):
docs: fix invalid release signing keys
Bartel Sielski (1):
idle_inhibit: Fix tree view after changes in commit 152a559e
Bartłomiej Burdukiewicz (1):
main: removed vc4 detection code.
Bill Doyle (1):
Only defer seat attachment during initial startup
Birger Schacht (1):
Fix a couple of typos
Caduser2020 (1):
Simplify swaybar/swaynag scaling code
Christian Llupo (1):
README: Added Greek translation
Cole Mickens (1):
meson.build: require wayland-protocols 1.24
Daniel De Graaf (1):
Fix overly-wide mark textures
Daniel Eklöf (2):
sway: commands: exec: restore SIGPIPE before exec:ing
sway: restore SIGPIPE handler before exec:ing swaybar
Daniel Otero (1):
config: Fix swaybar pango_markup inconsistency
David Rosca (3):
seatop_down: Change type of sx, sy to double in begin_seatop_down
Add `output modeline` command
xwayland: Clear wlr_xwayland_surface in handle_destroy
Dominique Martinet (1):
view_destroy: fix use-after-free with subsurface_destroy
Drew DeVault (1):
config.in: change terminal emulator to foot
Dudemanguy (2):
container: ignore borders in fullscreen windows
xdg-decoration: let floating clients set borders
Dylan Araps (1):
Add meson options to enable/disable swaybar and swaynag
Elyes HAOUAS (2):
desktop/layer_shell.c: Fix misspelled "exclusive"
sway-input.5.scd: Fix spelling errors
Elyesa (1):
Add Turkish README
Eric Engestrom (2):
cmd_bind_or_unbind_switch: fix copy/paste typo error message
sway: allow IPCs on proprietary drivers
Erik Reider (1):
Added scroll_factor input variable to ipc output
Evgeniy Khramtsov (1):
commands: Remove unused code after 1d3681f52135
Hugo Osvaldo Barrera (5):
grimshot: Exit 1 on cancellation
Use fixed titlebar heights
Deduplicate code for rendering titlebar texts
Avoid unecessary font metric calculations
Drop hardcoded font metric values
Issam E. Maghni (1):
cairo: Replace <cairo/cairo.h> by <cairo.h>
István Donkó (1):
Add Hungarian translation for the README
Ivan Fedotov (1):
Add toggle logic inside DPMS handler
Jack Byrne (1):
Change 'Danish' to 'Dansk' in README
James Edwards-Jones (1):
swaynag: adds option to set wayland shell layer
Jari Ronkainen (1):
Improve built-in touchscreen detection
Jason Nader (4):
swaymsg: use INT_MAX max JSON depth when parsing IPC response
swaymsg: be explicit about the json parser error
swaymsg: fix misplaced return value
refactor: use JSON_MAX_DEPTH everywhere
Jonas Große Sundrup (3):
clarify the type of raw output
change incorrectly documented output types
cross-reference further documentation
Kenny Levinsen (7):
ci: Install libseat
meson: libseat is no longer optional
Remove usage of surface->sx|sy
desktop/render: Pass explicit clip box to render
input: Move get_current_time_msec in from util
ci: Test wlroots static linking
readme: Align Danish translation with main README
Kirill Primak (12):
view: fix saved buffer order
surface: chase wlr subsurface list/link change
render: fix -Ddamage=rerender
view: fix child position calc
xdg-shell: chase wlr xdg toplevel refactor
Revert "xdg_shell: schedule configure on maximize requests"
xdg-shell: remove unused request_maximize listener
layer-shell: chase wlr layer surface refactor
layer-shell: check `committed` bitmask
layer-shell: fix commit handler
container: fix surface_is_popup()
output: remove surface buffer damage check
Ludvig Michaelsson (1):
swaybar: signal status command's process group
M.Zeinali (1):
readme: use right-to-left marks in ir translation
Manuel Stoeckl (3):
commands/exec: stop truncating >4095-byte commands
Update URL to wlroots project (GitHub->GitLab)
Add 'output render_bit_depth [8|10]' command
Michael Weiser (1):
Prevent use-after-free on first bar subcommand error
Nathan Schulte (3):
swaybar: properly draw urgent block right border
swaybar: properly draw blocks with transparent black border
swaybar: fix cairo_font_options leak
Nihal Jere (2):
config.in: use portable hour specifier
config.in: use swaynag -B instead of -b
Ragnar Groot Koerkamp (5):
Fix #6299 Disable auto_back_and_forth for next_on_output
Move auto_back_and_forth logic out of workspace_switch
Only call workspace_auto_back_and_forth when needed
Revert "Add workspace {prev,next}_on_output --create"
Update clang format to better match existing code
Rahiel Kasim (1):
fix typo in sway-output.5.scd
Rasmus Moorats (1):
fix cursor input for layer-shell surfaces
RoastVeg (1):
Handle border width and height on minimum floating sizes
Ronan Pigott (12):
output: damage whole output when exiting scanout
container: retain focus position on floating enable
cmd_fullscreen: allow fullscreen on fullscreen split containers
workspace: reap empty parents when adding tiles
xdg-shell: ignore unecessary fullscreen request ouput hints
cmd_fullscreen: ignore fullscreen request on workspaces
view: commit transactions for foreign toplevel requests
layer_shell: damage previous area when a surface shrinks
command: implement split none
commands: update split none command for a047b5ee4
output: change output::destroy to output::disable
output: emit node::destroy event
Rouven Czerwinski (1):
view: handle case where map_ws is NULL
Sefa Eyeoglu (3):
fix: handle NULL from json_tokener_new_ex
fix: use sane value for json_tokener max_depth
refactor: use sway_abort instead
Simon Plakolb (2):
input: Use seatop_down on layer surface click
seatop_down: End if surface is destroyed or other seatop starts
Simon Ser (57):
ci: add xcb-util-wm dependency for wlroots
Remove advice about Firefox from issue template
readme: make it clearer that meson takes a dir as argument
build: bump version to 1.6
build: update wlroots dependency version to 0.14.x
build: stop checking for logind
desktop/render: remove unused wlr_gles2_texture_attribs
Remove WLR_HAS_XDG_FOREIGN checks
Log wlroots version on startup
Avoid creating zero-sized textures for titlebars
Use cairo_image_surface_get_stride instead of guessing it
Avoid creating zero-sized textures for marks
Use execlp("sh") instead of execl("/bin/sh")
commands/exec_always: log error on execlp failure
Remove support for arbitrary rotations
build: remove sd-bus status item
readme: switch back to IRC web client
Implement xdg-activation-v1
Iterate over subsurfaces below the parent surface
build: bump wlroots dependency to 0.15.0
contrib: drop incr_version script
build: use meson.global_build_root()
build: use Dependency.get_variable instead of get_pkgconfig_variable
build: use ExternalProgram.full_path instead of path
ci: make Meson warnings fatal
tree/container: fix indentation
Update wlr_box includes
Add support for touch frame events
Fix wl_pointer.frame not sent on touch emulation
swaybar: exit cleanly when disconnected from IPC
swaybar: log Wayland display errors
Document view_map
Fallback to other output modes if preferred mode fails
layer-shell: replace close() with destroy()
readme: switch to Libera Chat for ir
readme: link to gamja for IRC
Rename pango_printf to render_text
readme: mention seatd
build: remove scdoc stdin/stdout hack
Add -Dnoscanout debug option
readme: add missing space
Add support for DRM panel orientation
Chase wlr_xdg_surface breaking changes
readme: drop reco...