The NetBSD Project

CVS log for pkgsrc/wm/spectrwm/distinfo

[BACK] Up to [] / pkgsrc / wm / spectrwm

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.14 / (download) - annotate - [select for diffs], Sat Nov 25 21:59:21 2023 UTC (7 days, 2 hours ago) by pin
Branch: MAIN
Changes since 1.13: +4 -5 lines
Diff to previous 1.13 (colored)

wm/spectrwm: update to 3.5.1

Released on Nov 25, 2023

Fixes NetBSD support and a few minor issues.
 - Fix bar_at_bottom bottom gap when bar_border_width > 0.
 - Fix maximize new windows in max layout when max_layout_maximize = 1.
 - Fix autorun option and WS quirk should accept a value of -1 as stated in
   the manual.
 - Fix bar_color_free and bar_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.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Nov 3 08:14:10 2023 UTC (4 weeks, 1 day ago) by pin
Branch: MAIN
Changes since 1.12: +5 -4 lines
Diff to previous 1.12 (colored)

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
  - 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
  - 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
  - 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
  - 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
  - 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 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.

Revision 1.12 / (download) - annotate - [select for diffs], Tue Oct 26 11:25:18 2021 UTC (2 years, 1 month ago) by nia
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3, pkgsrc-2023Q2-base, pkgsrc-2023Q2, pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4, pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

wm: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Revision 1.11 / (download) - annotate - [select for diffs], Thu Oct 7 15:05:11 2021 UTC (2 years, 1 month ago) by nia
Branch: MAIN
Changes since 1.10: +1 -2 lines
Diff to previous 1.10 (colored)

wm: Remove SHA1 hashes for distfiles

Revision 1.10 / (download) - annotate - [select for diffs], Thu Jun 25 11:29:20 2020 UTC (3 years, 5 months ago) by pin
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.9: +5 -5 lines
Diff to previous 1.9 (colored)

wm/spectrwm: update to 3.4.1

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.

Revision 1.9 / (download) - annotate - [select for diffs], Thu Jun 18 18:45:25 2020 UTC (3 years, 5 months ago) by pin
Branch: MAIN
Changes since 1.8: +5 -5 lines
Diff to previous 1.8 (colored)

wm/spectrwm: update to 3.4.0

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 and ws_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 script.
   linux: Accept user-provided pkg-config command.
   linux: Install examples.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Dec 30 13:15:37 2019 UTC (3 years, 11 months ago) by ng0
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.7: +5 -8 lines
Diff to previous 1.7 (colored)

wm/spectrwm: Update to 3.3.0

packaged by pin <> in pkgsrc-wip


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 with `always`.
* 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.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Dec 20 12:33:23 2018 UTC (4 years, 11 months ago) by jaapb
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4
Changes since 1.6: +8 -5 lines
Diff to previous 1.6 (colored)

Updated wm/spectrwm to version 3.2.0.

Changed distribution (upstream is now on github).
Patches to the build system have been submitted upstream.

As for features since the last version, there have been many changes
that can all be found in in the distribution. The program
continues to work as before, just better.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Nov 2 23:42:54 2015 UTC (8 years, 1 month ago) by agc
Branch: MAIN
CVS Tags: pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (colored)

Add SHA512 digests for distfiles for wm category

