Released on Aug 26, 2025
Adds a centered mode for tiled layouts, configuration reload, increases the maximum number of workspaces, and more.
- Add centered mode for tiled layouts.
- Add
center_layoutaction (default:M-backslash). Toggle centering of the master area. - Add
center_adaptiveoption to only center when centering does not create empty space. - Add
center_autobalanceoption to automatically balance the master/stacking areas when toggling centered mode. - Add
center_noautostackoption to disable automatically adding an extra stack when centering a layout with a single stack. - Add
center_nowrapoption to allow the centered master area to split the original order of stacks instead of maintaining tiling order. - Add corresponding layout and stack_mark options.
- Add
- Add configuration reload.
- On reload, the configuration is reloaded without restarting and the bar(s)
are reinitialized along with
bar_action(if used). - Add
reloadaction (default:unbound). Initiates a reload. - Add
SIGUSR1signal handling to initiate a reload.
- On reload, the configuration is reloaded without restarting and the bar(s)
are reinitialized along with
- Improve uniconify.
- Add
uniconify_orderoption to set the window order in the uniconify menu. - Add
uniconify_quickaction (default:unbound). Uniconify the most recently iconified window.
- Add
- Improve EWMH support.
- Add support for
_NET_WM_STATE_FOCUSED. - Improve
_NET_WM_DESKTOPrequest handling. - Improve
_NET_WM_ALLOWED_ACTIONSsupport. - Fix
_NET_WM_ALLOWED_ACTIONSproperty change issue. - Fix
_NET_DESKTOP_NAMEShandling.
- Add support for
- Add new quirks.
- Add
NOTILEquirk to disallow windows from being tiled. - Add
IGNOREURGENTquirk to ignore the urgency hint on windows. - Add
NOFOCUSPOINTERquirk to disable click-to-focus on windows.
- Add
- Increase the maximum
workspace_limitto 100. Note that bindings for workspaces 23 and above are unbound by default. - Add
move_stepandresize_stepoptions to configure the pixel amount to move/resize a window when using the respective action bindings. - Add
bar_padding_horizontalandbar_padding_verticaloptions to adjust the padding of bar text. - Add
disable_paddingoption to disable region padding when there is a single window. - Improve transient window stacking to prevent dialogs from getting buried.
- Change the
restart_of_dayaction to ignoreautorunentries. - Fix compatibility issue with Wine.
- Fix pointer centering when focusing free mode windows.
- Fix free mode maximized/fullscreen unfocus handling issue.
- Fix move/resize refocus issue with globally active input model windows.
- Fix popup window refocus issue for free mode windows.
- Improve window management checks to better handle buggy programs.
- Improve debug output.
Released on Jun 10, 2024
Adds some new features, removes limits and fixes bugs.
- Improve
focus_modeto support customization of specific focus situations. - Improve quirks.
- Add support for
+=and-=assignment operators for quirk assignment. - Add new optional window type field to quirks.
- Add
BELOWquirk. - Add
ICONIFYquirk. - Add
MAXIMIZEquirk.
- Add support for
- Add new
spawn_flagsoption to adjust program spawn entry settings. - Add new
layout_orderoption to customize the layout sequence used by thecycle_layoutaction. - Improve bar font handling.
- Remove the
bar_fontlimit of 10 fonts when using Xft. - Extend
bar_formatmarkup sequences to support font indexes above 9.
- Remove the
- Improve bar color handling.
- Remove the 10 color limit on options that accept a color list.
- Extend
bar_formatmarkup sequences to support color indexes above 9. - Add support for the
+=operator with options that accept a color list. - Fix handling of normal/unfocus/free bar colors with different counts.
- Fix bar colors should be per X screen.
- Improve urgent window handling.
- Add
color_urgent*options to change the border colors of urgent windows. - Fix
focus_urgentsearch issue.
- Add
- Improve EWMH handling.
- Add special handling of
_NET_WM_WINDOW_TYPE_NOTIFICATIONwindows. - Fix
warp_pointershould not apply to_NET_WM_MOVERESIZE. - Fix
_NET_ACTIVE_WINDOWrequest handling. - Fix
_NET_DESKTOP_VIEWPORTS. - Fix EWMH
_NET_WM_DESKTOPrequests should not bypassworkspace_limit.
- Add special handling of
- Improve libswmhack.so.
- Add XCB support.
- Remove unneeded compile time linking with libX11.
- Improve symbol lookup.
- Add new
bar_workspace_limitoption to limit the workspaces shown in the workspace (+L) and urgency hint (+U) indicators. - Fix flipped vertical/horizontal layout positioning issue.
- Fix segfault when setting the
layoutoption tofloating. - Fix window mapping issue when swapping a maximized window.
- Fix
swap_mainissue. - Fix listing of empty workspaces in
bar_format+Uand+L. - Fix escape handling of
+inbar_actionscript output. - Fix possible bar redraw delays.
- Fix some leaks and a possible crash.
- Fix building against XCB with RandR < 1.6.
- Improve RandR checks.
- Remove Xlib RandR dependency.
- Remove BSD function ports for Linux and depend on
libbsdinstead. - Improve included
spectrwm.desktopand move it to the main directory. - Improve man page.
- Improve CHANGELOG and README.
Released on Nov 25, 2023
Fixes NetBSD support and a few minor issues.
- Fix
bar_at_bottombottom gap whenbar_border_width> 0. - Fix maximize new windows in max layout when
max_layout_maximize = 1. - Fix
autorunoption andWSquirk should accept a value of-1as stated in the manual. - Fix
bar_color_freeandbar_font_color_freeoptions. - Fix bar urgency hint (+U) workspaces should begin at 1.
- Fix iconified windows should uniconify on MapRequest.
- Fix focus fallback issue when iconifying windows.
- Improve handling when programs try to position their own windows.
- Fix NetBSD build issues.
- Add NetBSD to list of OSes that have the XCB XInput Extension.
- Fix build failure when building without the XCB XInput Extension.
- Fix possible segfault at startup.
- Add SWMHACK section to manual.
- Fix typos in manual.
Released on Oct 22, 2023
Includes a bunch of major new features and improvements, such as dock/panel support, an always mapped window mode, floating workspace layout, transparent color support, tons of fixes, and more!
- Add free window mode.
- free windows are floating windows that are not in a workspace. They remain
mapped and may be resized, positioned and stacked anywhere. When iconified,
they appear at the end of the uniconify menu. Note that free windows can be
stacked above/below workspace windows but must be put into a workspace and
unfloated to be part of its tiling layout.
float_toggleis convenient for this purpose. - Add
free_toggleaction (default:M-S-grave). Toggle focused window between workspace mode and free mode. - Add
focus_freeaction (default:M-grave). Switch focus to/from windows in free mode, if any. - Add related color and focus mark options.
- free windows are floating windows that are not in a workspace. They remain
mapped and may be resized, positioned and stacked anywhere. When iconified,
they appear at the end of the uniconify menu. Note that free windows can be
stacked above/below workspace windows but must be put into a workspace and
unfloated to be part of its tiling layout.
- Improve EWMH (Extended Window Manager Hints) support.
- Add support for docks/panels and desktop managers.
- Add strut support for windows (e.g. panels) to automatically reserve screen real estate.
- Add support for applications to initiate move/resize operations.
- Add demands attention support to urgency features to include windows that request focus but are denied.
- Add support for below state to keep windows stacked below others.
- Improve
_NET_ACTIVE_WINDOWhandling. - Fix
_NET_DESKTOP_VIEWPORTshould update on workspace and region changes.
- Improve window stacking.
- Overhaul window stacking for improved reliability and flexibility required for new features/fixes. Windows are now stacked as a whole instead of per region/workspace.
- Add
click_to_raiseoption (default:1(enabled)). Raises stacking priority when clicking on a window. - Add
below_toggleaction (default:M-S-t). Toggles below state on a focused window to keep it below other windows.raisecan be used to temporarily bring a window above all others. - Fix
raiseandalways_raisestacking issues. - Fix follow mode stacking issues.
- Fix stacking order issues.
- Restore stacking order after leaving fullscreen/maximized state.
- Workaround application issues related to ICCCM 6.3 button grabs.
- If X Input Extension >= 2.1 is available, handle button bindings with the
REPLAYflag passively, without grabs. For other button bindings, establish grabs on root. - Otherwise, for compatibility, establish all button binding grabs directly on client windows.
- If X Input Extension >= 2.1 is available, handle button bindings with the
- Add alpha transparent color support for use with compositing managers. Colors
can now be specified with an alpha component via the format
rbga:rr/gg/bb/aa(values in hex.) - Improve bar fonts.
- Fallback to a "fail-safe" font if the default/user
bar_fontfails to load. - Add fallback handling for missing glyphs when using multiple fonts with Xft.
- Add supplementary private-use code points to
bar_font_pua. - Fix
$bar_fontprogram variable substitution should not include fallbacks.
- Fallback to a "fail-safe" font if the default/user
- Improve window mapping.
- Add
maximize_hide_otherandfullscreen_hide_otheroptions. When a maximized/fullscreen window is focused, hide unrelated windows on the same workspace. Useful for transparent windows. - Fix window mapping issue when handling simultaneous screen changes.
- Improve reliability.
- Add
- Improve (re)start handling.
- Set intial focus more reliably.
- Focus on fullscreen/maximized windows before main.
- Restore window floating geometry on shutdown.
- Improve focus handling.
- Add
priorsetting tofocus_close. When the focused window is closed, fallback to the last focused window in the workspace. - Add
focus_prioraction. Focus last focused window on workspace. (Default binding:M-S-a.) - Improve previous focus fallback.
- Fix iconified window focus issue.
- Fix input focus fallback.
- Fix setting focus with EWMH should unmaximize other windows.
- Fix move/resize operation should abort on focus loss.
- Fix
focus_mainissue with iconified/floating windows. - Fix max layout focus issue when closing transients.
- Fix
warp_pointerissues.
- Add
- Improve focus follow mode.
- Fix handling of ConfigureWindow and EWMH requests.
- Fix workspace switching issues.
- Improve status bar.
- Add character sequence for workspace list indicator (
+L). - Add workspace mark options for the workspace indicator (
+L). - Add stack mark options for the stacking indicator (
+S). - Add focus mark options for the focus status indicator (
+F). - Add character sequence for number of windows in workspace (
+w) (lowercase). - Add unfocused options to color bar text and background.
- Add color options for when a window in free mode is focused.
- Fix
bar_actionpiping deadlock issue. - Fix
name_workspaceshould clear on empty string. - Fix refresh bar on
name_workspace. - Set
WM_CLASS,WM_NAMEand_NET_WM_NAMEon the bar window.
- Add character sequence for workspace list indicator (
- Add
floatingworkspace layout stacking mode.- In floating layout, windows are not tiled and may be freely moved around and resized.
- Add
stack_mark_floatingoption for the stacking indicator (default:'[~]'). - Add
layout_floatingaction (default: unbound). Directly switch to floating layout. - Add
floatingstack_modeto thelayoutoption.
- Improve max layout.
- Allow windows to be unmaximized/floated in max layout.
- Add
max_layout_maximizeoption to configure default maximized state. - Allow floating windows to remain floating when dragged between regions into a max layout workspace.
- Improve window handling.
- Add snap behavior when dragging tiled/maximized windows. Prevents accidentally floating tiled windows.
- Add
snap_rangeoption (default 25). Sets the pixel distance a tiled/maximized window must be dragged (with the pointer) to make it float and move freely. Set to 0 to unsnap/float immediately. - Add
maximized_unfocusandfullscreen_unfocusoptions. Configures handling of maximized/fullscreen windows that lose focus. - Add support for ICCCM
WM_CHANGE_STATEClientMessage. Enables applications to iconify their own windows. - Add support for window gravity. Improves floating window positioning by applications.
- Disable border on maximized windows when
disable_border = always. - Add window titles to
search_win. - Fix maximize handling.
- Fix handling when a window is lost immediately after ReparentWindow.
- Fix Java workaround.
- Improve workspace handling.
- Add
workspace_autorotateoption. When switching workspaces between regions, automatically "rotate" vertical/horizontal layouts based on RandR rotation data. - Add
prior_layoutaction. Switch to the last used layout. (Unbound by default.) - Add optional rotation argument to
regionoption. - Fix ws cycle actions should skip visible workspaces.
- Add
cycle_visibleoption to the man page and example conf.
- Add
- Improve debugging.
- Add
-dcommand-line option to enable debug mode. Enables debug mode actions and logging to stderr without the need to rebuild with-DSWM_DEBUG. - Add multi-line support to
debug_toggleoverlay (default:M-d). - Add atom name cache to avoid redundant requests/syncs when printing output.
- Add
- Fix X connection error handling to exit on a failed connection.
- Fix build issues.
- Fix compile error when building against musl.
- Fix build with clang 16 on Linux.
- Improve OpenBSD
pledge(2)support.- Add "wpath" pledge for sparc64 support
- Simplify usage.
- Improve Linux Makefile.
- Improve manual and examples.
- Add details to
modkeyoption in man page. - Add stack modes and window states to man page.
- Fix incorrect key binding for
ws_6in spectrwm_fr.conf. - Fix man page
wmctrl(1)examples. - Fix
iostat(8)issue in example baraction.sh script for OpenBSD. - Update man page note regarding
dmenu(1)Xft support. - Update example spectrwm.conf.
- Update
keyboard_mappingexample configuration files. - Update html manual.
- Add details to
Released on Jun 25, 2020
- Fix
always_raisemapping issue. - Fix
_NET_CURRENT_DESKTOPshould be updated onws_next_move/ws_prev_move. - Fix focus redirect for transient windows that are about to map.
- Fix manual focus should not be affected by pointer on (un)grab.
- Add java detection for JetBrains windows.
- Remove
_NET_WM_STATEon withdrawn windows as advised by EWMH spec. - Add information to man page about program call execution.
Released on Jun 17, 2020
- Add optional startup parameters:
-c file- Specify a configuration file to load instead of scanning for one.-v- Print version and exit.
- Add new
restart_of_dayaction. (Unbound by default.) (Same as restart but configuration file is loaded in full.) - Improve startup error handling.
- Fix input focus issues.
- Fix max layout 'flickering' issue when
focus_mode = follow. - Fix
ws_next_moveandws_prev_move. - Fix withdrawn window handling.
- Fix focus issue when moving transient (and related) windows between workspaces.
- Fix maximized windows sometimes unmaximize on workspace switch.
- Fix
SIGHUPrestart. - Fix transient window crossing issue on focus/swap next/prev actions.
- Fix border color issue when clicking to focus a window on an unfocused region.
- Fix
keyboard_mappingfallback issue. - Fix width calculation of Xft glyphs. (Fixes the (dis)appearing space when switching workspaces.)
- Increase bar hard limits to better accomodate complex markup sequences.
- Add workaround to man page for OSs ignoring
LD_PRELOAD. - Add some notes to man page and fix a warning.
- Add missing options to example spectrwm.conf.
- Update spectrwm_fr.conf
- linux: Add example baraction.sh script.
- linux: Accept user-provided pkg-config command.
- linux: Install examples.
Released on Dec 19, 2019
- Add new bar text markup sequences for multiple colors/fonts/sections.
- Add new
bar_font_puaoption to assign a font (such as an icon font) to the Unicode Private Use Area (U+E000 -> U+F8FF). - Extend
disable_borderoption withalways. - Add support for XDG Base Directory Specification.
- Add OpenBSD
pledge(2)support. - Enable xinput2 on OpenBSD.
- Enable travis.
- Fix keysym binding issue with multiple keyboard layouts.
- Fix buffer overflow in
bar_strlcat_esc. - Fix infinite loop due to unsigned integer overflow.
- Fix cygwin compile issues.
- Fix NetBSD Makefile.
- Bunch of statical analyzer fixes.
- Bunch of minor fixes.
Released on Sep 7, 2018
- Add new '+L' bar_format sequence to add a workspace list indicator to the bar.
- Add new 'workspace_indicator' option to configure the workspace indicator.
- Add new 'layout_vertical','layout_horizontal' and 'layout_max' actions. (Unbound by default.)
- Add new 'ws_empty_move' action. (Unbound by default.)
- Add support for high screen depth when creating frame/bar windows. (Compositing manager alpha transparency now works!)
- Add check to adapt move/resize update rate to the refresh rate of the active display(s).
- Add 'max' alias for the layout option value 'fullscreen' for consistency.
- Add CHANGELOG.md
- Fix warp_pointer issue when Coordinate Transformation Matrix is used. (Currently available on Linux and FreeBSD only.)
- Fix focus bar color on (re)start/screenchange.
- Fix libswmhack causing issues such as deadlocks with some programs.
- Fix config file parsing on musl libc.
- Fix slight pointer jump on move action.
- Fix segfault with missing FontSet charsets.
- Fix mdoc compliance.
Released on Oct 3, 2017
Major changes:
- Add +R for region index to bar formatting.
- Add new bar_color_selected and bar_font_color_selected options.
- Add new 'ws_empty' action.
- Enable padding in the bar_format using '_' character
- Handle MappingNotify during startup.
- Reset SIGPIPE before execvp().
- Correct size for WM_STATE
This release also fixes a bunch of bugs, linux build and man page nits.
Released on May 23, 2016
Quick patch release that addresses some fallout from going full reparenting.
- Ensure iconic windows stay iconic when reparenting.
- Fix workspace cleanup on RandR screenchange. Fixes #127 and #120.
Released on May 5, 2016
- Fix makefile for non-Bitrig OS'
- Redraw the focus window frame when changing regions with the pointer #126
- Prepend SWM_LIB to LD_PRELOAD instead of clobbering #124
Released on May 2, 2016
We are proud to release spectrwm 3.0.0. Only one major new feature was added this release that should make spectrwm less quirky when using poorly written, old X11 and java applications. With the addition of reparenting spectrwm is now all grown up! In addition, spectrwm is now nearly ICCCM and EWMH compliant.
Minor features/enhancements:
- Add Online manual
- Add fullscreen_toggle action (_NET_WM_STATE_FULLSCREEN)
- Send window to next/previous regions workspace
- Add support for _NET_REQUEST_FRAME_EXTENTS
As usual, a bunch of little, and not always obvious, fixes went in as well. See commit logs for details.
Enjoy!
Team spectrwm
Released on May 26, 2015
Released on May 24, 2015
Released on May 22, 2015
Released on Jan 27, 2015
Released on Oct 26, 2014
- Fix urgency indicator issue
- Fix stacking issue on (re)start when managing unma
- Fix xscreensaver-command example
- Update Italian man page
- Man page fixes, mostly spacing related
- Reorder LDFLAGS in Linux Makefile to work with --a
- Fix warp_pointer centering
- Add note to man page regarding autorun and LD_PRELOAD
- Honour correctly "disable_border" in max_stack
- Fix focus_urgent
Released on Aug 22, 2014
- Improve English man page.
- Improve Linux Makefile.
- Fix typo s/fallowing/following/
- Fix bug in baraction.sh that causes bar text to flicker every 20s.
- Fix man page to use escape codes for aring å and pi p.
- Fix stacking issue at (re)start when spawn_position = first or prev.
- Convert all booleans to stdbool.h bool.
- Add new quirk IGNOREPID.
- Add new quirk IGNORESPAWNWS.
- Add new option: warp_pointer.
- Add new quirk: WS[n]
- Add new option: urgent_collapse
Released on May 8, 2014
- Improve stacking for windows with multiple transients.
- Add clarification for the 'name' option to man page.
- Add default maximize_toggle binding to man page.
- Set stacking order when setting up a new status bar.
- Fix segfault in fullscreen layout when a window with transient(s) unmap.
- Fix segfault when loading "layout" with non-zero parameters.
Released on Feb 26, 2014
- Add new maximize_toggle action (Default bind: M-e) Toggles maximization of the focused window.
- Change floating indicator in bar to also show 'm' for maximized state.
- Add color_focus_maximized and color_unfocus_maximized config options. Sets border colors on maximized windows. Defaults to the value of color_focus and color_unfocus, respectively.
- Add 'name' configuration option. Set name of workspace at start-of-day.
- Improve support for Extended Window Manager Hints (EWMH):
- Add support for NETCURRENT DESKTOP.
- Add support for NETDESKTOP_NAMES.
- Add support for NETNUMBER_OF_DESKTOPS.
- Add support for NETCLIENT_LIST. Windows are sorted according to NETCLIENT_LIST at start.
- Add support for NETDESKTOP_GEOMETRY and NETDESKTOP_VIEWPORT.
- Add support for NETRESTACK_WINDOW.
- Add support for NETWM_DESKTOP client message.
- Improve handling of NETWM_STATE_FULLSCREEN.
- Fix support for NETWM_NAME.
- Change iconify to use NETWM_STATE_HIDDEN instead of SWMICONIC.
- Add NETWM_FULL_PLACEMENT to NETSUPPORTED.
- Add new reorder stack action for floating windows. Reorder floating windows by using swap_next/prev without affecting tiling order.
- Deny NETACTIVE_WINDOW ClientMessages with a source type of 'normal'. Focus change requests that are not a result of direct user action are ignored. Requests from applications that use the old EWMH specification such as wmctrl(1) are still accepted.
- Add new OBEYAPPFOCUSREQ quirk. When an application requests focus on the window via a NETACTIVE_WINDOW client message (source indication of 1), comply with the request.
- Fix text rendering issue in search_win.
- Fix floating windows remaining borderless after being fullscreen.
- Fix window border colors when moving windows to hidden workspaces.
- Fix segfault when attempting to set a color on a non-existent screen. Show error instead of exiting when screen index is invalid.
- Fix configurerequest resize on transients.
- Fix move floater to max_stack.
- Fix focus issues when a window maps/unmaps on an unfocused region.
- Fix stacking issues.
- Fix 'bind[] = ...' not unbinding as expected.
- Fix quirk matching of windows missing WM_CLASS.
- Ignore EnterNotify when entering from an inferior window.
- Disable floating_toggle on fullscreen layout.
- Disable swapwin on fullscreen layout.
- Ignore key press events while moving/resizing.
- Fix LD_PRELOAD error on Linux. Note: On 64-bit Linux systems, if LD_PRELOAD isn't a relative/absolute pathname to libswmhack.so, then ld.so attempts to load a 32-bit version for 32-bit programs. This produces an error message. The solution is to either build and install a 32-bit libswmhack.so.0.0 or use an absolute/relative path so that ld.so only loads libswmhack.so for 64-bit binaries.
- Update OSX Makefile.
Released on Nov 15, 2013
Released on Apr 29, 2013
- Added ability to move/resize floating windows beyond region boundaries.
- Added 'soft boundary' behavior to region boundaries. When moving a window past the region boundary, the window will 'snap' to the region boundary if it is less than boundary_width distance beyond the edge.
- Added new boundary_width configuration option. Disable the 'soft boundary' behavior by setting this option to 0.
- Added ability to set tile_gap to negative values. This makes it possible for tiled windows to overlap. Set to the opposite of border_width to collapse borders.
- Fixed floating window stacking order issue on multiple-region setups.
- Fixed crash on maprequest when WM_CLASS name and/or instance isn't set.
- Fixed positioning issue on flipped layouts with a multi-column/row stack.
- Fixed focus when switching to an inactive workspace with a new window.
- Fixed symlinks in Linux Makefile.
Released on Mar 23, 2013
- Change validation of default 'optional' programs to only occur when the respective config entry is overridden, not when the binding is overridden.
- Added details to the man page and spectrwm.conf on how to disable/override the default programs.
- Change key grabbing to only grab ws binds within workspace_limit.
- New QUIRKS:
- NOFOCUSONMAP: Don't change focus to the window when it gets mapped on the screen.
- FOCUSONMAP_SINGLE: When the window is mapped, change focus if it is the only mapped window on the workspace using the quirk entry.
- New ws_next_move and ws_prev_move bindings to send a window to the next/prev workspace and switch to the workspace.
- Fix fullscreen layout stacking issue when running with multiple regions.
- Fix input focus issue with multiple regions when changing region focus with the keyboard.
- Fix manual focus mode; pointer motion over an empty region no longer changes region focus.
- Fix building on OSX.
- Fix expansion of ~ for the keyboard_mapping path.
- Fix segfault that can occur when the XCB server connection is lost.
- Remove path from Linux spectrwm.desktop.
Released on Nov 28, 2012
Quite a few little fixes but they add up.
- avoid a free on an uninitialized variable by setting optval to NULL.
- Fix fparseln flags to remove escape characters in the result.
- Fix issue where rapid window crossing events might get ignored.
- Validate bound spawn programs after conf is loaded.
- Fix move/resize to bail if the window gets destroyed.
- Fix bar clock not getting updated during periods of inactivity.
Released on Oct 30, 2012
- New configuration options:
- tile_gap: adjust spacing between tiled windows.
- region_padding: adjust spacing between tiled windows and the region border.
- bar_border_unfocus[x]: border color of the bar on unfocused regions of screen x.
- bar_enabled_ws[x]: set the default state for bar_toggle_ws on workspace x.
- New bindings:
- rg_ - focus on region n, default is MOD-Keypad_<1-9>
- mvrg_ - move window to region n, default is MOD-Shift-Keypad_<1-9>
- bar_toggle_ws - toggle the status bar on current workspace, default is MOD-Shift-b.
- New argument variables for program spawn:
- $region_index
- $workspace_index
- Improved bar_action handling to eliminate the need for bar_delay.
- Renamed screen_* bindings to rg_*; config files using the old bindings are still supported.
- Fixed handling of region focus with empty workspaces.
- Fixed toggle_bar not working on empty workspaces.
- Fixed issue where multiple key actions might be handled simultaneously.
- Fixed focus behavior when iconified windows exist in the ws.
- Fixed windows not being unmapped on single-monitor fullscreen layout.
- Fixed mouse and keyboard binds to work regardless of caps/numlock state.
- Fixed a couple segfaults.
- Fixed a couple memleaks.
- Kill bar_action script oAn an unclean exit.
- Add startup exception mechanism that display error messages in the bar.
- Add config file check that uses startup exceptions to tell user if the file has issues.
- Add runtime dependency checker that uses startup exceptions to tell user if something is missing.
Released on Aug 27, 2012
This is an emergency patch release for folks that end up with a blank screen after starting spectrwm. No need to updated unless you see this issue.
Release notes:
- Fix scan_xrandr to fallback when a scan results in no new regions.
- Add tilde ~ expansion to autorun command in the config.
Released on Aug 26, 2012
- Added support for Xcursor.
- Fixed several fullscreen layout issues.
- Improved focus handling so related windows are raised when appropriate.
- Fixed several focus issues.
- Fixed several issues that could cause segfaults.
- Fixed startup issue where certain windows might not get managed.
- Fixed delay when moving/resizing windows via keyboard.
Released on Aug 22, 2012
- complete rewrite using xcb
- 100% backwards compatible
- way more responsive and snappy
- Tons of warts fixed
- cygwin works again
- xft fonts
And many other things.
Released on Jul 31, 2012
Released on Jul 17, 2012
- Fix issue where a window/icon could not be clicked or otherwise be manipulated (skype, thunderbird etc).
- Fix an issue where on some Intel graphics cards when exiting the screen turned garbled and would blink really badly.
- Bonus fix: spawn_position to actually do what it is supposed to do.
Released on Jul 3, 2012
- Add backwards compatibility for the spawn_term binding
- Add clarification to man page that default workspace_limit is 10.
Released on Jul 2, 2012
- Fix status bar flicker by double-buffering the output.
- Add horizontal_flip and vertical_flip layout options.
- Kill references before focusing on a new window.
- Add new options to change focus behavior on window open and close.
- Increase workspace hard limit to 22.
- Tons of wart removals
Released on Feb 17, 2012
- Fixed all clang static analyze bugs/issues
- Remain name and config file compatible with scrotwm
- Fix OSX version again
- Print proper version with M-S-v on linux
- Add flip_layout binding to all keyboard layout examples
- Fix setting of window property strings
- Clear status-bar when iconifying the last window
- Use a red-black tree for key bindings