sdorfehs is a tiling window manager descended from ratpoison, which itself is
modeled after GNU Screen.
sdorfehs divides the screen into one or more frames, each only displaying
one window at a time but can cycle through all available windows (those
which are not being shown in another frame).
Like Screen, sdorfehs primarily uses prefixed/modal key bindings for most
actions.
sdorfehs's command mode is entered with a configurable keystroke
(Ctrl+a by default) which then allows a number of bindings accessible with just
a single keystroke or any other combination.
Special thanks to David H. Gutteridge for the patch and explanations.
Change log:
4.14.6
======
- Add more XErrors traps
- I18n: Update translations: da, es, et, he, lt, oc, ug
4.14.5
======
- Fix an error leak in compositor (xfce/xfwm4#351)
- Fix compositor selection atom misuse
based on a private patch from snow flurry, thx!
There have been a tonne of bug-fixes, and what's listed below are some
key-highlights. Please do read the full CHANGELOG in detail for more
information.
Breaking changes:
* Deprecate librplay support in FvwmEvent
* This therefore means librplay as a dependency is no longer required.
* documentation: remove docbook in favour of asciidoc (ThomasAdam)
* This therefore means that xsltproc as a dependency is no longer
required, but asciidoctor will be for compiling man pages.
* documentation: --enable-htmldoc has been removed -- generating HTML
documentation is longer possible.
Implemented enhancements:
* New Status command in JSON format (over a FIFO) for use with external
bars such as lemonbar
* Add expansion variables for a window's X/Y page
* Introduced a compat-wrapper for FvwmCommand written in Python3
Fixed bugs:
See the Full Changelog
mcwm is a minimalist window manager for the X Window System written from
scratch in C directly on top of XCB. It is a traditional floating window
manager with a lot of features but without the bloat.
In mcwm all functions, including move and resize, are available from the
keyboard but a pointing device can be used for move, resize and raise/lower.
Release 0.9.1 on 2020-12-28
---------------------------
* Client minimization (controlled by the attribute 'minimized' of every client)
* The 'index' attribute of tags is now writable. This allows adjusting the
order of existing tags.
* New child object 'focused_client' for each tag object.
* New child object 'focused_frame' for the tiling object of each tag object.
* New child object 'parent_frame' for each client providing the frame the client sits in
* New command 'mirror'
* New command 'apply_tmp_rule'
* The 'apply_rules' command now reports parse errors
* Reserve space for panels that do not set _NET_WM_STRUT e.g. conky windows
of type 'dock'.
* Only build json object doc if WITH_DOCUMENTATION is activated
* Bug fixes:
- When hiding windows, correctly set their WM_STATE to IconicState (we set
it to Withdrawn state before, which means "unmanaged" and thus is wrong).
This may require restarting pagers when upgrading hlwm live.
- Fix crash in 'split explode'
- 'split explode' preserves the window focus (as in v0.7.2 and before)
macOS. In exchange for avoiding the use of the bundled i386 binary blob,
this drops compatibility with older macOS (by requiring a newer API in
the system libXplugin). In case this had been building for anyone on
semi-recent macOS, bump PKGREVISION.
Addresses pkg/55880.
TinyWM is a tiny window manager created as an exercise in minimalism. It is
also maybe helpful in learning some of the very basics of creating a window
manager. It is only around 50 lines of C.
It lets you do four basic things:
- Move windows interactively with Alt+Button1 drag
- Resize windows interactively with Alt+Button3 drag
- Raise windows with Alt+F1
- Focus windows with the mouse pointer
# From 0.9.9 to 0.9.10
## Additions
- New node descriptor: `first_ancestor`.
- New node modifiers: `horizontal`, `vertical`.
## Changes
- The node descriptors `next` and `prev` might now return any node. The previous behavior can be emulated by appending `.!hidden.window`.
- The node descriptors `pointed`, `biggest` and `smallest` now return leaves (in particular `pointed` will now return the *id* of a pointed receptacle). The previous behavior can be emulated by appending `.window`.
- The *query* command now handles all the possible descriptor-free constraints (for example, `query -N -d .active` now works as expected).
- The rules can now match against the window's names (`WM_NAME`).
- The configuration script now receives an argument to indicate whether is was executed after a restart or not.
- The *intermediate consequences* passed to the external rules command are now in resolved form to avoid unwanted code execution.
This release addresses the following:
New Features:
Add support for infostore in EnvIsSet Test case #240 (ThomasAdam)
Add variable/parameter which indicates the state of the FVWM3 logging #239 (NsCDE)
Support for setting default mouse cursor on all FvwmScript widgets #222 (NsCDE)
Add support for triangle indicator in/out sub options #221 (NsCDE)
Add WindowName option to FvwmButtons #219 (NsCDE)
Build problems:
compilation fails on openbsd-current due to safemalloc.h (va_list) #231
"version of go" misinterpreted by configure script? #202
Unable to build 1.0, bson.h not found [FreeBSD 12.1] #200
Bug-fixes:
_NET_WM_STATE was not updated for maximized windows #203
EwmhBaseStruts calculations don't use monitor's #241
DesktopConfiguration global inherits behaviour from per-monitor mode #236
FvwmEvent: missing monitor\_focus event #228
perllib: doesn't understand MX_MONITOR_* events #226
FvwmButtons subpanels not popped out on primary monitor when desk is > 0 #224
PositionPlacement Center: fix to use current screen #211
EwmhBaseStruts missing screen info from manpage #208
EwmhBaseStrut: fix calculations for per-monitor #242 (ThomasAdam)
Fix window locations in Global mode #237 (ThomasAdam)
Release 0.9.0 on 2020-10-31
---------------------------
* When an application fails to focus itself (because
focus_stealing_prevention is active), then the window is marked as urgent.
* New optional argument for the 'split' command for splitting non-leaf frames
* Frame objects: the frame layout can be introspected via the 'tiling' object
present in each tag, e.g.: 'tags.focus.tiling'.
* New command 'foreach' for iterating over objects
* New attribute 'urgent_count' for tags, counting the number of urgent clients on a tag
* New rule consequence 'floatplacement' that updates the placement of floating
clients ('floatplacement=smart' for little overlap,
'floatplacement=center' for centering) or leaves the floating position as
is ('floatplacement=none')
* New rule condition 'pgid'
* New format specifier '%c' in the 'sprintf' command (useful in combination with 'foreach')
* The 'new_attr' command now also accepts an initial value
* React to a change of the 'floating_focused' attribute of the tag object
* New frame index character 'p' for accessing the parent frame
* Object tree documentation as a json file
* Bug fixes:
- Fix wrong behaviour in 'cycle_layout' in the case where the current layout
is not contained in the layout list passed to 'cycle_layout'.
- Fix handling of delta -1 in 'focus_monitor' and 'cycle_monitor'
- Fixed precision decimals in the layout tree (more reliable in- and output
of fractions in frame splits)
- Fixes in maximize.sh
Based on work by Dan Cîrnaț and myself in pkgsrc-wip.
Mutter is a window and compositing manager that displays and manages your
desktop via OpenGL. Mutter combines a sophisticated display engine using
the Clutter toolkit with solid window-management logic inherited from the
Metacity window manager.
YeahWM is a h* window manager for X based on evilwm and aewm.
Features:
* Sloppy Focus.
* BeOS-like tabbed titles, which can be repositioned.
* Support for Xinerama.
* Simple Appearance.
* Good keyboard control.
* Creative usage of the mouse.
* Respects aspect size hints.
* Solid resize and move operations.
* Virtual Desktops.
* "Magic" screen edges for desktop switching.
* Snapping to other windows and screen borders when moving windows.
* Small binary size(ca. 23kb).
* Little resource usage.
This was deleted a few years ago due to the gtk1 deprecation, but
removing its dependency on gtk1 is trivial and does not impact
its functionality.
I consider qvwm essential software for fun.
-
qvwm is a window manager for the X Window System which provides a user
experience very close to Windows 95/98. It is small and extremely fast.
Add xft2 as a recommended option, following the example of fluxbox.
While here, also make nls a recommended option, rather than being
unconditionally enabled.
Fvwm3 is a multiple large virtual desktop window manager, originally (a
looooong time ago!) derived from twm.
Fvwm3 is intended to have a small memory footprint but a rich feature set,
be extremely customizable and extendible, and have a high degree of Motif
mwm compatibility.
Change log:
4.14.4
======
- Fix a crash on FreeBSD (xfce/xfwm4#411)
- Fix compilation warning due to g_type_class_add_private deprecation
4.14.3
======
- Add support for XRes X11 extension to get the PID of sandboxed apps
- Fix use-after-free of settings strings (xfce/xfwm4#406)
- More XError traps (xfce/xfwm4#405)
- I18n:
Update translations: en_CA, et, he, hy_AM, id, it, sq, zh_HK
New translations: hye