Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: xsrc/external/mit/ctwm/dist
Module Name: xsrc
Committed By: nia
Date: Sun Apr 11 10:11:58 UTC 2021
Modified Files:
xsrc/external/mit/ctwm/dist: add_window.c add_window.h clicktofocus.c
clicktofocus.h ctwm.h cursor.c cursor.h events.h gc.c gc.h
gram.tab.h gram.y iconmgr.c iconmgr.h icons.c icons.h lex.l list.c
list.h menus.c menus.h mwmhints.c mwmhints.h parse.c parse.h
screen.h session.c session.h sound.c sound.h types.h util.c util.h
version.c version.h vscreen.c vscreen.h windowbox.c windowbox.h
Added Files:
xsrc/external/mit/ctwm/dist: ctwm.1 ctwm_atoms.c ctwm_atoms.h
ctwm_config.h event_names_table.h ewmh_atoms.c ewmh_atoms.h
functions_deferral.h functions_defs.h
functions_dispatch_execution.h functions_parse_table.h
Removed Files:
xsrc/external/mit/ctwm/dist: CHANGES Imakefile Imakefile.local-template
PROBLEMS README README.VMS README.gnome TODO TODO.gnome
ctwm.axp_opt ctwm.c ctwm.com ctwm.man ctwm.spec ctwm.txt
ctwm.vax_opt demolib.c descrip.local-template descrip.mms
descrip.submms events.c example.ctwmrc gendeftwmrc.com gnome.c
gnome.h gnomewindefs.h gram.c_VMS gram.h_VMS gtw.c levitte.ctwmrc
lex.c_VMS libctwm.c link.com lnm.c lnm.h make.com mk_tar.sh
peterc.ctwmrc resize.c resize.h siconify.bm sound.doc system.ctwmrc
system.ctwmrc.gnome twm.h vms.txt vms2.txt vms_cmd_services.c
vms_cmd_services.h workmgr.c workmgr.h
Log Message:
Merge ctwm-4-0-3
# CTWM Change History
## 4.0.3 (2019-07-21)
### Bugfixes
1. Perform various manipulations and overrides of `WM_HINTS` property
when it gets reset during runtime, like we do when initially adopting
the window. The most visible effect of this was in windows that don't
give a focus hint (which we override to give focus), but then reset
`WM_HINTS` later and still don't give us a hint, where we wound up not
re-overriding previously. Reported for `xvile` by Wayne Cuddy.
1. The font height estimation changes in 4.0.0 were not applied correctly
when UseThreeDMenus was set, leading to some odd vertical misalignment
of the text with some fonts. Reported by Wayne Cuddy.
1. A failure in OTP consistency checks caused by the handling of
transients of fullscreen windows has been fixed. This manifested as
failures in OtpCheckConsistencyVS() assertions.
## 4.0.2 (2018-08-25)
### Backward-Incompatible Changes And Removed Features
1. The `UseThreeDIconBorders` config var has been removed. It came in
silently and undocumented in 3.4 and has never done anything.
1. The attempts to use DNS lookups for setting the `HOSTNAME` `m4` variable
have been removed; it is now just a duplicate of `CLIENTHOST`.
### New Features
1. The EWMH `_NET_WM_NAME` property is now supported, and used for the
window name in place of the ICCCM `WM_NAME` when set. By default, we
also accept `UTF8_STRING` encoded `WM_NAME` as a result of this
change; see below for var to restore historical strictness.
1. The EWMH `_NET_WM_ICON_NAME` property is now supported, and used for
the icon name in place of the ICCCM `WM_ICON_NAME` when set. Similar
comments as above apply to the encodings.
1. Support has been added for `CTWM_WM_NAME` and `CTWM_WM_ICON_NAME`
properties, which will override any window/icon names otherwise
specified. This may be useful for applications that set unhelpful
names themselves, or for manually adjusting labelling. These
properties can be set from the command line via `xprop`; as an
example, `xprop -f CTWM_WM_NAME 8u -set CTWM_WM_NAME "awesome
windowsauce"`. See `xprop(1)` manual for details; the `s`, `t`, and
`u` field type specifiers will all work.
1. When no icon name is set for a window, we've always used the window
name for the icon name as well. But that only happened the first time
the window name is set; after that, the icon name is stuck at the
first name. It now updates along with the window name, if no icon
name is set.
1. All icon manager windows will now have the `TwmIconManager` class set
on them, so they can be addressed en mass by other config like
`NoTitle` by that class name.
### New Config Options
1. Added `DontNameDecorations` config option to disable setting names on
the X windows we create for window decoration (added in 4.0.0). These
have been reported to confuse `xwit`, and might do the same for other
tools that don't expect to find them on non-end-app windows. Reported
by Frank Steiner.
1. Added `StrictWinNameEncoding` config option to enable historical
behavior, where we're reject invalid property encoding for window
naming properties (like a `UTF8_STRING` encoded `WM_NAME`).
### Bugfixes
1. Fix up broken parsing of `IconifyStyle "sweep"`. Bug was introduced
in 4.0.0.
1. When multiple X Screens are used, building the temporary file for m4
definitions could fail with an error from `mkstemp()`. Reported by
Manfred Knick.
1. When multiple X Screens are used, the OTP code didn't recognize the
difference, and kept everything in one list. This caused the internal
consistency checks to trip when it didn't find all the windows it
expected. Reported by Terran Melconian.
1. When `ReverseCurrentWorkspace` is set, mapping windows not on the
current workspace (e.g., via restarting ctwm, or creating new windows
with the desktop set via EWMH properties) could segfault. Reported by
Sean McAllister.
1. Fix some edge cases where we'd fight other apps' focus handling. When
an application moved focus itself to an unrelated (in X terms) window,
our processing would often race and re-move the focus to the root
ourselves. This was visible with e.g. sub-windows in Firefox for
context menu and urlbar dropdown, which would flash on and then
disappear.
1. When creating a new transient window of an existing full-screen
window, the OTP stacking may cause it to be stuck below the main
window due to the special handling of full-screen focused windows in
EWMH. It should now be forced to the top.
1. Building ctwm since 4.0.0 in certain locales could misorder functions
in the lookup table, leading to troubles parsing the config file.
You'd get some loud "INTERNAL ERROR" lines from ctwm when running it
if this were the case. Now fixed. Reported by Richard Levitte.
## 4.0.1 (2017-06-05)
### User Visible Changes
1. 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`.
1. Fix an edge case (probably only triggerable via manual work with EWMH
messages) where a window could wind up resized down to nothing.
### Internals
1. 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).
1. 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](https://cmake.org/) 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
1. 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.
1. 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.
1. 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.
1. The USE_GNOME option and code for GNOME1 support has been removed.
1. 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.
1. 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.
1. 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.
1. The `f.movemenu` function has been removed. It was added silently in
2.1, has never done anything, and has never been documented.
1. The `NoVersion` config parameter has been removed. It's been
undocumented, obsoleted, and done absolutely nothing since 1.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!)
1. 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.
1. 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.
1. 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
1. The default install locations have been changed. See the README for
details about where things are installed and how to change them.
1. 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.
1. 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`)
1. Added `DontShowWelcomeWindow` config option to not show welcome
splashscreen image.
1. 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.
1. 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.
1. 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]
1. Icon manager windows are no longer included in the window ring
(that had confusing effects on the focus sequence).
1. Added `--dumpcfg` command-line option to print out the compiled-in
fallback config file.
1. 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.
1. 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.
1. Added `MWMIgnore {}` config option to allow selectively disabling
honoring of some Motif WM hints.
1. 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]
1. 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.
1. 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).
1. 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).
1. `OpaqueMoveThreshold` values >= 200 (the default) are now treated as
infinite, and so will always cause opaque moving.
### Internals
1. A new code style has been chosen and the entire codebase reformatted
into it. Configs for
[Artistic Style](http://astyle.sourceforge.net/)
to generate the proper output are in the source tree.
1. The `full_name` element of the TwmWindow structure has been removed.
Consumers should just use the `name` element instead.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r0 xsrc/external/mit/ctwm/dist/CHANGES \
xsrc/external/mit/ctwm/dist/Imakefile \
xsrc/external/mit/ctwm/dist/Imakefile.local-template \
xsrc/external/mit/ctwm/dist/PROBLEMS \
xsrc/external/mit/ctwm/dist/README.VMS \
xsrc/external/mit/ctwm/dist/README.gnome xsrc/external/mit/ctwm/dist/TODO \
xsrc/external/mit/ctwm/dist/TODO.gnome \
xsrc/external/mit/ctwm/dist/ctwm.axp_opt \
xsrc/external/mit/ctwm/dist/ctwm.c xsrc/external/mit/ctwm/dist/ctwm.com \
xsrc/external/mit/ctwm/dist/ctwm.man \
xsrc/external/mit/ctwm/dist/ctwm.spec \
xsrc/external/mit/ctwm/dist/ctwm.txt \
xsrc/external/mit/ctwm/dist/ctwm.vax_opt \
xsrc/external/mit/ctwm/dist/demolib.c \
xsrc/external/mit/ctwm/dist/descrip.local-template \
xsrc/external/mit/ctwm/dist/descrip.mms \
xsrc/external/mit/ctwm/dist/descrip.submms \
xsrc/external/mit/ctwm/dist/example.ctwmrc \
xsrc/external/mit/ctwm/dist/gendeftwmrc.com \
xsrc/external/mit/ctwm/dist/gnome.c xsrc/external/mit/ctwm/dist/gnome.h \
xsrc/external/mit/ctwm/dist/gnomewindefs.h \
xsrc/external/mit/ctwm/dist/gram.c_VMS \
xsrc/external/mit/ctwm/dist/gram.h_VMS xsrc/external/mit/ctwm/dist/gtw.c \
xsrc/external/mit/ctwm/dist/levitte.ctwmrc \
xsrc/external/mit/ctwm/dist/lex.c_VMS \
xsrc/external/mit/ctwm/dist/libctwm.c \
xsrc/external/mit/ctwm/dist/link.com xsrc/external/mit/ctwm/dist/lnm.c \
xsrc/external/mit/ctwm/dist/lnm.h xsrc/external/mit/ctwm/dist/make.com \
xsrc/external/mit/ctwm/dist/mk_tar.sh \
xsrc/external/mit/ctwm/dist/peterc.ctwmrc \
xsrc/external/mit/ctwm/dist/resize.c xsrc/external/mit/ctwm/dist/resize.h \
xsrc/external/mit/ctwm/dist/siconify.bm \
xsrc/external/mit/ctwm/dist/sound.doc \
xsrc/external/mit/ctwm/dist/system.ctwmrc.gnome \
xsrc/external/mit/ctwm/dist/twm.h xsrc/external/mit/ctwm/dist/vms.txt \
xsrc/external/mit/ctwm/dist/vms2.txt \
xsrc/external/mit/ctwm/dist/vms_cmd_services.c \
xsrc/external/mit/ctwm/dist/vms_cmd_services.h \
xsrc/external/mit/ctwm/dist/workmgr.h
cvs rdiff -u -r1.2 -r0 xsrc/external/mit/ctwm/dist/README
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/ctwm/dist/add_window.c \
xsrc/external/mit/ctwm/dist/parse.c xsrc/external/mit/ctwm/dist/vscreen.c
cvs rdiff -u -r1.1 -r1.2 xsrc/external/mit/ctwm/dist/add_window.h \
xsrc/external/mit/ctwm/dist/clicktofocus.c \
xsrc/external/mit/ctwm/dist/clicktofocus.h \
xsrc/external/mit/ctwm/dist/ctwm.h xsrc/external/mit/ctwm/dist/cursor.c \
xsrc/external/mit/ctwm/dist/cursor.h xsrc/external/mit/ctwm/dist/events.h \
xsrc/external/mit/ctwm/dist/gc.c xsrc/external/mit/ctwm/dist/gc.h \
xsrc/external/mit/ctwm/dist/gram.tab.h xsrc/external/mit/ctwm/dist/gram.y \
xsrc/external/mit/ctwm/dist/iconmgr.c \
xsrc/external/mit/ctwm/dist/iconmgr.h xsrc/external/mit/ctwm/dist/icons.c \
xsrc/external/mit/ctwm/dist/icons.h xsrc/external/mit/ctwm/dist/lex.l \
xsrc/external/mit/ctwm/dist/list.c xsrc/external/mit/ctwm/dist/list.h \
xsrc/external/mit/ctwm/dist/menus.h \
xsrc/external/mit/ctwm/dist/mwmhints.c \
xsrc/external/mit/ctwm/dist/mwmhints.h \
xsrc/external/mit/ctwm/dist/parse.h xsrc/external/mit/ctwm/dist/screen.h \
xsrc/external/mit/ctwm/dist/session.h xsrc/external/mit/ctwm/dist/sound.c \
xsrc/external/mit/ctwm/dist/sound.h xsrc/external/mit/ctwm/dist/types.h \
xsrc/external/mit/ctwm/dist/util.h xsrc/external/mit/ctwm/dist/version.c \
xsrc/external/mit/ctwm/dist/version.h \
xsrc/external/mit/ctwm/dist/vscreen.h \
xsrc/external/mit/ctwm/dist/windowbox.c \
xsrc/external/mit/ctwm/dist/windowbox.h
cvs rdiff -u -r0 -r1.1 xsrc/external/mit/ctwm/dist/ctwm.1 \
xsrc/external/mit/ctwm/dist/ctwm_atoms.c \
xsrc/external/mit/ctwm/dist/ctwm_atoms.h \
xsrc/external/mit/ctwm/dist/ctwm_config.h \
xsrc/external/mit/ctwm/dist/event_names_table.h \
xsrc/external/mit/ctwm/dist/ewmh_atoms.c \
xsrc/external/mit/ctwm/dist/ewmh_atoms.h \
xsrc/external/mit/ctwm/dist/functions_deferral.h \
xsrc/external/mit/ctwm/dist/functions_defs.h \
xsrc/external/mit/ctwm/dist/functions_dispatch_execution.h \
xsrc/external/mit/ctwm/dist/functions_parse_table.h
cvs rdiff -u -r1.3 -r0 xsrc/external/mit/ctwm/dist/events.c \
xsrc/external/mit/ctwm/dist/workmgr.c
cvs rdiff -u -r1.9 -r1.10 xsrc/external/mit/ctwm/dist/menus.c
cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/ctwm/dist/session.c \
xsrc/external/mit/ctwm/dist/util.c
cvs rdiff -u -r1.9 -r0 xsrc/external/mit/ctwm/dist/system.ctwmrc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index