Path to this page:
Subject: CVS commit: pkgsrc/wm/spectrwm
From: pin
Date: 2023-11-03 09:14:11
Message id: 20231103081411.2F651FA2B@cvs.NetBSD.org
Log Message:
wm/spectrwm: update to 3.5.0
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.
* 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` and `always_raise` stacking 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
`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.
* 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.
* Improve window mapping.
- Add `maximize_hide_other` and `fullscreen_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.
* 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 to `focus_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.
* 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 the `layout` option.
* 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_distance` 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` and `fullscreen_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.
* 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.
* 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.
* 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.
Files: