Subject: CVS commit: pkgsrc/wm/ctwm
From: Maya Rashish
Date: 2018-07-14 17:03:43
Message id: 20180714150343.24E8CFBEC@cvs.NetBSD.org

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

Files:
RevisionActionfile
1.35modifypkgsrc/wm/ctwm/Makefile
1.7modifypkgsrc/wm/ctwm/PLIST
1.19modifypkgsrc/wm/ctwm/distinfo