Skip to content
Tags give the ability to mark specific points in history as being important
  • 1.9
    sway 1.9
    
    Simon Ser (1):
          build: bump version to 1.9
    
  • 1.9-rc4
    sway 1.9-rc4
    
    Aleksei Bavshin (1):
          xdg-activation: distinguish activation and urgency requests
    
    Ronan Pigott (1):
          launcher: track the seat in the launcher ctx
    
    Simon Ser (3):
          commands: make primary_selection a config-only command
          Fix build with wlroots DRM backend disabled
          build: bump version to 1.9-rc.4
    
  • 1.9-rc3
    sway 1.9-rc3
    
    Simon Ser (1):
          build: bump version to 1.9-rc.3
    
    Violet Purcell (1):
          sway/config.c: only reset primary_selection at launch
    
  • 1.9-rc2
    sway 1.9-rc2
    
    Simon Ser (1):
          build: bump version to 1.9-rc.2
    
    Tamino Bauknecht (1):
          sway/output: Improve logging of swaybg execvp failure and more checks
    
  • 1.9-rc1
    sway 1.9-rc1
    
    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
    
    
  • 1.8.1
    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
    
    Simon Ser (2):
          swaynag: fix NULL font description
          build: bump version to 1.8
    
  • 1.8-rc4
    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
    
  • 1.8-rc3
    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
    
  • 1.8-rc2
    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
    
    -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 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
    
    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
    
    
  • 1.7
    sway 1.7
    
    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.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 recommendation about packaging
          Handle present events with NULL timespec field
          github: don't truncate debug logs
          Remove --my-next-gpu-wont-be-nvidia
          Bump RLIMIT_NOFILE
          Replace wlr_headless_backend_create_with_renderer call
          build: use list for sdbus dep
          Delete .clang-format
          Fixup headless output names
          Add support for linux-dmabuf surface hints
          swaynag: remove xdg-output logic
          swaybar: fix errno handling in status_handle_readable
          Add cairo_image_surface_create error handling
          build: bump version to 1.7-rc1
          Destroy sub-surfaces with parent layer-shell surface
          build: bump version to 1.7-rc2
          Add safety assert in parse_movement_unit
          ci: checkout wlroots 0.15.0
          build: bump version to 1.7-rc3
          build: bump version to 1.7
    
    Simon Zeni (4):
          view: remove reference to wlr_wl_shell_surface
          introduce wlr_drm_lease_v1
          sway: create wlr_renderer and wlr_allocator
          sway: replace noop_output by fallback_output
    
    Tassilo Horn (1):
          Fix compile after wlroots commit c3e54021f8bbf3ec1c1e5906459be0ae85f5fb8c
    
    Thomas Hebb (1):
          input/seat: unset has_focus when focus_stack becomes empty
    
    Tobias Langendorf (1):
          remove usage of `wlr_texture_get_size`
    
    Tobias Stoeckmann (1):
          Fix crash when starting without HOME
    
    Tudor Brindus (4):
          tree/view: don't give focus to views mapped under fullscreen views
          desktop/xwayland: restack surface upon activation
          input/cursor: count pointer gestures as idle activity
          input/cursor: treat swipe begin as idle activity too
    
    Vsevolod (1):
          Add focused_tab_title
    
    aajonusonline (1):
          sway-ipc.7.scd: fix typo
    
    apt-ghetto (1):
          Fix IRC links in READMEs and templates
    
    ash lea (1):
          container: don't set fullscreen on children
    
    bR3iN (2):
          Add `gaps <type> <scope> toggle <px>` command
          Add smart_gaps inverse_outer command
    
    columbarius (1):
          config: allow whitespaces in config path
    
    frogtile (1):
          man: update Pango font description URL
    
    fwsmit (1):
          desktop/layer_shell: fix centering for opposing anchors
    
    grumpey (1):
          Update Pango font description URL in sway.5.scd
    
    lbonn (1):
          build: subproject support for wayland-protocols
    
    mzeinali (1):
          Add persian README file
    
    novenary (1):
          Don't apply hide_edge_borders to any floating container
    
    quinno (1):
          Fix typo in sway.5.scd
    
    sergio (1):
          details-gackground typo fix
    
    siikamiika (3):
          use node_is_view
          commands/focus: focus view inside container
          view: add new container as a sibling of tiled view
    
    tomKPZ (1):
          Add tab dragging functionality
    
    xdavidwu (1):
          swaynag: fix pointer button events on scaled outputs
    
    
  • 1.7-rc3
    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
    
  • 1.7-rc2
    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
    
  • 1.7-rc1
    sway 1.7-rc1
    
    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 recommendation about packaging
          Handle present events with NULL timespec field
          github: don't truncate debug logs
          Remove --my-next-gpu-wont-be-nvidia
          Bump RLIMIT_NOFILE
          Replace wlr_headless_backend_create_with_renderer call
          build: use list for sdbus dep
          Delete .clang-format
          Fixup headless output names
          Add support for linux-dmabuf surface hints
          swaynag: remove xdg-output logic
          swaybar: fix errno handling in status_handle_readable
          Add cairo_image_surface_create error handling
          build: bump version to 1.7-rc1
    
    Simon Zeni (4):
          view: remove reference to wlr_wl_shell_surface
          introduce wlr_drm_lease_v1
          sway: create wlr_renderer and wlr_allocator
          sway: replace noop_output by fallback_output
    
    Tassilo Horn (1):
          Fix compile after wlroots commit c3e54021f8bbf3ec1c1e5906459be0ae85f5fb8c
    
    Tobias Langendorf (1):
          remove usage of `wlr_texture_get_size`
    
    Tobias Stoeckmann (1):
          Fix crash when starting without HOME
    
    Tudor Brindus (2):
          tree/view: don't give focus to views mapped under fullscreen views
          desktop/xwayland: restack surface upon activation
    
    Vsevolod (1):
          Add focused_tab_title
    
    aajonusonline (1):
          sway-ipc.7.scd: fix typo
    
    apt-ghetto (1):
          Fix IRC links in READMEs and templates
    
    ash lea (1):
          container: don't set fullscreen on children
    
    bR3iN (2):
          Add `gaps <type> <scope> toggle <px>` command
          Add smart_gaps inverse_outer command
    
    columbarius (1):
          config: allow whitespaces in config path
    
    frogtile (1):
          man: update Pango font description URL
    
    fwsmit (1):
          desktop/layer_shell: fix centering for opposing anchors
    
    grumpey (1):
          Update Pango font description URL in sway.5.scd
    
    lbonn (1):
          build: subproject support for wayland-protocols
    
    mzeinali (1):
          Add persian README file
    
    novenary (1):
          Don't apply hide_edge_borders to any floating container
    
    quinno (1):
          Fix typo in sway.5.scd
    
    sergio (1):
          details-gackground typo fix
    
    siikamiika (3):
          use node_is_view
          commands/focus: focus view inside container
          view: add new container as a sibling of tiled view
    
    tomKPZ (1):
          Add tab dragging functionality
    
    xdavidwu (1):
          swaynag: fix pointer button events on scaled outputs
    
    
  • 1.6.1
    sway 1.6.1
    
    This new release adds compatibility with wlroots 0.14, and contains
    a few bug fixes.
    
    Bill Doyle (1):
          Only defer seat attachment during initial startup
    
    Dominique Martinet (1):
          view_destroy: fix use-after-free with subsurface_destroy
    
    Issam E. Maghni (1):
          cairo: Replace <cairo/cairo.h> by <cairo.h>
    
    Kenny Levinsen (6):
          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
    
    Michael Weiser (1):
          Prevent use-after-free on first bar subcommand error
    
    Ronan Pigott (2):
          workspace: reap empty parents when adding tiles
          view: commit transactions for foreign toplevel requests
    
    Rouven Czerwinski (1):
          view: handle case where map_ws is NULL
    
    Simon Ser (9):
          build: update wlroots dependency version to 0.14.x
          build: stop checking for logind
          Remove WLR_HAS_XDG_FOREIGN checks
          Log wlroots version on startup
          Iterate over subsurfaces below the parent surface
          ci: stick to wlroots 0.14.0
          Avoid creating zero-sized textures for titlebars
          Avoid creating zero-sized textures for marks
          build: bump version to 1.6.1
    
    Tobias Langendorf (1):
          remove usage of `wlr_texture_get_size`
    
    Tudor Brindus (1):
          tree/view: don't give focus to views mapped under fullscreen views
    
    fwsmit (1):
          desktop/layer_shell: fix centering for opposing anchors
    
  • 1.6
    sway 1.6
    
    Aleksei Bavshin (1):
          xdg-foreign: add v1 and v2 implementations
    
    Andri Yngvason (4):
          desktop: output: Scale custom output refresh rate
          input: Clean up input_method_relay in seat_destoy()
          input/seat: Clean up focus_stack in seat_destroy()
          input/seat: Reset command handler context in seat_destroy()
    
    Antonin Décimo (6):
          Fix typos in man page.
          ipc: fix aligment issue of data buffer
          cmd/bar/colors: fix dereference of null pointer
          Log empty value if envvar is not defined
          Fix incorrect format specifiers
          common/loop: check return of realloc
    
    Arav K (1):
          Fix swaybar tray for non-systemd
    
    BrassyPanache (2):
          Re-focus on parent surface if it is available
          Adhere to ICCCM focus specification
    
    Brian Ashworth (3):
          ISSUE_TEMPLATE: Use the newer issue templates
          input/libinput: remove input type property bias
          input/keyboard: fix Group# bindings for keyboard groups
    
    Campbell Vertesi (1):
          Add note on quoting to swaymsg manpage
    
    Charmander (1):
          swaybar: allow status line cleanup to proceed when hidden
    
    Daniel De Graaf (1):
          commands/resize: don't consider 1px resizes to be invalid
    
    Daniil (1):
          Update Russian translation
    
    David96 (2):
          Make focus_follows_mouse work when hovering a layer-shell surface on another output
          Add missing transaction commits to seatop_default
    
    Dimitris Triantafyllidis (3):
          Smart borders fix: always show borders for floating containers
          In container_split, set a floating container's view to tiled
          Fix #5643, #5064: rounding issues in floating-point -> integer conversions
    
    Drew DeVault (3):
          Remove .github/FUNDING.yml
          Remove Patreon links from README.*.md
          CONTRIBUTING.md: Add note on sway's scope
    
    Falke Carlsen (1):
          Fix typo in README.dk.md
    
    Fenveireth (1):
          swaybar: use text subpixel antialias only where it would look good
    
    Geoffrey Casper (2):
          Reload command now matches i3's implementation
          server: Avoid using "wayland-0" as WAYLAND_DISPLAY See https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/486
    
    Hubert Hirtz (1):
          Document required '\n' in swaybar-protocol
    
    Isaac Freund (1):
          Drop gtk-primary-selection support
    
    Jan Beich (2):
          protocols: sync wlr-layer-shell-unstable-v1 with wlroots
          ci: enable basu on freebsd
    
    Jan Palus (1):
          Align ordering of core node properties with i3
    
    John Mako (1):
          check parent surface before it is destroyed
    
    Jonas Große Sundrup (1):
          rephrase swayidle-timout example to improve readability
    
    Jonas Hohmann (1):
          Fix minor typos in German README
    
    Kenny Levinsen (28):
          desktop/output: Disable head if mode is NULL
          swaynag: Use position from wl_pointer.enter
          view: Save surface x and y on saved buffers
          transaction: Move centering to view_center_surface
          shells: Only center tiled views on size change
          shells: Align geometry change commit handling
          view: Read geometry directly in view_update_size
          input: Only commit transactions when necessary
          input: Commit transactions in seatop_default
          transaction: Only wait for ack from visible views
          transactions: Amend pending transactions
          container: Move pending state to state struct
          render: Use current instead of pending fullscreen
          container: Add container_is_current_floating
          view: Recursively check mapped of view_child tree
          view: Mark subchildren as unmapped in view_child_destroy
          view: Set parent for view_child subsurfaces on init
          transaction: Note if instructions are server requests
          transaction: Remove unused ready_immediately
          shells: Update comment about size change on commit
          render: Clip surfaces to container bounds
          container: Limit tiled focus to container geometry
          container: Add view_container_content_at
          swaybar: Use position from wl_pointer.enter
          ci: Update alpine xwayland package name
          view: Handle NULL role object when role is set
          idle_inhibit: Store wlr inhibitor instead of view
          view: subsurface NULL check in view_from_wlr_surface
    
    Konstantin Pospelov (2):
          exec: fix validation during config reload
          Check the output state for recorded workspaces
    
    Ludvig Michaelsson (1):
          swaybar: don't expand separator_block_width if separator is false
    
    Manuel Stoeckl (4):
          desktop/layer_shell: Fix allocation type mismatch
          Declare all struct cmd_handler arrays const
          Make Wayland request listeners static const when possible
          Make command line option lists const
    
    Mark Stosberg (2):
          swaymsg.1: correct typo
          grimshot: document support for piping to STDOUT.
    
    Martin Michlmayr (1):
          Fix typo in bug reporting template
    
    Michael Weiss (2):
          meson.build: Fix the version format
          contrib/_incr_version: Disallow the "v"-prefixed version format
    
    Michaël Defferrard (1):
          readme: link to the development doc
    
    Mukundan314 (1):
          Fix #5940
    
    Mustafa Abdul-Kader (1):
          swaynag: add details background option
    
    Nick Diego Yamane (1):
          seat/dnd: support null drag icon surfaces
    
    Nils Schulte (2):
          moved and renamed movement-unit parsing to common
          added ppt unit to move position command
    
    Paul Riou (2):
          common: make 'lenient_strcmp' arguments const
          criteria: fix crash when comparing NULL properties
    
    Pi-Yueh Chuang (1):
          swaybar: silence missing IconThemePath message
    
    Pierre-Albéric TROUPLIN (1):
          Prevent inactive-windows-transparency.py to crash on lockscreen
    
    Quantum (2):
          render: scale titlebars correctly when straddling outputs
          render: handle containers without output when rendering titles
    
    Rex Hackbro (4):
          fix typos
          fix force_display_urgency_hint parsing
          document force_display_urgency_hint
          document parse_error
    
    Ronan Pigott (28):
          input: implement xdg_toplevel interactive resize hints
          xdg_shell: schedule configure on maximize requests
          sway.5: add missing underscore
          view: display scratchpad hidden containers when activated by ftm
          commands: disallow runtime include
          view: implement foreign toplevel fullscreen indicator
          view: implement foreign toplevel fullscreen request
          view: remove foreign toplevel listeners on destroy
          seat: use default output mapping if there is no input config
          tiling_drag: emit window move ipc events
          tiling_resize: abandon resize if a sibling con dies
          commands/move: fix crash when moving sphsc child
          xdg_shell: allow views to change geometry anytime
          ci: fix archlinux builds
          container: don't split single children
          commands/layout: don't change the layout of workspaces with children
          Revert "commands/move: maintain workspace_layout when moving"
          Change workspace_layout to match i3 behavior
          commands/move: rework container_move_in_direction
          introduce workspace_squash
          commands/move: squash workspace after directional con move
          commands/move: reset geometry of promoted containers
          workspace: rework workspace prev|next like i3
          container: set fullscreen mode before attempting focus
          cmd_move: update container representation in sibling swaps
          swaymsg: use 3 digits for fractional part of the refresh rate
          config/output: correct refresh rate rounding error
          output: damage whole output when exiting scanout
    
    Rouven Czerwinski (4):
          input/cursor: reset event source after unhide
          cursor: arm cursor hide timer immediately
          cursor: update hide timer during config apply
          ISSUE_TEMPLATE: the wiki is community maintained
    
    Simon Ser (46):
          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
          Handle SIGINT
          Use wlr_output_event_commit
          build: bump wlroots dependency to 0.12.0
          Replace wlr_key_state with wl_keyboard_key_state
          Add missing includes for wlr_input_device.h
          Log which output is using direct scan-out
          Handle secondary headless backend failures
          build: use WLR_HAS_* to decide whether suid is required
          build: introduce sd-bus-provider option
          build: add basu as sd-bus provider
          Route wlroots logs into Sway logging infrastructure
          common/log: write log importance
          readme: releases are signed with E88F5E48
          readme: remove link to non-existing wiki page
          readme: use references for links
          Test output before direct scan-out
          Remove create_renderer_func argument
          Remove call for action from WM enhancement issue template
          readme: remove unused ref
          man: update maintainer
          desktop/xwayland: use index constants for atom array
          Switch to wlr_xdg_surface_for_each_popup_surface
          Rename output_layer_for_each_surface_{toplevel,popup}
          protocols: update layer-shell-unstable-v1 to v4
          Raise verbosity of error message in load_main_config
          Log when config file is not found
          readme: update French translation
          build: use wlroots dependency variables
          Fix wl_shm_format passed to wlr_texture_from_pixels
          build: stop cargo-culting assignment alignment
          man: document `input XXX map_to_output *`
          Automatically map built-in touchscreens/tablets to built-in panels
          xwayland: simplify override-redirect focus restoration
          build: update version to v1.6-rc1
          build: update version to v1.6-rc2
          ci: add xcb-util-wm dependency for wlroots
          build: bump to version v1.6-rc3
          build: bump version to 1.6
    
    SpizzyCoder (1):
          Changed fprintf(stdout,...) to printf(...) for more readable code
    
    Tadeo Kondrak (6):
          text_input: Ignore text_input disable from unfocused windows
          text_input: Only send surrounding_text and content_type if supported
          text_input: Add support for focusing layer-shell surfaces
          Fix incorrect damage being applied on popups
          build: Add dependency on libdrm
          output: Reconfigure xcursor when applying output config
    
    Tamir Zahavi-Brunner (1):
          hide_cursor: Add an option to hide when typing
    
    Tarmack (1):
          Add support for workspace_min_width bar option.
    
    Thayne McCombs (2):
          Keep windows in bounds on move to position mouse
          Use wlr_output_layout_output_at to get output for move to cursor
    
    Tobias Langendorf (2):
          Fix X11 clients getting stuck minimized
          xwayland: support views that change override-redirect status
    
    Tudor Brindus (23):
          Minor wording changes in Romanian README.md translation
          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
          input/pointer: update cursor activity after updating button counts
          desktop/render: show indicators for top-level split
          commands/move: fix single-split escaping on move
          input/cursor: default tablet lens tool to relative motion
          input/tablet: add tool_mode option to set tablet tools as relative input
          xwayland: listen to `set_geometry` event
          transaction: don't reconfigure X views unless integral coords changed
          transaction: validate X transaction completions by geometry, not size
          transaction: make transaction collapsing smarter with > 2 views
          input: remove motion deltas from seatop callbacks
          commands/focus: force container warp when fulfilling `focus mode_toggle`
          input: fully change focus when scrolling tabs/stacks
          input/seatop_default: consider fullscreen views to have no edges
          tree/container: introduce `container_is_sticky[_or_child]` functions
          Small wording change to README.ja.md
          input/cursor: unhide cursor on synthetic input
          commands/move: don't flatten on move; reap empty former parent instead
          swaybar: use INT_MAX max JSON depth when parsing IPC response
          swaybar: fail gracefully on tokener creation fail
    
    Vinko Kašljević (1):
          Add check for empty GEOM variable
    
    Vlad Pănăzan (1):
          Add layer shell subsurfaces
    
    Vyivel (1):
          output: simplify layer surface iteration
    
    Wai Hon Law (1):
          Make the default workspace commands compatible with i3
    
    William Culhane (1):
          grimshot: Fix man page issues
    
    columbarius (1):
          config: allow whitespaces in config path
    
    ftilde (1):
          Fix for_window criteria and mouse button bindings
    
    fwsmit (1):
          Implement foreign toplevel fullscreen output hints
    
    heitor (2):
          update portuguese README (fix typos, update informations...)
          fix typo
    
    lbonn (1):
          focus: beyond fullscreen when focused explicitly
    
    mwenzkowski (3):
          container: Fix NULL pointer dereference
          output: evacuate sticky containers only if new output has a workspace
          output: Revert implementation of evacuate_sticky()
    
    oliver-giersch (1):
          swaynag: adds option to separately specify the text color for buttons
    
    wb9688 (1):
          Replace unprintable characters in input device id
    
    xdavidwu (1):
          Implement input method keyboard grab
    
    Érico Rolim (1):
          swaymsg.1: expand tip for multi-word strings.
    
    
  • 1.6-rc3
    sway 1.6-rc3
    
    Simon Ser (2):
          ci: add xcb-util-wm dependency for wlroots
          build: bump to version v1.6-rc3
    
    columbarius (1):
          config: allow whitespaces in config path
    
  • 1.6-rc2
    sway 1.6-rc2
    
    Kenny Levinsen (5):
          swaybar: Use position from wl_pointer.enter
          ci: Update alpine xwayland package name
          view: Handle NULL role object when role is set
          idle_inhibit: Store wlr inhibitor instead of view
          view: subsurface NULL check in view_from_wlr_surface
    
    Pi-Yueh Chuang (1):
          swaybar: silence missing IconThemePath message
    
    Simon Ser (1):
          build: update version to v1.6-rc2
    
    Tudor Brindus (2):
          swaybar: use INT_MAX max JSON depth when parsing IPC response
          swaybar: fail gracefully on tokener creation fail
    
  • 1.6-rc1