Log message:
ctwm: update to 4.0.1, from Rhialto (maintainer) in PR pkg/53448
4.0.1 (2017-06-05)
User Visible Changes
Fix a bug where fullscreen windows could sometimes wind up incorrectly \
stacked due to a focus-handling issue. This would lead to ctwm aborting with an \
assertion failure in the OTP code, like Assertion failed: (PRI(owl) >= \
priority), function OtpCheckConsistencyVS.
Fix an edge case (probably only triggerable via manual work with EWMH \
messages) where a window could wind up resized down to nothing.
Internals
Systems with the ctfconvert/ctfmerge tools available will now use them to \
include CTF info in the compiled binary. This allows more detailed inspection of \
the running process via DTrace (e.g., the layout of the structs).
The initial rumblings of a Developer's Manual are now in doc/devman/. This \
isn't tied into the main build, and there's no real reason it ever will be. \
Things of interest to users should wind up in the main manual; this should only \
have things of interest to people developing ctwm.
4.0.0 (2017-05-24)
Build System Change
The old imake build system has been replaced by a new structure using cmake. \
This makes cmake a requirement to build ctwm. See the README.md file for how to \
run it.
A fallback minimal build system is available in the minibuild/ directory for \
environments that can't use the main one. This is likely to need some manual \
adjustment on many systems, and the main build is strongly preferred. But it \
should suffice to get a runnable binary if all else fails.
Platform Support
Support for many non-current platforms has been dropped. In particular, remnants \
of special-case VMS support have been removed. Many old and now dead Unix \
variants have been similarly desupported. Generally, platforms without support \
for C99 and mid-2000's POSIX are increasingly less likely to work.
Backward-Incompatible Changes And Removed Features
Argument parsing has been rewritten to use getopt_long(). All -long options \
are now --long instead. -version, -info, -cfgchk, and -display are still \
accepted if they're the first option given, to make it easier for scripts to \
simultaneously support before/after versions; this shim will be removed in a \
later version.
Support for the SDSC imconv library, and the IMCONV options related to it, \
has been removed. The last release is almost 20 years old, and doesn't support \
any remotely recent platforms.
The USE_SIGNALS code to use signal-driven animations has been removed. It's \
been non-default since 3.2 (more than 20 years ago), and not documented anywhere \
but in the code and a comment in this file.
The USE_GNOME option and code for GNOME1 support has been removed.
The old-style title button action specifications (without an = in them) \
deprecated since 3.8 are no longer supported. Just replacing the ":" \
with "= :" should suffice to make it work right in 3.8+. If you need \
to share configs with older versions, you'll have to conditionalize the syntax \
with m4 or some other preprocessing.
The f.cut (and ^ alias for it), f.cutfile, and f.file functions have been \
removed. These functions for messing with the clipboard were never visibly \
documented, and came into the manpage in 3.0 already commented-out and saying \
they were obsolete.
The f.source function has been removed. It's never done anything (except \
beep) as far back as 1.1 and has never been documented.
The f.movemenu function has been removed. It was added silently in 2.1, has \
never done anything, and has never been documented.
The NoVersion config parameter has been removed. It's been undocumented, \
obsoleted, and done absolutely nothing since 1.1.
Support for non-flex versions of lex(1) is deprecated, and will take some \
manual work to build. Note that release tarballs include prebuild lexers, so \
this probably only matters to people building from a development tree. (And if \
you are, and really need AT&T or some other lex to work, talk to us!)
Support for building with internal regex implementation has been disabled; \
we now require regex support from libc. It is still possible to enable by \
manually editing files, but this will be removed in the future. If you have to \
mess with this, please bring it up on the mailing list so we can figure out a \
long-term solution.
Parsing of the ctwm.workspaces X resource (i.e., setting -xrm \
"ctwm.workspaces: something" on program command-lines) since 3.0 has \
collapsed doubled backslashes (\\) into a single (\). However, there were no \
other escapes, so this didn't gain anything. Using a single will work with both \
variants, unless you need multiple backslashes in a row in your workspace names.
The IconRegion and WindowRegion config params both take a vgrav hgrav pair \
of parameters to control layout. Previous versions would accept a hgrav vgrav \
ordering in the parsing, and would mostly work by odd quirks of the code. The \
parsing has been made stricter, so only the documented vgrav hgrav ordering is \
accepted now.
User Visible Changes
The default install locations have been changed. See the README for details \
about where things are installed and how to change them.
Several default settings have been changed. ctwm now defaults to acting as \
though RestartPreviousState, NoGrabServer, DecorateTransients, NoBackingStore, \
RandomPlacement, OpaqueMove, OpaqueResize, SortIconManager, and StartInMapState \
have been set. Those settings that didn't previously have an inverse (to get the \
behavior previously seen when they weren't specified) have such added; see \
below.
Added various config parameters as inverses of existing params. New params \
(with existing param they invert in parens):
BackingStore (NoBackingStore)
GrabServer (NoGrabServer)
StartInButtonState (StartInMapState)
NoSortIconManager (SortIconManager)
NoRestartPreviousState (RestartPreviousState)
NoDecorateTransients (DecorateTransients)
Added DontShowWelcomeWindow config option to not show welcome splashscreen image.
Selected a number of cleanups from Stefan Monnier \
<monnier%IRO.UMontreal.CA@localhost>, including rate-limiting of \
animations using a new _XA_WM_END_OF_ANIMATION message. Font height is estimated \
based on used characters only. Added some similar changes, improved the \
prevention of placing windows off-screen, the f.rescuewindows function for \
emergencies, a hack-fix for f.adoptwindow. More virtual screen tweaks/fixes.
Added the remaining OnTopPriority changes from Stefan Monnier \
<monnier%IRO.UMontreal.CA@localhost>: AutoPopup, AutoPriority, \
OnTopPriority, PrioritySwitching, f.changepriority, f.priorityswitching, \
f.setpriority, f.switchpriority, f.tinylower, f.tinyraise. Currently consistency \
checking code is enabled, which will terminate with an assertion failure if \
something unexpected happens. Smoothed out various inconsistencies that this \
check discovered when virtual screens are used.
Basic support for EWMH (Extended Window Manager Hints) added and enabled by \
default. EWMHIgnore {} config option allows selectively disabling bits. [Olaf \
"Rhialto" Seibert, Matthew Fuller]
Icon manager windows are no longer included in the window ring (that had \
confusing effects on the focus sequence).
Added --dumpcfg command-line option to print out the compiled-in fallback \
config file.
The Occupy {} specification now accepts "ws:" as a prefix for \
workspaces. This may break things if you have workspaces with names that differ \
only by that prefix (e.g., you have workspaces "abc" and \
"ws:abc", and your Occupy {} declarations affects both.
If ctwm is built with rplay support, sounds may now be configured with the \
RplaySounds {} parameter in the config file in place of the ~/.ctwm-sounds file. \
If so, ctwm will give a warning if .ctwm-sounds exists; support for the external \
file will be removed in a future version. Also the SoundHost config parameter is \
replaced by RplaySoundHost; the old name is still accepted, but will be removed \
in a future version.
Added MWMIgnore {} config option to allow selectively disabling honoring of \
some Motif WM hints.
Warping to a window now explicitly sets focus on that window. This would \
generally (but not always, in the presence of odd X server behavior) have \
already happened for users with focus following mouse, but now occurs for \
ClickToFocus users as well. [Alexander Klein]
Several bugs relating to the Occupy window were fixed. Iconifying the Occupy \
window no longer loses it and leaves you unable to pull it up again. Minor \
undersizing in some cases fixed.
Windows which fail to use the WM_HINTS property to tell us things like \
whether they want us to give them focus are now explicitly given focus anyway. \
This should fix focus problems with some apps (Chromium is a common example).
Added ForceFocus {} config option to forcibly give focus to all (or \
specified) windows, whether they request it or not. Previously the code did this \
unconditionally (except when no WM_HINTS were provided; x-ref previous), but \
this causes problems with at least some programs that tell us they don't want \
focus, and mean it (some Java GUI apps are common examples).
OpaqueMoveThreshold values >= 200 (the default) are now treated as \
infinite, and so will always cause opaque moving.
Internals
A new code style has been chosen and the entire codebase reformatted into \
it. Configs for Artistic Style to generate the proper output are in the source \
tree.
The full_name element of the TwmWindow structure has been removed. Consumers \
should just use the name element instead
|