Problems found with existing distfiles:

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Aug 8 06:24:02 2014 UTC (9 years, 3 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3
Changes since 1.4: +4 -4 lines
Diff to previous 1.4 (colored)

Update to 2.5.1, provided by Lokesh Mandvekar on pkgsrc-users:

Fix segfault when loading "layout" with non-zero parameters.
This affected multi-region. stack() must be called after the region bars
are created.

Fix layout entry in man page.

Improve stacking for windows with multiple transients.

Fix hang in fullscreen layout when a window has multiple transients.

Fix focus_(prev|next) for windows with multiple transients.

Add a missing queue.h macro to Linux util.h.

Set stacking order when setting up a new status bar.
Fixes stacking issues that can arise on a randr screenchange event.

Fix segfault in fullscreen layout when a window with transient(s) unmap.

Add default maximize_toggle binding to man page.

Add clarification for the 'name' option to man page.

Remove stray new paragraph macro in man page.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Mar 12 18:14:41 2014 UTC (9 years, 8 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1
Changes since 1.3: +4 -5 lines
Diff to previous 1.3 (colored)

Update to 2.5.0, provided by Lokesh Mandvekar on pkgsrc-users.

Changes since previous version:

Fix text rendering issue in search_win.
The depth of the indicator window must match the depth of the allocated
text color.  To ensure this is always the case, copy from root
instead of parent.

Ignore EnterNotify when entering from an inferior window.

Fix floating windows remaining borderless after being fullscreen.

Fix window border colors when moving windows to hidden workspaces.

When an application requests focus on the window via a
_NET_ACTIVE_WINDOW client message (source indication of 1),
comply with the request.

Improve support for Extended Window Manager Hints (EWMH).


Windows are sorted according to _NET_CLIENT_LIST at start.

Change iconify to use _NET_WM_STATE_HIDDEN instead of


Improve handling of _NET_WM_STATE_FULLSCREEN.

Improve general handling of EWMH.

Fix focus issues when a window maps/unmaps on an unfocused region.

Fix calls to get property length that did not adjust for item size.

Fix stacking issues.

Fix segfault.

Disable swapwin on fullscreen layout.

Remove floating property from ws_win struct.

Add new macros for accessing ewmh_flags.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Nov 29 23:30:47 2013 UTC (10 years ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2013Q4-base, pkgsrc-2013Q4
Changes since 1.2: +5 -5 lines
Diff to previous 1.2 (colored)

Update to 2.4.0, based on patch by Lokesh Mandvekar on pkgsrc-users.
Changes not documented.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jul 29 06:42:32 2013 UTC (10 years, 4 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2013Q3-base, pkgsrc-2013Q3
Changes since 1.1: +4 -4 lines
Diff to previous 1.1 (colored)

Update to 2.3.0, based on a patch by Lokesh Mandvekar <>
on pkgsrc-users.

This release adds the ability to move/resize floating windows beyond
region boundaries. It adds '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. A new boundary_width
configuration option has been added. The 'soft boundary' behavior
can be disabled by setting this option to 0. The ability to set
tile_gap to negative values has been added, which makes it possible
for tiled windows to overlap. Set this to the opposite of border_width
to collapse borders.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Jul 26 17:55:37 2013 UTC (10 years, 4 months ago) by wiz
Branch: MAIN

Import spectrwm-2.2.0 as wm/spectrwm.

Based on a package by Lokesh Mandvekar <>
and wm/scrotwm.

Spectrwm is a small dynamic tiling window manager for X11. It tries
to stay out of the way so that valuable screen real estate can be
used for much more important stuff. It has sane defaults and does
not require one to learn a language to do any configuration. It
was written by hackers for hackers and it strives to be small,
compact and fast.

It was largely inspired by xmonad and dwm. Both are fine products
but suffer from things like: crazy-unportable-language-syndrome,
silly defaults, asymmetrical window layout, "how hard can it be?"
and good old NIH. Nevertheless dwm was a phenomenal resource and
many good ideas and code was borrowed from it. On the other hand
xmonad has great defaults, key bindings and xinerama support but
is crippled by not being written in C.

Spectrwm is a beautiful pearl! For it too, was created by grinding
irritation. Nothing is a bigger waste of time than moving windows
around until they are the right size-ish or having just about any
relevant key combination being eaten for some task one never needs.
The path of agony is too long to quote and in classical OpenBSD
fashion (put up, or hack up) a brand new window manager was whooped
up to serve no other purpose than to obey its masters. It was
written by Marco Peereboom & Ryan Thomas McBride and it is released
under the ISC license.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>