Releases: conformal/spectrwm
Releases · conformal/spectrwm
spectrwm 3.6.0 released!
spectrwm 3.6.0
Released on Jun 10, 2024
Adds some new features, removes limits and fixes bugs.
- Improve
focus_mode
to 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
BELOW
quirk. - Add
ICONIFY
quirk. - Add
MAXIMIZE
quirk.
- Add support for
- Add new
spawn_flags
option to adjust program spawn entry settings. - Add new
layout_order
option to customize the layout sequence used by the
cycle_layout
action. - Improve bar font handling.
- Remove the
bar_font
limit of 10 fonts when using Xft. - Extend
bar_format
markup 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_format
markup 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_urgent
search issue.
- Add
- Improve EWMH handling.
- Add special handling of
_NET_WM_WINDOW_TYPE_NOTIFICATION
windows. - Fix
warp_pointer
should not apply to_NET_WM_MOVERESIZE
. - Fix
_NET_ACTIVE_WINDOW
request handling. - Fix
_NET_DESKTOP_VIEWPORTS
. - Fix EWMH
_NET_WM_DESKTOP
requests 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_limit
option 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
layout
option tofloating
. - Fix window mapping issue when swapping a maximized window.
- Fix
swap_main
issue. - Fix listing of empty workspaces in
bar_format
+U
and+L
. - Fix escape handling of
+
inbar_action
script 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
libbsd
instead. - Improve included
spectrwm.desktop
and move it to the main directory. - Improve man page.
- Improve CHANGELOG and README.
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.