Releases: conformal/spectrwm
spectrwm 3.5.1 released!
spectrwm 3.5.1
Released on Nov 25, 2023
Fixes NetBSD support and a few minor issues.
- Fix
bar_at_bottom
bottom gap whenbar_border_width
> 0. - Fix maximize new windows in max layout when
max_layout_maximize = 1
. - Fix
autorun
option andWS
quirk should accept a value of-1
as stated
in the manual. - Fix
bar_color_free
andbar_font_color_free
options. - 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.
spectrwm 3.5.0 released!
spectrwm 3.5.0
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_toggle
is convenient for
this purpose. - Add
free_toggle
action (default:M-S-grave
). Toggle focused window
between workspace mode and free mode. - Add
focus_free
action (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
- 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_WINDOW handling.
- Fix _NET_DESKTOP_VIEWPORT should 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_raise
option (default:1
(enabled)). Raises stacking
priority when clicking on a window. - Add
below_toggle
action (default:M-S-t
). Toggles below state on a
focused window to keep it below other windows.raise
can be used to
temporarily bring a window above all others. - Fix
raise
andalways_raise
stacking issues. - Fix follow mode stacking issues.
- Fix stacking order issues.
- Restore stacking order after leaving fullscreen/maximized state.
- Overhaul window stacking for improved reliability and flexibility required
- Workaround application issues related to ICCCM 6.3 button grabs.
- If X Input Extension >= 2.1 is available, handle button bindings with the
REPLAY
flag 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_font
fails 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_font
program variable substitution should not include fallbacks.
- Fallback to a "fail-safe" font if the default/user
- Improve window mapping.
- Add
maximize_hide_other
andfullscreen_hide_other
options. 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
prior
setting tofocus_close
. When the focused window is closed,
fallback to the last focused window in the workspace. - Add
focus_prior
action. 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_main
issue with iconified/floating windows. - Fix max layout focus issue when closing transients.
- Fix
warp_pointer
issues.
- 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_action
piping deadlock issue. - Fix
name_workspace
should clear on empty string. - Fix refresh bar on
name_workspace
. - Set WM_CLASS, WM_NAME and _NET_WM_NAME on the bar window.
- Add
floating
workspace layout stacking mode.- In floating layout, windows are not tiled and may be freely moved around
and resized. - Add
stack_mark_floating
option for the stacking indicator
(default:'[~]'
). - Add
layout_floating
action (default: unbound). Directly switch to floating
layout. - Add
floating
stack_mode
to thelayout
option.
- In floating layout, windows are not tiled and may be freely moved around
- Improve max layout.
- Allow windows to be unmaximized/floated in max layout.
- Add
max_layout_maximize
option 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_range
option (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_unfocus
andfullscreen_unfocus
options. Configures
handling of maximized/fullscreen windows that lose focus. - Add support for ICCCM
WM_CHANGE_STATE
ClientMessage. 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.
- Add snap behavior when dragging tiled/maximized windows. Prevents
- Improve workspace handling.
- Add
workspace_autorotate
option. When switching workspaces between regions,
automatically "rotate" vertical/horizontal layouts based on RandR rotation
data. - Add
prior_layout
action. Switch to the last used layout.
(Unbound by default.) - Add optional rotation argument to
region
option. - Fix ws cycle actions should skip visible workspaces.
- Add
cycle_visible
option to the man page and example conf.
- Add
- Improve debugging.
- Add
-d
command-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_toggle
overlay (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
modkey
option in man page. - Add stack modes and window states to man page.
- Fix incorrect key binding for
ws_6
in 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_mapping
example configuration files. - Update html manual.
- Add details to
spectrwm 3.4.1 released!
spectrwm 3.4.1
Release on Jun 25, 2020
- Fix always_raise mapping issue.
- Fix _NET_CURRENT_DESKTOP should be updated on ws_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_STATE on withdrawn windows as advised by EWMH spec.
- Add information to man page about program call execution.
spectrwm 3.4.0 released!
spectrwm 3.4.0
Release 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_day
action. (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_move
andws_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
SIGHUP
restart. - 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_mapping
fallback 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.
spectrwm 3.3.0 released!
spectrwm 3.3.0
Released on Dec 19, 2019
- Add new bar text markup sequences for multiple colors/fonts/sections.
- Add new
bar_font_pua
option to assign a font (such as an icon font) to the Unicode Private Use Area (U+E000 -> U+F8FF). - Extend
disable_border
option 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.
spectrwm 3.2.0 released!
spectrwm 3.2.0
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.
spectrwm 3.1.0 released!
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.
spectrwm 3.0.2 released!
spectrwm 3.0.1 released
spectrwm 3.0.0 released!
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