Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[xsrc/trunk]: xsrc/external/mit/ctwm/dist Merge ctwm-4-0-3
details: https://anonhg.NetBSD.org/xsrc/rev/3dd2bb5684a0
branches: trunk
changeset: 10665:3dd2bb5684a0
user: nia <nia%NetBSD.org@localhost>
date: Sun Apr 11 10:11:57 2021 +0000
description:
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.
diffstat:
external/mit/ctwm/dist/CHANGES | 1753 ----
external/mit/ctwm/dist/Imakefile | 236 -
external/mit/ctwm/dist/Imakefile.local-template | 119 -
external/mit/ctwm/dist/PROBLEMS | 39 -
external/mit/ctwm/dist/README | 112 -
external/mit/ctwm/dist/README.VMS | 132 -
external/mit/ctwm/dist/README.gnome | 26 -
external/mit/ctwm/dist/TODO | 14 -
external/mit/ctwm/dist/TODO.gnome | 15 -
external/mit/ctwm/dist/add_window.c | 4168 ++++------
external/mit/ctwm/dist/ctwm.1 | 3979 ++++++++++
external/mit/ctwm/dist/ctwm.axp_opt | 25 -
external/mit/ctwm/dist/ctwm.c | 1473 ---
external/mit/ctwm/dist/ctwm.com | 41 -
external/mit/ctwm/dist/ctwm.man | 2548 ------
external/mit/ctwm/dist/ctwm.spec | 82 -
external/mit/ctwm/dist/ctwm.txt | 2768 -------
external/mit/ctwm/dist/ctwm.vax_opt | 26 -
external/mit/ctwm/dist/ctwm_atoms.c | 36 +
external/mit/ctwm/dist/ctwm_atoms.h | 39 +
external/mit/ctwm/dist/ctwm_config.h | 45 +
external/mit/ctwm/dist/demolib.c | 127 -
external/mit/ctwm/dist/descrip.local-template | 143 -
external/mit/ctwm/dist/descrip.mms | 438 -
external/mit/ctwm/dist/descrip.submms | 221 -
external/mit/ctwm/dist/event_names_table.h | 41 +
external/mit/ctwm/dist/events.c | 4408 -----------
external/mit/ctwm/dist/ewmh_atoms.c | 42 +
external/mit/ctwm/dist/ewmh_atoms.h | 45 +
external/mit/ctwm/dist/example.ctwmrc | 186 -
external/mit/ctwm/dist/functions_deferral.h | 87 +
external/mit/ctwm/dist/functions_defs.h | 146 +
external/mit/ctwm/dist/functions_dispatch_execution.h | 145 +
external/mit/ctwm/dist/functions_parse_table.h | 149 +
external/mit/ctwm/dist/gendeftwmrc.com | 36 -
external/mit/ctwm/dist/gnome.c | 151 -
external/mit/ctwm/dist/gnome.h | 16 -
external/mit/ctwm/dist/gnomewindefs.h | 40 -
external/mit/ctwm/dist/gram.c_VMS | 4918 ------------
external/mit/ctwm/dist/gram.h_VMS | 188 -
external/mit/ctwm/dist/gram.tab.h | 307 +-
external/mit/ctwm/dist/gtw.c | 96 -
external/mit/ctwm/dist/levitte.ctwmrc | 348 -
external/mit/ctwm/dist/lex.c_VMS | 1382 ---
external/mit/ctwm/dist/libctwm.c | 239 -
external/mit/ctwm/dist/link.com | 1 -
external/mit/ctwm/dist/lnm.c | 126 -
external/mit/ctwm/dist/lnm.h | 40 -
external/mit/ctwm/dist/make.com | 483 -
external/mit/ctwm/dist/menus.c | 6571 +++-------------
external/mit/ctwm/dist/mk_tar.sh | 45 -
external/mit/ctwm/dist/parse.c | 2583 +-----
external/mit/ctwm/dist/peterc.ctwmrc | 378 -
external/mit/ctwm/dist/resize.c | 1526 ---
external/mit/ctwm/dist/resize.h | 92 -
external/mit/ctwm/dist/session.c | 1642 ++--
external/mit/ctwm/dist/siconify.bm | 8 -
external/mit/ctwm/dist/sound.doc | 104 -
external/mit/ctwm/dist/system.ctwmrc | 181 -
external/mit/ctwm/dist/system.ctwmrc.gnome | 24 -
external/mit/ctwm/dist/twm.h | 564 -
external/mit/ctwm/dist/util.c | 4348 +----------
external/mit/ctwm/dist/version.c | 112 +-
external/mit/ctwm/dist/vms.txt | 84 -
external/mit/ctwm/dist/vms2.txt | 75 -
external/mit/ctwm/dist/vms_cmd_services.c | 541 -
external/mit/ctwm/dist/vms_cmd_services.h | 21 -
external/mit/ctwm/dist/vscreen.c | 509 +-
external/mit/ctwm/dist/workmgr.c | 3641 ---------
external/mit/ctwm/dist/workmgr.h | 229 -
70 files changed, 10082 insertions(+), 45421 deletions(-)
diffs (truncated from 56980 to 300 lines):
diff -r 5d9a91d2b854 -r 3dd2bb5684a0 external/mit/ctwm/dist/CHANGES
--- a/external/mit/ctwm/dist/CHANGES Sun Apr 11 08:36:51 2021 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1753 +0,0 @@
-
-
- Changes from version 1.0 to 1.1
- -------------------------------
-
-
- 1 - Correction of a few bugs
-
- 2 - Add the OpaqueResize flag : similar to OpaqueMove, but redraw the window
- you are resizing at each motion event. Extremely resource consuming, but
- beautiful with fast server/client/network.
-
- 3 - Now if you don't specify any background/foreground/pixmap indication for
- the root window, ctwm leave it alone so you can have your own root
- background pixmap.
-
- 4 - You can now specify on the command line a list of workspaces in which a
- new client opens. The syntaxe is :
-
- whatever_client -xrm 'ctwm.workspace: name1 name2 ... namen'
- or whatever_client -xrm 'ctwm.workspace: all'
-
- where 'name1', 'name2', ..., 'namen' are names of workspaces and 'all' refers
-to all workspaces.
-
- example :
-
- xload -xrm 'ctwm.workspace : all'
-
- 5 - Add the OccupyAll command in .ctwmrc, you can now specify at startup a
- list of windows that occupy all the workspaces.
-
- example :
-
-OccupyAll {
- "xload"
- "xconsole"
- "xbiff"
-}
-
- 6 - Add the f.gotoworkspace function. It goes the workspace specified by its
- name.
-
- example :
-
-"F1" = : root : f.gotoworkspace "cognac"
-
-
- Changes from version 1.1 to 1.2
- -------------------------------
-
-
- 1 - you can now directly edit workspace names in their buttons. only
- printable characters, delete and backspace keys are honored.
-
- 2 - Ctwm now handle shaped colored icons in XPM format. This added the
- variable XPMIconDirectory, and slightly modified the syntax of the Icons
- command. The XPM icon file names should be prefixed by the character '@'
- to distinguished them from the ordinary bitmap files.
-
-Example :
-
-XPMIconDirectory "/usr/lib/X11/X11/XPM"
-
-Icons {
- "Axe" "@xedit.xpm"
- "xterm" "@xterm.xpm"
- "xrn" "@xrn.xpm"
- "HPterm" "@hpterm.xpm"
- "XAlarm" "@datebook.xpm"
- "Xman" "@xman.xpm"
-}
-
- These above xpm pixmap are given.
-
-
- 3 - Many bugs fixed :
-
- - Icon regions now works.
- - the absence of ShowIconManager is taken into account.
- - The -iconic flag is honored.
- - The -xrm 'ctwm.workspace' works as expected.
- - I think that f.warpto[to|ring] works correctly i.e warps.
- also to the correct workspace if the destination window
- doesn't occupy the current workspace.
- - A few minor bugs fixed.
-
-
- Changes from version 1.2 to 1.3
- -------------------------------
-
-
- 1 - Many bugs fixed :
-
- - Partial geometry in the WorkSpaceManagerGeometry statement no longer
- cause ctwm to core dump.
-
- - The occupy window name now is "Occupy Window" instead of "Occupy WIndow"
- a typo on the uppercase I in window.
-
- - Several types problems that make good compilers to issue warnings.
-
- - The icons of the WorkSpaceManager and Occupy Window windows now behave
- correctly with ButtonPress.
-
- - UnknownIcon can now have Xpm icons specified.
-
- - f.showiconmgr no longer map empty icon managers.
-
- - The ctwm process is smaller (even smaller than twm).
-
-
- 2 - Add the Occupy command in .ctwmrc, you can now specify at startup
- which window occupy which workspace.
-
- example :
-
-Occupy {
- "xload" {"all"}
- Window "xterm" {"here" "there" "elsewhere"}
- "xv" {"images"}
- WorkSpace "images" {"xloadimage"}
-}
-
-
- Changes from version 1.3 to 2.0
- -------------------------------
-
- 1 - A few bugs fixed :
-
- - Resize at window creation with button2 works.
-
- - Some others i don't remember.
-
- 2 - Better support of monochrome displays : video inverse instead of 3d
- buttons.
-
- 3 - WorkSpaceManager and Occupy Window are now resizable. Don't forget to
- verify you have a powerful server before resizing the workspace manager
- with OpaqueResize set.
-
- 4 - X11R4 support with Imakefile.X11R4 (i didn't try so tell me).
-
- 5 - The visibility of the workspace manager is now consistant with the
- visibility of the icon managers. This mean that by default the workspace
- manager is *NOT* visible at startup. Use the ShowWorkSpaceManager to
- make it visible at startup.
-
- 6 - Two new functions : f.showworkspacemgr and f.hideworkspacemgr have been
- added. They do what you imagine.
-
- 7 - And now, the cherry on the cake. The workspace manager has now 2 states,
- the button state (the usual one) and the map state (the new one). In the
- map state the buttons are replaced by windows displaying a synthetic
- view of the corresponding workspaces. All the non-iconified windows of
- the workspace are shown as small windows with the icon name written in
- it. It looks like the virtual screen of [t]vtwm, but, of course, much
- nicer.
-
- In this state, you can modify directly the occupation of your windows by
- manipulating these little windows.
-
- - Button1 move a window from a workspace to another.
- - Button2 copy a window from a workspace to another.
- - Button3 remove a window from a workspace.
-
- Clicking in the "root" of these windows warps you to the corresponding
- workspace. Clicking and releasing Button1 or Button2 quickly in a small
- window go to the corresponding workspace and warps the pointer to the
- corresponding window.
-
- The Control-Key (Press and Release) in workspace manager toggles the
- buttons and map state.
-
- Four variables and Three functions manipulates this :
-
- - StartInMapState : The map state is selected at startup, default is
- buttons state.
-
- - MapWindowCurrentWorkSpace : The aspect of the current workspace in
- the map window.
-
- - MapWindowDefaultWorkSpace : Specify the aspect of the non-current
- workspaces in the map window.
-
- - MapWindowBackground :
- - MapWindowForeground : Specify the aspect of the small windows in
- the map window on a per-client basis.
-
- - f.setbuttonsstate : You can guess.
-
- - f.setmapstate : You can guess.
-
- - f.togglestate : You can guess.
-
-
- 8 - AutoRaise with RaiseDelay. Thanks to Johan Vromans (jv%mh.nl@localhost) who gave me
- this patch. I think Warren Jessop (whj%cs.washington.edu@localhost) wrote it for
- twm.
-
-
- Changes from version 2.0 to 2.1
- -------------------------------
-
- 1 - Cleanup code to make gcc happy.
-
- 2 - Bugs fixed
-
- - IconMaskHint honored.
- - Workaround a bug on HP7xx/8.07 servers for RaiseLower in Map window.
- The stacking order in the MapWindow was not correct on those servers.
- use :
-
- EXTRA_DEFINES = -DBUGGY_HP700_SERVER
-
- in your Imakefile if you plan to use this server. It doesn't break on
- others servers.
-
- - No longer core dump if MapWindowCurrentWorkSpace or MapWindowDefault-
- WorkSpace are specified before WorkSpaces in .ctwmrc
-
- - Small windows handling in the WorkspaceMap window works even if the
- Workspace Manager window has a title (that was not the case with
- ctwm-2.0).
-
- - ForceIcon works for Xpm icons.
-
- - Occupation of "transient for" window is correct.
-
- - RestartPreviousState necessary to keep previous window occupation on
- restart.
-
- - If a window dies while Occupy Window is mapped, the Occupy Window is
- correctly unmapped.
-
- 3 - Ctwm now maintains the WM_CURRENTWORKSPACE property on the root window
- and WM_OCCUPATION on every windows. They mean what you think. These
- properties are string properties and are in clear text instead of an
- obscure mask. If an external application changes these properties ctwm
- respond with the correct actions, changing the current workspace or the
- occupation of a window. I give a small example (gtw.c). An application
- can manage its occupation and it is even possible to write an external
- workspace manager. It is of course not ICCCM compliant because ICCCM says
- nothing on multiple workspaces. The special names "all" and "current" can
- be used. And you can specify relative occupations if the workspace names
- list begin with a '+' or '-' (ex: +current adds a window to the current
- workspace).
-
- 4 - 3 new functions :
-
- - f.pin : Pin/Unpin a menu on the screen. Only usable inside a root menu.
-
- - f.vanish : Remove a window from the current workspace. Works only if
- the window occupies at least one other workspace.
-
- - f.warphere "win-name" : Adds the window whose name matches win-name to
- the current workspace and warps the pointer to it.
-
- 5 - And a new keyword : NoShowOccupyAll : tells ctwm not to show OccupyAll
- windows in the WorkSpaceMap window.
-
- 6 - All window names can now be specified as (shell-like) regular expressions.
-
-
-
-
- Changes from version 2.1 to 2.2
- -------------------------------
-
-
- 1 - Bugs :
-
- - Redraw small windows when icon name changes.
- - Kill window from the title bar menu
- - Partial geometry on Workspace manager can core dump.
- - AutoRaise and tiny windows in the Workspace Map.
-
- 2 - Transient windows and non group leader windows are now always on the top
- of their leader.
-
- 3 - When an icon name changes, the icon itself changes automatically according
- the Icons list in your .ctwmrc. This is very useful for clients that have
- several states. For example xrn or some X mail readers can have two
- differents icons for new mail (news) / no new mail (news).
-
- 4 - A new keyword : TransientHasOccupation has been added for people annoyed
- by the fact that since ctwm-2.1, transient-for non group-leader windows
- have the same occupation that their leader. If you specify this, these
- windows have their own occupation.
-
- 5 - A new keyword : AutoOccupy. If specified, the occupation of a client is
- changed automatically when it's name or icon name changes, according to
- the Occupy list in your .ctwmrc. For example a mail reader can popup
- instantly in the current workspace when mail arrives.
-
- 6 - A new keyword : DontPaintRootWindow. If specified, the root window is
Home |
Main Index |
Thread Index |
Old Index