Skip to content

Tags

Tags give the ability to mark specific points in history as being important
This project is mirrored from https://github.com/swaywm/sway.git. Pull mirroring updated .
  • 1.1-rc1
    sway 1.1-rc1
    
    sway 1.1 includes 119 changes from 40 contributors. This release
    introduces a few new features, but for the most part just fixes bugs and
    improves i3 compatibility.
    
    swaybg is now distributed as a standalone program which is compatible
    with many Wayland compositors. Unlike the other sway clients which have
    been split into separate projects, however, swaybg is a required
    dependency of sway. Packagers are encouraged to configure it as such
    when updating sway for their distribution.
    
    https://github.com/swaywm/swaybg
    
    	Changes
    
    - swaybg is now a standalone project
    
    	New Features
    
    - swaybar now includes touch support - tapping to activate hotspots and
      dragging across to cycle through workspaces
    - You can now manually inhibit idle notifications (DPMS) when a certain
      criteria is active via inhibit_idle
    - Keybindings can now be unconfigured at runtime via
      unbind{sym,code,switch}
    - workspace {prev,next}_on_output --create will create the next
      workspace instead of wrapping to the start
    - Output subpixel layouts can now be explicitly configured
    - i3bar's short_text properties in the JSON protocol are now supported
    - swaybar now supports an "overlay" mode, which shows the bar on top of
      other windows and doesn't process input events
    - Switch devices (like lid switches) are now supported and can be bound
      to actions via bindswitch
    - swaymsg now supports a -p/--pretty option for explicitly enabling
      pretty-printing
    
    	Changelog
    
    3ap (1):
          config.in: allow launch apps with args via dmenu
    
    Alex Maese (7):
          Fix a crash in swaybar when an icon dir is not readable
          Create unbindsym and unbindcode commands
          Add unbindswitch command
          Add unbindsym/unbindcode command for swaybar
          Clear pointer focus during move and resize seatops
          Don't send pointer motion when rebasing the cursor
          Fix a silly mistake
    
    Ashkan Kiani (5):
          Fix crash for floating command on scratchpad window
          Fix scratchpad logic for floating windows
          Fix potential null accesses
          Add documentation for rename workspace
          Fix the payload type returned by IPC
    
    Benjamin Cheng (2):
          Add heuristics to differentiate touchpads
          Implement input type configs (#3784)
    
    Brian Ashworth (33):
          get_deco_rect: fix floaters on tabbed/stacked ws
          criteria: change workspace to support regex
          xwayland: handle floating configure request size
          Set prev_workspace_name based off of focus
          output_cmd_background: validate colors
          Fix output config retrieval for new outputs
          config/output: revamp identifier/name layering
          config/output: handle wildcard in get_output_config
          cmd_mode: allow cmd_set to be a subcommand
          criteria: fix __focused__ when no focus or unset
          fix opening a floating view on the NOOP output
          Implement inhibit_idle command
          Fix xwayland configure request scratchpad crash
          floating: fix size of non-view containers
          scratchpad: set initial size
          root_scratchpad_hide: fix crash when layer focused
          idle_inhibit: fix crash during view destruction
          swaybg: one instance for all outputs
          Honor output for xdg_toplevel_set_fullscreen
          cmd_focus: raise floating for `<criteria> focus`
          Fix scratchpad fullscreen behavior and crash
          swaynag: fix pointer management
          Spawn swaynag as a wayland client
          swaymsg: add timeout and type checks
          cmd_move: allow for all i3 syntax options
          ipc: fix criteria for emitting bar_state_update
          swaynag: revamp type configs
          swaybar: hide mode visibility improvements
          swaybar: add multiseat support
          cmd_move: respect workspace layout when inserting
          cmd_move: add support for output current
          sway.5.scd: clarify workspace config commands
          swaymsg: fix quiet error reporting
    
    Connor E (2):
          Allow 0 degree transform (normal transform).
          Add deprecation warnings for new_float, new_window, and force_focus_wrapping.
    
    Dacheng Gao (6):
          add chinese translation
          fix cs
          fix cs
          add link to README-zh-CN
          fix typo
          fix broken link to README.zh-CN.md
    
    Dmitri Kourennyi (3):
          Implement handling of short_text field of i3 input protocol.
          Ensure predicted position for short text handling doesn't overflow.
          Add margin to short_text handling.
    
    Drew DeVault (5):
          swaybar: process hotspots on touch tap
          swaybar: cycle workspaces on touch drag
          Update formatting of zh-cn link in README.md
          Remove obsolete README translations
          Bump required wlroots version
    
    Flakebi (1):
          Flush stdout in swaymsg when in subscribe mode
    
    Geoff Greer (1):
          Add support for manually setting subpixel hinting on outputs.
    
    Ian Fan (1):
          commands: allow tiled sticky containers to be moved
    
    Igor Sviatniy (1):
          Update README.uk.md
    
    Ilja Kocken (1):
          Add link to i3 in first mention of README
    
    Jan Beich (1):
          config/output: unbreak on 32-bit architectures
    
    Jan Pokorný (1):
          bindings: fix overwrite log argument mismatch
    
    Konstantin Pospelov (7):
          Implement bindsym --to-code
          config: simplify keysym translation fields
          bindsym: change default keymap for --to-code
          bindsym: update the man page to include --to-code
          bindsym: consider xkb_rule_names for --to-code
          bindsym: change xkb_rule_names initialization
          config: fix clang warning
    
    Lane Surface (1):
          Remove extra inclusion of stdio.h
    
    Martin Michlmayr (1):
          sway-input.5: add xkeyboard-config(7) to "see also"
    
    Maxime “pep” Buquet (1):
          Validate icon_struct in read_theme_file
    
    Milkey Mouse (1):
          swaybar: add overlay mode (fix #1620)
    
    Peter Grayson (1):
          Repair swaynag crash reading message from stdin
    
    Philipe Goulet (1):
          Fix #3924
    
    Philz69 (1):
          Updated the french readme (#3964)
    
    Ranieri Althoff (1):
          Send disabled output available modes on IPC get_outputs
    
    Ryan Dwyer (7):
          Replace seatup allows_events with button callback
          Introduce default seatop
          Document the title_format command
          Remove debug tree
          Clean up focus follows mouse logic
          Support focus <direction> for floating containers
          Fix null pointer crash when doing tiling drag
    
    Ryan Walklin (1):
          Support WLR_INPUT_DEVICE_SWITCH in sway
    
    Scott Anderson (1):
          Fix uninitialized read for wlr_surface_send_frame
    
    Simon Ser (4):
          swaybg: add manpage
          Update for wlroots#1660
          ci: enable all features
          Don't submit too much damage
    
    Stephan Hilb (1):
          swaybar: fix loading of malformed icon theme
    
    Tim Sampson (1):
          fish: improve completions a little bit
    
    Yábir Benchakhtir (1):
          Spanish translation of the README
    
    Yábir García (2):
          Add spanish link to the home README
          Fix accents
    
    bschacht (1):
          Set the correct version for wlroots dependency
    
    db (1):
          add --i3 flag to hide_edge_borders
    
    emersion (6):
          ci: add Alpine CI
          ci: add FreeBSD
          Add wp-primary-selection-unstable-v1
          ci: use scdoc-git because 1.9.1 is broken
          Fix size_t temporary underflow in log_loaded_themes
          Stop using wlr_output->{lx,ly}
    
    jajo-11 (1):
          Add German translation of the README
    
    ljedrz (1):
          Add Polish README
    
    minus (1):
          Fix quoting of commands passed to for_window
    
    mliszcz (1):
          Allow for workspace renaming during exec handling
    
    mwenzkowski (3):
          view.c: refactor view_autoconfigure()
          Don't apply hide_edge_borders to floating windows
          hide_edge_borders.c: add missing case for --i3
  • 1.0
    3ede5983 · Fix click behaviour ·
    sway 1.0
    
    Ben Challenor (1):
          Make raw keysyms take precedence over translated
    
    Brian Ashworth (10):
          ipc: change {,deco_}rect to match i3
          ipc: fix rect for stacked children
          ipc: fix fullscreen deco_rect
          ipc: describe libinput device configuration
          output_damage_whole_container: damage subsurfaces
          damage: remove output_damage_view
          arrange: use int not size_t for title offsets
          fullscreen: init floating on disable without size
          detect_proprietary: use strncmp
          sway_view_child: add listener for view unmap
    
    Drew DeVault (1):
          Update language in sway.desktop & sway(1)
    
    Ian Fan (3):
          stringop.c: remove unused functions
          stringop.c: clean up headers
          stringop.c: refactor a few functions
    
    Jeff Peeler (1):
          fix "directive argument is null" errors
    
    Peter Grayson (2):
          Add -p/--pretty option to swaymsg
          Add missing swaymsg completions
    
    Ryan Dwyer (2):
          Don't send button events to surfaces when dragging or resizing
          Fix click behaviour
    
    emersion (4):
          Set DISPLAY after initializing Xwayland
          Fix container_parent_layout for scratchpad windows
          Fix crash in cmd_workspace when layer surface has focus
          meson: use pkg-config var for scdoc path
    
    minus (1):
          Fix crash when moving window to scratchpad
  • 1.0-rc5
    sway 1.0-rc5
    
    Sway 1.0-rc5 contains 19 changes from 7 contributors since 1.0-rc4, and only
    contains bug fixes.
    
    The recommended wlroots version to use with this sway release is 0.4.
    
    Package maintainers: please do not package this release.
    
    Brian Ashworth (7):
          execute_command: do not strip qoutes for cmd_mode
          Add sway-ipc.7.scd to document IPC protocol
          sway-ipc.7: clarify window_rect omits decorations
          floating_maximum_size: change default behavior
          render_floating: skip fullscreen floaters
          sway.1.scd: document environment vars set by sway
          meson: update scdoc requirement to >= 1.9.2
    
    Ian Fan (1):
          tray: fix pixmap colors
    
    Noam Preil (1):
          Fixes crash in spawn_swaybg (closes #3733)
    
    Rouven Czerwinski (3):
          cursor: remove unused node assignement
          cursor: intitialize sx and sy to zero
          config: remove double assignement to result in get_output_config
    
    Ryan Dwyer (1):
          Allow concurrent clicks
    
    emersion (5):
          Set minimum wlroots version
          Print Meson features
          Add output dpms to manpage
          seat: don't send button release when not pressed
          meson: check scdoc version
    
    hugbubby (1):
          Minor fix of code duplication.
  • 1.0-rc4
    sway 1.0-rc4
    
    Brian Ashworth (7):
          output_evacuate: call workspace_consider_destroy
          output_get_active_workspace: check workspaces length
          Handle NULL from output_get_active_workspace
          move scratchpad: hide visible scratchpad container
          input/cursor: allow whole-window bindings on ws
          handle_layer_shell_surface: do not use noop output
          handle_seat_node_destroy: update seat->workspace
    
    Caleb Bassi (1):
          ipc: add missing fields to disabled outputs
    
    Carlo Abelli (1):
          fix smart_borders description in manual
    
    Connor E (1):
          Make load_include_configs void. Fix some cases where WD would not be restored.
    
    Eric Drechsel (1):
          layout cmd: always operate on parent container, like i3Fixes #3724
    
    Rouven Czerwinski (4):
          ipc-client: free payload after sending it over the socket
          run_as_ipc_client: free response after running the IPC command
          commands/move: reintroduce wrongly removed NULL check
          view: set xdg_decoration->view to NULL, check decoration destroy
    
    Yorick van Pelt (1):
          Add 'visible' key to view json response
    
    emersion (3):
          Fix drag icon map listener not removed
          Don't use SOCK_CLOEXEC
          Update for swaywm/wlroots#1517
    
    minus (1):
          Fix crash exiting fullscreened floating container
  • 1.0-rc3
    sway 1.0-rc3
    
    Sway 1.0-rc3 contains 24 changes from 6 contributors since 1.0-rc2, and
    only contains bug fixes.
    
    The recommended wlroots version to use with this sway release is 0.3.
    
    Package maintainers: please do not package this release.
    
    Brian Ashworth (11):
          cursor: relative-pointer-v1 time is usec
          subsurface_get_root_coords: break on NULL
          seatop_move_tiling: use tab/stack parent not self
          seat: allow tree focus changes while layer focused
          seatop_move_tiling: do not move to descendant
          apply_output_config: dpms on before modeset
          Fix reload freeze when not modsetting current mode
          sway-input.5: document wildcard and identifier troubleshooting
          workspace_next_name: fallback to next available number
          seat_cmd_cursor: fix typo in expected syntax
          Use container under cursor for mouse bindings
    
    Drew DeVault (1):
          Remove refs to unimplemented debuglog command
    
    Ian Fan (4):
          swaybar: prevent signal handler from firing during termination
          tray: use correct parameter to set bus slot to floating
          tray: when a service is lost, remove all matching items
          tray: fix memory leaks
    
    Vincent Vanlaer (1):
          Check layout before getting pointer surface coords
    
    athrungithub (1):
          Don't remove from scratchpad on move to workspace
    
    emersion (6):
          Rebase cursor when a layer surface maps
          Fix --version when building from tarball
          Disable unneeded wlroots subproject features
          Remove unused header include/sway/tree/output.h
          Fix Meson subproject boolean default options
          Disconnect swaybg instead of killing it
  • 1.0-rc2
    sway 1.0-rc2
    
    Sway 1.0-rc2 contains 28 changes from 7 contributors since 1.0-rc1, and
    only contains bug fixes.
    
    The recommended wlroots version to use with this sway release is 0.3.
    
    Package maintainers: please do not package this release.
    
    Brian Ashworth (19):
          seat_cmd_cursor: do not create non-existing seat
          load_include_configs: fix wordexp fail condition
          swaynag: remove trailing newlines in config
          execute_command: dont strip quotes for exec_always
          IPC_COMMAND: split on newline
          cmd_workspace_gaps: fix double free on bad amount
          output_cmd_background: fix no file + valid mode
          load_main_config: add realpath to config_chain
          Clarify error for options and positional args
          load_main_config: use given path, store realpath
          seat_configure_tablet_tool: configure xcursor
          bar_cmd_modifier: add support for none
          container_at_stacked: skip titles when zero pixels
          input/keyboard: respect solo repeat_{rate,delay}
          view: remove pointer constraints on unmap
          ipc: handle unnamed xkb_active_layout_name
          fix misc memory leaks
          Abort early when XDG_RUNTIME_DIR is not set
          workspace_get_initial_output: handle focused layer
    
    Connor E (2):
          If validating the config, do it as early as possible.
          Initialize server so input manager is available.
    
    Daniel Eklöf (1):
          ipc_has_event_listeners: fix inverted check of subscribed_events
    
    Michael Vetter (1):
          Set version in project file
    
    Rouven Czerwinski (1):
          fix double free for mode toggle if bar was invisible
    
    emersion (2):
          Fix quote stripping
          Fix close_popups for xdg-shell
    
    vilhalmer (1):
          Focus ws inactive node with focus_follows_mouse
  • 1.0-rc1
    Sway 1.0-rc1 contains 311 changes from 32 contributors since 1.0-beta2.
    The release candidates are considered complete and will receive no new
    features, only bug fixes. Once a release candidate sees a week of
    testing without turning up any new bugs, it will become a stable
    release.
    
    The recommended wlroots version to use with this sway release is
    [XXX](https://github.com/swaywm/wlroots/commit/TODO).
    
    Package maintainers: **please do not package this release**.
    
    - [swayidle](https://github.com/swaywm/swayidle) and
    [swaylock](https://github.com/swaywm/swaylock) are now standalone
    projects and must be installed separately. These no longer depend on
    wlroots or sway's internals and can be used with other Wayland
    compositors.
    - The minimum required scdoc version is now 1.8.1 (for generating man
    pages)
    - The minimum required systemd version (for optional systemd
    integration) is now 239
    
    - Add tray support to swaybar. Note: this is limited to the SNI
    protocol. The legacy Xembed protocol is not yet supported, nor is the
    canonical dbus menu.
    - Pointer constraints (necessary for locking the pointer in video games)
    is now supported
    - Add `hide_cursor <timeout>` to hide the cursor when not in use
    - Support for clipboard managers such as
    [wl-clipboard](https://github.com/bugaevc/wl-clipboard) via the
    data-control-v1 protocol
    - Tiling containers can now be stickied
    - i3's `fullscreen global` command has been implemented
    - Seat commands can now refer to seat "-" to affect the current seat
    - Add a new `xwayland` command to disable Xwayland in the config file
    - Add a new `tiling_drag_threshold` command
    
    - swaylock: clear password buffer on Ctrl-C, submit password on Ctrl-D
    - Use meson feature options for build configuration
    - Allow output ids and wildcard for workspace output
    - Add option to bindsym/bindcode to suppress warning on override
    - Add relative coordinates in JSON for i3bar click events
    - swaybar: handle block->urgent
    - Add `fullscreen_mode` to get_tree output
    - Allow tiling views to be dragged by the titlebar
    - Change mouse buttons to x11 map and libevdev names
    - Revamp seat configs
    - swaylock: Add caps lock state to indicator
    - swaybar: add status_padding command
    - swaybar: add status_edge_padding command
    - cursor: allow mapping to all outputs
    - cursor: allow scrolling tabs/stack on title border
    - bind{code,sym}, seat_cmd_cursor, bar_cmd_bind,
    input_cmd_scroll_button: improve mouse button parsing
    - input_cmd_events: implement toggle
    - get_inputs: add libinput send events mode
    - Extend `input <identifier> events toggle` with a list of modes to
    toggle through
    
    This release is mostly bug fixes.
    
    - Various shell completion improvements and fixes
    - Fix the error result of the fullscreen command
    - Fix outputs that are never enabled
    - Keep focus when destroying containers on non-visible workspace
    - swaybar: fix seperator block width for mixed scales
    - swaybar: fix cursor scale
    - swaynag: damage the cursor surface on update
    - Terminate swaybg in output_disable
    - Fix crash when scratchpad contains split containers
    - Set font options when computing text width
    - seat: unhide the cursor if it is warped to focus
    - swaybar: fix rendering of border and background
    - swaybar: obey height if given
    - Handle empty $XDG_CONFIG_HOME better, without setting it
    - Remove 'input' field of IPC command return json
    - Disarm key repeat on reload
    - Resize only current and immediate siblings rather than all siblings
    - Handle hidden scratchpad containers in commands
    - Permit resizing hidden scratchpad containers in some cases
    - Don't abort when creating layer surfaces with zero outputs
  • 1.0-beta.2
    sway 1.0-beta.2
    
    7415963987456321 (1):
          Remove extra line
    
    Arnaud Vallette d'Osia (1):
          Advertize dependency on git
    
    Arthur Gautier (1):
          fixes pango_markup support with title_format
    
    Brian Ashworth (31):
          cmd_reload: recalc font sizing + rebuild textures
          Merge branch 'master' into fix-scratchpad-resize
          config: remove peeked + expanded line log entries
          cmd_swaynag_command: fix typo in variable
          Merge pull request #2993 from mwenzkowski/fix-2992
          Merge pull request #3009 from emersion/swayidle-sigusr
          Fix focus_wrapping yes
          gaps: remove duplicate inner gaps
          Implement per side and per direction outer gaps
          resize set: implement width and height keywords
          Merge pull request #3091 from c-edw/feature/FocusFollowsMouseDoc
          Alter config variable replacement process
          Allow multiple outputs for workspace output
          cmd_ws_auto_back_and_forth: fix negation
          Merge pull request #3128 from RyanDwyer/fix-unmap-crash
          Merge pull request #3018 from sxmichaels/add-scroll-factor
          Implement title alignment
          Merge pull request #3183 from emersion/fix-escape-pango
          Merge pull request #3168 from mihaicmn/scratchpad-events
          Change execute_command to return a list of results
          Implement swaynag -B/--button-no-terminal
          Do not strip quotes for cmd_mode
          Introduce a way to show config warnings in swaynag
          Merge pull request #3212 from martinetd/move_floating
          Implement support for swaymsg -t SUBSCRIBE [-m]
          Implement bar gaps
          Fix scratchpad segfault - NULL focused workspace
          Fix default_orientation auto
          Fix titlebar when no title or marks
          swaymsg: parse success of single object
          Merge pull request #3218 from johnae/master
    
    Cameron Nemo (1):
          Create ISSUE_TEMPLATE.md
    
    Christian (1):
          Parse missing i3 window types
    
    Cole Mickens (6):
          tree/view.c: fix uninitialized variables warning
          sway-ipc: includes current_mode for each output
          swaymsg: get_outputs: use output->current_mode for current mode display
          fix: restore refresh to the modes_array
          ipc: move refresh from output to output->current_mode
          commands/resize: fix grow vars uninitialized
    
    Connor E (6):
          Add focus_follows_mouse always. (#3081)
          Update documentation for focus_follows_mouse.
          Use parse_boolean where possible.
          Add some missing frees.
          More frees.
          Implement strip_workspace_name.
    
    Dominique Martinet (1):
          move to workspace: fix moving floating container to non-empty workspace
    
    Drew DeVault (62):
          Merge pull request #2909 from makepanic/issues/2906
          Merge pull request #2913 from emersion/fix-swaybar-hotplug
          Merge pull request #2923 from RyanDwyer/fix-move-to-fullscreen-crash
          Merge pull request #2924 from RyanDwyer/fix-qt-menu-crash
          Merge pull request #2926 from RyanDwyer/fix-xwayland-floating-logic
          Merge pull request #2929 from RyanDwyer/fix-scratchpad-resize
          Merge pull request #2935 from mteyssier/ref-output-docs
          Merge pull request #2944 from RyanDwyer/fix-multiseat-dormant-cursor
          Merge pull request #2942 from ianyfan/swaybar
          Merge pull request #2933 from Snaipe/xwayland-window-properties
          Merge pull request #2954 from RyanDwyer/cursor-rebase-after-focus-direction
          Merge pull request #2957 from RyanDwyer/rebase-cursor-after-map
          Merge pull request #2964 from RyanDwyer/tab-wheel-focus-inactive
          Merge pull request #2925 from ianyfan/swaylock
          Merge pull request #2950 from emersion/presentation-time
          Merge pull request #2975 from RyanDwyer/deny-commands-when-no-outputs
          Merge pull request #2980 from ppascher/allow_workspace_missing_output
          Merge pull request #2982 from Toromtomtom/master
          Merge pull request #2985 from mihaicmn/fix-retiling
          Merge pull request #2989 from RyanDwyer/fix-focus-glitchiness
          Merge pull request #2994 from RyanDwyer/respect-lone-child-border
          Revert "Fix #2992"
          Merge pull request #3001 from madblobfish/swaylock-completions-and-manpage
          Merge pull request #3006 from Snaipe/remove-class
          Merge pull request #3008 from CameronNemo/patch-1
          Merge pull request #3010 from Emantor/fix/cursor_warping_view_map
          Merge pull request #3011 from Emantor/fix/2922
          Merge pull request #3020 from emersion/swaymsg-return-status
          Update ISSUE_TEMPLATE.md
          Merge pull request #3031 from atomnuker/master
          Merge pull request #3042 from madblobfish/swaymsg-fish-completions
          Merge pull request #3037 from RyanDwyer/focus-output-wrap
          Merge pull request #3040 from RyanDwyer/border-props-to-container
          Merge pull request #3041 from RyanDwyer/marks-props-to-container
          Merge pull request #3028 from emersion/disambiguate-drop-root-error
          Clean up dependencies in README.md
          Correction to dependency updates
          Merge pull request #3052 from colemickens/output-current-mode
          Merge pull request #3021 from Snaipe/singlekey-binding-trigger
          Merge pull request #3073 from oranenj/swayidle_workaround
          Revert "Work around swayidle never triggering on SIGUSR1"
          Merge pull request #3075 from swaywm/revert-3073-swayidle_workaround
          Merge pull request #3078 from Emantor/fix/exec_always_double_load
          Merge branch 'master' into effective-damage
          Merge pull request #3068 from emersion/effective-damage
          Merge pull request #3086 from RedSoxFan/fix-dup-inner-gaps
          Merge pull request #3090 from RedSoxFan/resize-set-improved
          Merge pull request #3085 from 7415963987456321/master
          Merge pull request #3098 from c-edw/feature/RefactorArgParse
          Merge pull request #3108 from RedSoxFan/workspace-output-improved
          Merge pull request #3113 from RedSoxFan/fix-ws-auto-back-and-forth
          Merge pull request #2979 from RedSoxFan/config-var-repl
          Merge pull request #3117 from emersion/wlroots-config10
          Merge pull request #3102 from emersion/render-software-cursors
          Merge pull request #3121 from c-edw/feature/MissingFrees
          Merge pull request #3126 from emersion/swap-unused-function
          Merge pull request #3130 from RyanDwyer/fix-mode-double-free
          Merge pull request #3143 from colemickens/grow
          Merge pull request #3142 from RyanDwyer/move-view-properties
          Merge pull request #3147 from emersion/set10
          Merge pull request #3152 from camoz/master
          Merge pull request #3175 from emersion/rename-gtk-primary-selection
    
    Ferdinand Bachmann (1):
          sway-ipc: don't log errno if unneeded and add more descriptive errors
    
    Florent de Lamotte (1):
          Adding commands for configuring titlebar borders and padding
    
    Franklin "Snaipe" Mathieu (4):
          xwayland: populate window_properties in json for views
          ipc: remove class key from view json
          ipc: make class, instance, and title window properties optional
          binding: match single-key bindings if no multi-key binding matched
    
    Harish Krupo (1):
          IPC: Send keyboard layout info in IPC_GET_INPUTS
    
    Ian Fan (14):
          commands: print correct command on error for exec and opacity
          commands: remove EXPECTED_MORE_THAN
          commands: clean-up checkarg function
          commands: replace EXPECTED_LESS_THAN with EXPECTED_AT_MOST
          swaylock: exit early if unable to inhibit input
          swaylock: exit on display error
          swaybar: exit on display error
          swaybar: absorb bar_init function into bar_setup
          swaybar: reverse order of workspaces list
          swaybar: fix scrolling behaviour
          swaybar: when scrolling, check that there are workspaces to scroll on
          swayidle: when acquiring sleep lock, initialize and free variables properly
          swaylock: fix display_event to not block
          Merge pull request #3191 from emersion/fix-swayidle-busy-dispatch
    
    Jarkko Oranen (1):
          Work around swayidle never triggering on SIGUSR1
    
    John Axel Eriksson (1):
          Fix json object ipc return
    
    Konstantin Kharlamov (1):
          seat: don't traverse the list to check if it's empty
    
    Konstantin Pospelov (2):
          resize set: fix units for floating containers
          resize set: add assertion for an invalid unit
    
    Mihai Coman (4):
          Fix re-tiling for floating containers
          IPC: Trigger move events for scratchpad containers
          IPC: Add scratchpad containers to get_tree reply
          IPC: Use consistent function names across ipc-json
    
    Robinhuett (1):
          Use output identifier for workspace config
    
    Rostislav Pehlivanov (2):
          Revert "tree/view.c: fix uninitialized variables warning"
          Revert "Respect border settings when rendering lone tabbed/stacked child"
    
    Rouven Czerwinski (4):
          input-manager: consider cursor warping on input_manager_set_focus
          output: initialize layers and signal before using functions
          commands/exec_always: defer command on config validation
          config: mention that reload message is also printed on validation
    
    Ryan Dwyer (35):
          Make workspace back_and_forth seat-specific
          Fix crash when moving a container to a fullscreen workspace
          Fix crash when quitting a QT app on the wayland backend using menu
          Fix xwayland wants_floating logic
          Merge pull request #2922 from RedSoxFan/fix-2905
          Fix crash when resizing container hidden in the scratchpad
          Merge pull request #2934 from RedSoxFan/config-log-cleanup
          Fix swaybar crash when there's no status_command
          Merge pull request #2941 from ianyfan/commands
          Fix dormant cursor when using multiple seats
          seat_update_capabilities: Set cursor image while we have the capability
          Rebase the cursor after focusing in a direction
          Rebase the cursor after mapping a view
          Add multiseat support to swaylock
          When scrolling on a tab titlebar, set focus_inactive if not focused
          Fix containers not being resized when entering scratchpad
          Document how to identify outputs by make, model and serial
          Rebase the cursor after applying transactions
          Deny several commands when there's no outputs connected
          Fix focus after a non-visible workspace's last container is destroyed
          Respect border settings when rendering lone tabbed/stacked child
          Merge pull request #2995 from colemickens/uninit-warnings
          Don't reset cursor during mouse operations
          Remove enum movement_direction
          Move view border properties to container struct
          Wrap to fartherest output when running focus output
          Move view marks properties to container struct
          Merge pull request #3087 from RedSoxFan/side-gaps
          Fix double free when unmapping any view
          Fix double free of mode
          Merge pull request #3132 from emersion/dispatch-cursor-btn-segfault
          Move view {x,y,width,height} into container struct
          Merge pull request #3185 from emersion/remove-xopen-source
          Merge pull request #3199 from emersion/handle-subsurface-destroy
          Merge pull request #3211 from emersion/child-view-unmapped-segfault
    
    Ryan Walklin (1):
          Add relative output transform
    
    Spencer Michaels (1):
          Add scroll factor config option.
    
    Tom Warnke (1):
          protect newline
    
    Trevor Slocum (1):
          resize set: convert ppt to px for floating containers
    
    camoz (3):
          fix typo in config.in
          fix typo in config.in
          fix typo in swayidle(1)
    
    emersion (65):
          Merge pull request #2903 from RyanDwyer/seat-specific-backandforth
          swaybar: fix hotplug
          Merge pull request #2936 from RedSoxFan/fix-swaynag-command
          Merge pull request #2940 from RyanDwyer/fix-swaybar-crash
          Implement the presentation-time protocol
          Merge pull request #2961 from RyanDwyer/swaylock-multiseat
          Merge pull request #2970 from RyanDwyer/fix-scratchpad-size
          Merge pull request #2971 from RyanDwyer/document-output-identifiers
          Merge pull request #2974 from RyanDwyer/cursor-rebase-after-txn-apply
          Merge pull request #2973 from ianyfan/swaybar
          Merge pull request #2984 from Ferdi265/master
          Merge pull request #2997 from RyanDwyer/fix-cursor-during-operation
          Merge pull request #3003 from Hi-Angel/master
          Merge pull request #3000 from Robinhuett/workspace_address_output_by_name
          swayidle: enter idle state on SIGUSR1
          Merge pull request #3016 from mwenzkowski/fix-uninitialized-pointer
          swaymsg: fix get_outputs status code
          Merge pull request #3033 from RyanDwyer/remove-movement-direction
          Merge pull request #3027 from madblobfish/remove-resolve_path
          Make it clear that being able to restore root is a failure
          Teardown compositor when failing to drop permissions
          Merge pull request #3061 from colemickens/output-current-mode
          Use wlr_surface_get_effective_damage
          Merge pull request #3067 from madblobfish/three-trivial-fixes
          Merge pull request #3066 from mwenzkowski/fix-gaps
          Merge pull request #3071 from RedSoxFan/fix-3064
          Merge pull request #3046 from tokyovigilante/relative-transform
          Merge pull request #3089 from sghctoma/fix-clang-build
          Render software cursors with wlr_output_render_software_cursors
          Merge pull request #3116 from harishkrupo/master
          Use #if instead of #ifdef for WLR_HAS_*
          Fix unused function in swap command
          Fix segfault in dispatch_cursor_button
          Merge pull request #3141 from tslocum/resize-set-floating-ppt
          Use #if instead of #ifdef
          Merge pull request #3083 from c-edw/feature/StripWorkspaceName
          ipc: fix focused in get_outputs reply
          Merge pull request #3160 from camoz/master
          Merge pull request #3171 from camoz/master
          Merge pull request #3158 from emersion/get-outputs-focused
          Update for swaywm/wlroots#1387
          Merge pull request #3178 from progandy/sysconfdir
          Merge pull request #3145 from fdlamotte/master
          Merge pull request #3179 from baloo/baloo/title_format-pango_markup
          swayidle: listen when display becomes writable
          swayidle: fix dbus_event not to block
          Fix pango title escaping
          Merge pull request #3049 from ianyfan/swayidle
          Replace _XOPEN_SOURCE with _POSIX_C_SOURCE
          Merge pull request #3184 from kupospelov/fix-resize
          swayidle: fix busy loop on writable FD
          Merge pull request #3169 from RedSoxFan/title-align
          Handle destroyed subsurfaces
          Damage view child when destroyed
          Merge pull request #3209 from RedSoxFan/fix-3146
          Merge pull request #3204 from RedSoxFan/cmd-res-list
          Merge pull request #3207 from RedSoxFan/swaynag-no-term-buttons
          Fix segfault when destroying unmapped child view
          Merge pull request #3202 from RedSoxFan/swaynag-config-warnings
          Merge pull request #3208 from RedSoxFan/bar-gaps
          Merge pull request #3206 from RedSoxFan/ipc-subscribe
          Merge pull request #3213 from RedSoxFan/fix-3203
          Merge pull request #3214 from RedSoxFan/fix-3156
          Merge pull request #3216 from RedSoxFan/fix-empty-titlebars
          Merge pull request #3219 from RedSoxFan/swaymsg-object-success
    
    madblobfish (9):
          updated fish completions for swaylock
          reordered swaylock manpage
          added fish completions for swayidle
          added fish completions for swaynag
          Revert "Add resolve_path() to utils"
          improved swaymsg completions for fish
          removed unneeded code fragment
          added space after table in sway.5 manpage
          document swaymessage type for get_seats
    
    mteyssier (1):
          Add references to sway-output(5) in sway(5)
    
    mwenzkowski (5):
          Fix #2992
          cursor: fix uninitialized pointer in cursor_rebase
          Fix #2992
          Correct manpage regarding gaps command
          gaps: Improve error reporting
    
    ppascher (2):
          Update workspace.c
          Update workspace.c
    
    progandy (1):
          Meson: Fix SYSCONFDIR definition.
    
    sghctoma (1):
          Fix building with clang
    
  • 1.0-beta.1
    sway 1.0-beta.1
    
    Sway 1.0-beta.1 contains 2,544 changes from 80 contributors since
    0.15.2, plus 3,225 changes from 67 contributors via wlroots, for a total
    of 5,769 changes from 128 people over the past, and is the first
    **beta** release of sway 1.0.  Beta releases are considered
    feature-complete, but are not thought to be bug-free.  Nevertheless, it
    should be suitable for most users, and we did not ship it with any known
    major bugs. Please use it and provide feedback.
    
    Package maintainers: **please do not package this release**.
    
    - We have completely overhauled the codebase. Some behaviors were
      changed to match i3 behavior, in breaking ways. There are likely many
      bugs we don't know about. Your millage may vary.
    - swaygrab has been removed. For screenshots, try grim[0], and for video
      capture try wlstream[1]
    - This release depends on wlroots[2] 0.1 and drops the dependency on wlc.
    - This release depends on scdoc[3] for generating man pages, and drops
      the dependency on asciidoc.
    - Experimental Nvidia support has been deprecated since its inception,
      and has now been removed entirely. Please use nouveau and consider
      future purchases from GPU vendors that support open source. Other
      proprietary drivers are also unsupported.
    
    [0] https://github.com/emersion/grim
    [1] https://github.com/atomnuker/wlstream
    [2] https://github.com/swaywm/wlroots
    [3] https://git.sr.ht/~sircmpwn/scdoc
    
    - 100% i3 compatible*
    - 100% i3 IPC compatible
    - 100% i3-gaps compatible
    - 100% i3bar compatible**
    
    * Not including a small number of features which are are deliberately
      unsupported, such as layout save/restore or features which only make
      sense on X11
    
    ** Not including tray icons
    
    **Sway features**
    
    - swayidle, a daemon for managing DPMS and idle activity (e.g. automatic
      lock after a timeout), has been added - `man swayidle` to get started
    - swaynag, an i3-nagbar replacement, has been added, with additional
      features not supported by i3-nagbar - `man swaynag` to get started
    - `bindsym --locked` now adds keybindings which work when the screen is
      locked
    - Command blocks are now generic and work with any command
    - Window opacity can now be adjusted with the `opacity` command
    - `border csd` now enables client-side decorations explicitly
    - Atomic layout updates ensure that, when resizing windows and adjusting
      your layout, you never see an invalid frame with partially drawn clients
    - Urgency hints from Xwayland are now supported
    - Output damage tracking significantly improves CPU performance and power usage
    - Hardware cursors are now supported, improving performance
    - The Wayland, x11, and headless backends are now supported for end-user
      use, enabling nested and headless sway sessions
    - On-screen keyboards like virtboard[0] are now supported
    - Moving tiled windows with the mouse now behaves like the proposed i3
      feature[1]
    
    [0] https://source.puri.sm/Librem5/virtboard
    [1] https://github.com/i3/i3/pull/3085
    
    **Outputs**
    
    `man 5 sway-output`
    
    - Output rotation (e.g. `output NAME transform 90`)
    - Fractional scaling (e.g. `output NAME scale 1.5`) - see man page for warnings
    - Windows can now be dragged between outputs with the mouse (and display
      correctly when dragged between outputs with different scale factors)
    - Output resolution is now applied via modesetting
    - Sway can now run on multiple GPUs
    - Support for daisy-chained DisplayPort and other exotic configurations
    - All sway clients (e.g. swaylock) now support HiDPI correctly
    - A new gamma control interface with broader hardware support has been
      implemented* - see this[0] redshift patch
    
    [0] https://github.com/jonls/redshift/pull/663
    
    * Some users will have issues with buggy drivers, particularly certain
      AMDGPU configurations
    
    **Inputs**
    
    `man 5 sway-input`
    
    - Keyboard layout and XKB options may be specified in the config file
    - Multitouch support is now stable
    - Drawing tablets are now supported (partially - it emulates a mouse)
    - You can now specify the status of num lock and caps lock on startup
    - Multiple input devices can be bound to a single on-screen cursor (or
      several cursors)
    - Multiple keyboards with different layouts can be used interchangeably
    - Multiple seats can be configured (each with their own input devices
      and focused window)
    - Input devices can be mapped to limit their influence to specific
      outputs or regions of the screen
    - Input devices which provide absolutely positioned events (e.g. drawing
      tablets) can now limit their influence to a subregion of the input
      device
    - Mouse movement and button presses can now be simulated with sway
      commands
    
    **Wayland Features**
    
    - Drag and drop is now supported
    - Rich content (images, etc) can now be copied between Xwayland and
      Wayland
    - GTK's primary selection protocol has been implemented (and syncs with
      Xwayland primary selection)
    - The layer-shell protocol has been implemented (which allows for
      third-party panels[0], lock screens, notification daemons[1], etc)
    - A real time screen capture protocol has been developed and implemented
      (which allows for future third-party screenshot[1] and video
      capture[3] tools)
    - The idle & idle inhibit protocols have been implemented (which permits
      DPMS and the inhibition of DPMS by e.g. video players to work)
    - Client-side/server-side window decorations negotiation has been
      standardized and implemented
    - The xdg-shell stable protocol is now supported
    
    [0] https://github.com/Alexays/Waybar
    [1] https://github.com/emersion/mako
    [2] https://github.com/emersion/grim
    [3] https://github.com/atomnuker/wlstream
    
    **swaylock**
    
    `man swaylock`
    
    - Now supports different images on each output
    - Appearance can now be configured
    - Adds an optional config file
    
    **Misc**
    
    - Xwayland is now started only when the first X11 client is started
    
    - All known problems with xdg-shell have been fixed (such as blurry
      menus that don't accept focus)
    - All known problems with Xwayland have been fixed (such as Firefox menu
      weirdness)
    - All known HiDPI bugs
    - All known swaylock & swaybar bugs
    - Reloading your config doesn't cause crashes
    - TTY switching doesn't hang your system
    - Most bugs in general are fixed
  • 1.0-alpha.6
    1.0-alpha.6
  • 1.0-alpha.5
    1.0-alpha.5
  • 1.0-alpha.4
    1.0-alpha.4
  • 1.0-alpha.3
    1.0-alpha.3
  • 1.0-alpha.2
    404d006a · Enable lazy xwayland ·
    1.0-alpha.2
  • 0.15.2
    0.15.2
  • 1.0-alpha.1
    1.0-alpha.1
  • 0.15.1
    0.15.1
  • 0.15.0
    0.15.0
  • 0.15-rc4
    0.15-rc4
  • 0.15-rc3
    0.15-rc3