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 ctwm-4.1.0
details: https://anonhg.NetBSD.org/xsrc/rev/e0357383ea8c
branches: trunk
changeset: 7575:e0357383ea8c
user: nia <nia%NetBSD.org@localhost>
date: Wed Jul 05 07:36:06 2023 +0000
description:
ctwm-4.1.0
diffstat:
external/mit/ctwm/dist/.bzrignore | 1 +
external/mit/ctwm/dist/CHANGES.md | 100 +-
external/mit/ctwm/dist/COPYRIGHT | 2 +-
external/mit/ctwm/dist/Makefile | 10 +-
external/mit/ctwm/dist/README.md | 15 +-
external/mit/ctwm/dist/VERSION | 2 +-
external/mit/ctwm/dist/animate.c | 5 +
external/mit/ctwm/dist/captive.h | 5 +
external/mit/ctwm/dist/clargs.c | 31 +-
external/mit/ctwm/dist/cmake_files/basic_vars.cmake | 12 +-
external/mit/ctwm/dist/cmake_files/build_options.cmake | 75 +
external/mit/ctwm/dist/cmake_files/check_funcs_etc.cmake | 4 +
external/mit/ctwm/dist/cmake_files/compiler_feature_checks.cmake | 151 +-
external/mit/ctwm/dist/cmake_files/do_install.cmake | 8 +-
external/mit/ctwm/dist/cmake_files/gen_source_files.cmake | 2 +-
external/mit/ctwm/dist/cmake_files/handle_manual.cmake | 6 +-
external/mit/ctwm/dist/cmake_files/setup_yacc.cmake | 18 +-
external/mit/ctwm/dist/cmake_files/vcs_checks.cmake | 6 +-
external/mit/ctwm/dist/colormaps.c | 114 +-
external/mit/ctwm/dist/ctopts.c | 3 +
external/mit/ctwm/dist/ctwm_config.h.in | 30 +
external/mit/ctwm/dist/ctwm_main.c | 789 +-
external/mit/ctwm/dist/ctwm_shutdown.c | 277 +
external/mit/ctwm/dist/ctwm_shutdown.h | 12 +
external/mit/ctwm/dist/ctwm_takeover.c | 146 +
external/mit/ctwm/dist/ctwm_takeover.h | 9 +
external/mit/ctwm/dist/ctwm_test.h | 22 +
external/mit/ctwm/dist/doc/devman/index.adoc | 3 +
external/mit/ctwm/dist/doc/devman/mkmk.sh | 1 +
external/mit/ctwm/dist/doc/devman/rlayout.adoc | 182 +
external/mit/ctwm/dist/doc/devman/static/monitors.svg | 181 +
external/mit/ctwm/dist/doc/manual/ctwm.1.adoc | 244 +-
external/mit/ctwm/dist/event_core.c | 21 +-
external/mit/ctwm/dist/event_handlers.c | 107 +-
external/mit/ctwm/dist/ewmh.c | 105 +-
external/mit/ctwm/dist/ewmh.h | 3 +
external/mit/ctwm/dist/ewmh_atoms.in | 2 +
external/mit/ctwm/dist/functions.c | 9 +-
external/mit/ctwm/dist/functions_defs.list | 14 +-
external/mit/ctwm/dist/functions_identify.c | 44 +-
external/mit/ctwm/dist/functions_internal.h | 13 +-
external/mit/ctwm/dist/functions_misc.c | 9 +-
external/mit/ctwm/dist/functions_warp.c | 60 +-
external/mit/ctwm/dist/functions_win.c | 21 +-
external/mit/ctwm/dist/functions_win_moveresize.c | 76 +-
external/mit/ctwm/dist/gen/ctwm.1 | 412 +-
external/mit/ctwm/dist/gen/gram.tab.c | 5256 +++++----
external/mit/ctwm/dist/gen/gram.tab.h | 261 +-
external/mit/ctwm/dist/gen/lex.c | 12 +-
external/mit/ctwm/dist/gen/version.c.in | 2 +-
external/mit/ctwm/dist/image.c | 4 +
external/mit/ctwm/dist/mask_screen.c | 28 +-
external/mit/ctwm/dist/occupation.c | 31 +-
external/mit/ctwm/dist/otp.c | 96 +-
external/mit/ctwm/dist/parse_be.c | 266 +-
external/mit/ctwm/dist/parse_be.h | 4 +
external/mit/ctwm/dist/parse_m4.c | 45 +-
external/mit/ctwm/dist/r_area.c | 415 +
external/mit/ctwm/dist/r_area.h | 28 +
external/mit/ctwm/dist/r_area_list.c | 575 +
external/mit/ctwm/dist/r_area_list.h | 50 +
external/mit/ctwm/dist/r_layout.c | 1041 +
external/mit/ctwm/dist/r_layout.h | 50 +
external/mit/ctwm/dist/r_structs.h | 57 +
external/mit/ctwm/dist/signals.c | 125 +
external/mit/ctwm/dist/signals.h | 10 +
external/mit/ctwm/dist/tests/CMakeLists.txt | 140 +-
external/mit/ctwm/dist/tests/layout/CMakeLists.txt | 20 +
external/mit/ctwm/dist/tests/layout/monitor_layout.ctwmrc | 7 +
external/mit/ctwm/dist/tests/layout/overlap.tst | 160 +
external/mit/ctwm/dist/tests/layout/test.tst | 72 +
external/mit/ctwm/dist/tests/layout/test_layout.c | 522 +
external/mit/ctwm/dist/tests/layout/test_monitor_layout.c | 112 +
external/mit/ctwm/dist/tests/menu_twmkeys/CMakeLists.txt | 2 +
external/mit/ctwm/dist/tests/menu_twmkeys/mk_twmkeys_entry.c | 80 +
external/mit/ctwm/dist/tests/test_m4/CMakeLists.txt | 3 +
external/mit/ctwm/dist/tests/test_m4/test_m4.c | 70 +
external/mit/ctwm/dist/tests/util_expand/CMakeLists.txt | 2 +-
external/mit/ctwm/dist/tests/util_expand/t_efp.c | 3 +-
external/mit/ctwm/dist/twm_window_struct.h | 2 +
external/mit/ctwm/dist/win_decorations.c | 68 +-
external/mit/ctwm/dist/win_iconify.c | 12 +-
external/mit/ctwm/dist/win_ops.c | 6 +-
external/mit/ctwm/dist/win_regions.c | 6 +-
external/mit/ctwm/dist/win_resize.c | 180 +-
external/mit/ctwm/dist/win_ring.c | 88 +
external/mit/ctwm/dist/win_ring.h | 13 +
external/mit/ctwm/dist/win_utils.c | 196 +-
external/mit/ctwm/dist/win_utils.h | 4 +
external/mit/ctwm/dist/workspace_manager.c | 103 +-
external/mit/ctwm/dist/workspace_manager.h | 2 +-
external/mit/ctwm/dist/workspace_utils.c | 4 +-
external/mit/ctwm/dist/xparsegeometry.c | 66 +
external/mit/ctwm/dist/xparsegeometry.h | 13 +
external/mit/ctwm/dist/xrandr.c | 108 +
external/mit/ctwm/dist/xrandr.h | 10 +
96 files changed, 9747 insertions(+), 4045 deletions(-)
diffs (truncated from 18424 to 300 lines):
diff -r 85f6602c4713 -r e0357383ea8c external/mit/ctwm/dist/.bzrignore
--- a/external/mit/ctwm/dist/.bzrignore Tue Jun 20 02:21:56 2023 +0000
+++ b/external/mit/ctwm/dist/.bzrignore Wed Jul 05 07:36:06 2023 +0000
@@ -10,3 +10,4 @@ doc/devman/build
doc/manual/ctwm.1
doc/manual/ctwm.1.xml
tags
+compile_commands.json
diff -r 85f6602c4713 -r e0357383ea8c external/mit/ctwm/dist/CHANGES.md
--- a/external/mit/ctwm/dist/CHANGES.md Tue Jun 20 02:21:56 2023 +0000
+++ b/external/mit/ctwm/dist/CHANGES.md Wed Jul 05 07:36:06 2023 +0000
@@ -1,6 +1,86 @@
# CTWM Change History
+## 4.1.0 (2023-03-26)
+
+### Backward-Incompatible Changes And Removed Features
+
+1. Support for `VirtualScreens` has been removed. This was an early
+ attempt to allow some manual configuration of multiple monitors, but
+ carried with it a lot of caveats and strange behaviors. The current
+ automatic RANDR and manual `MonitorLayout` features are a replacement
+ for anywhere this ever really worked.
+
+1. `ctwm`'s captive mode support has been removed. This includes the
+ `--window` and `--name` command line arguments, and the
+ `f.adoptwindow` and `f.hypermove` functions. Be sure to remove any
+ references to those functions from your config file.
+
+1. Support for `WindowBox` has been removed, along with the
+ `f.fittocontent` function related to it.
+
+1. The minimum cmake version has been bumped to 3.6. This is available
+ in standard packages back to CentOS 6, and we appear to have actually
+ been using syntax requiring 3.5 for a while unknowingly anyway.
+
+### New Features
+
+1. Support for understanding multi-monitor layouts as something other
+ than a single giant rectangle added. The RANDR X extension is used
+ for determining how your monitors are laid out. The various
+ `f.\*zoom` functions now zoom on the monitor the window is currently
+ on, and new `f.x\*zoom` functions are added to zoom across your entire
+ display. Various internal geometries can be specified
+ RANDR-output-relative; see doc of _e.g._ `IconManagers`. Contributed
+ by Maxime Soulé <<btik-ctwm%scoubidou.com@localhost>>.
+
+1. Added `MonitorLayout {}` config var for overriding the layout of
+ multiple monitors. In normal cases with multiple monitors and a
+ modern X server, this is unnecessary. It's useful if the X server
+ doesn't support RANDR (_e.g._, older servers), or if the info it
+ provides is wrong (_e.g._, multi-display simulation with Xephyr), or
+ if you just prefer to specify things differently than they would
+ otherwise be (_e.g._, treat an ultra-wide display as 2 separate
+ monitors).
+
+1. The EWMH `_NET_FRAME_EXTENTS` property is now set on windows when we
+ take control of them. This should fix clients mispositioning other
+ windows on top of themselves; visible with Firefox's form autofilling
+ and context menus. Contributed by Maxime Soulé
+ <<btik-ctwm%scoubidou.com@localhost>>.
+
+### Bugfixes
+
+1. When restarting ctwm, the icon managers for the current workspace will
+ now initially show up, rather than those for first WS.
+
+1. When restarting ctwm, the stacking order of windows is now preserved.
+
+1. Running `--cfgchk` without an available X server will now work. Some
+ errors may only be discovered when it can talk to X (things relating
+ to colors are a likely suspect). Checking configs for multi-Screen
+ setups will now properly check all of them as well.
+
+1. Fix display of combined modifiers in TwmKeys menu. Contributed by
+ Maxime Soulé <<btik-ctwm%scoubidou.com@localhost>>.
+
+1. Fix window icon name spilling out into the border of icon manager
+ entries. Contributed by Carl Svensson <<ctwm%datagubbe.se@localhost>>.
+
+1. Fix minor mis-sizing and postitioning of squeezed titlebar when window
+ is squeezed away. Contributed by Maxime Soulé
+ <<btik-ctwm%scoubidou.com@localhost>>.
+
+1. Fix window placement when `DontMoveOff` is enabled without 3D borders.
+ Contributed by Maxime Soulé <<btik-ctwm%scoubidou.com@localhost>>.
+
+1. When window titles overflow the available space, always treat them as
+ left-justified, to avoid bad behavior of other justifications and
+ provide the best available behavior. Found by Carl Svensson
+ <<ctwm%datagubbe.se@localhost>>.
+
+
+
## 4.0.3 (2019-07-21)
### Bugfixes
@@ -614,7 +694,7 @@ 1. Modified the random placement so a ne
1. Workspace context (bkctwmws.patch)
Makes it possible to bind keys specific to the workspace manager
- (by Björn Knutsson). Use the event context "workspace" for this.
+ (by Björn Knutsson). Use the event context "workspace" for this.
1. New keyword : AlwaysSqueezeToGravity
@@ -687,7 +767,7 @@ 1. New command line option: `-cfgchk`
This was contributed by Matthew D. Fuller.
-1. `DontMoveOff` patch (by Björn Knutsson)
+1. `DontMoveOff` patch (by Björn Knutsson)
Change the behavior of `DontMoveOff` / `MoveOffResistance` so that
when you attempt to move a window off screen, it will not move at all
@@ -697,17 +777,17 @@ 1. `DontMoveOff` patch (by Björn Kn
DontMoveOff, but now with the ability to move a window off screen
less that `MoveOffResistance` pixels.
-1. Random placement and DontMoveOff patch (by Björn Knutsson, changed)
+1. Random placement and DontMoveOff patch (by Björn Knutsson, changed)
When random placement was used, DontMoveOff wasn't honored.
This behavior has now changed so a window will be kept within
the screen when at all possible. When the window is too
large, it's top or left edge (or both) will be placed in
coordinate 0.
- This change differs a little bit from Björns contribution by
+ This change differs a little bit from Björns contribution by
not using rand() at all.
-1. `f.warpring` patch (by Björn Knutsson)
+1. `f.warpring` patch (by Björn Knutsson)
If `IconManagerFocus` is set, there's no reason why the icon
manager should get enter and leave events. This fixes some
@@ -716,13 +796,13 @@ 1. `f.warpring` patch (by Björn Knu
1. `f.movetoprevworkspace`,
`f.movetonextworkspace`,
`f.movetoprevworkspaceandfollow`,
- `f.movetonextworkspaceandfollow` patch (by Daniel Holmström)
+ `f.movetonextworkspaceandfollow` patch (by Daniel Holmström)
Makes it possible to move a window to the previous or next
workspace and, if you like, go to that workspace and focus
the moved window.
-1. `f.fill` "vertical" patch (by Daniel Holmström)
+1. `f.fill` "vertical" patch (by Daniel Holmström)
Expands the window vertically without overlapping any other window,
much like `{ f.fill "top" f.fill "bottom" }` but with the exception
@@ -730,13 +810,13 @@ 1. `f.fill` "vertical" patch (by Daniel
"zoomed" to `F_FULLZOOM`, so one can toggle between this size,
original and maximized.
-1. `RESIZEKEEPSFOCUS` bugfix patch (by Daniel Holmström)
+1. `RESIZEKEEPSFOCUS` bugfix patch (by Daniel Holmström)
If a window is maximized with `togglemaximize` and then restored it
might loose focus if the cursor is outside the restored window. This
hack puts the cursor at the left-top corner of the window.
-1. `f.zoom` bugfix patch (by Daniel Holmström)
+1. `f.zoom` bugfix patch (by Daniel Holmström)
`f.zoom` now doesn't move the window up (as it sometimes did before)
@@ -998,7 +1078,7 @@ 1. `f.moveresize`: Takes one string argu
window to the specified geometry. The width and height are to be given
in pixel, no base size or resize increment are used.
-1. AutoLower et `f.autolower`: from Kai Großjohann
+1. AutoLower et `f.autolower`: from Kai Großjohann
(Kai.Grossjohann%CS.Uni-Dortmund.DE@localhost). Same as autoraise but with lower.
1. `WindowRingExclude`: Takes a window list as argument. All listed windows
diff -r 85f6602c4713 -r e0357383ea8c external/mit/ctwm/dist/COPYRIGHT
--- a/external/mit/ctwm/dist/COPYRIGHT Tue Jun 20 02:21:56 2023 +0000
+++ b/external/mit/ctwm/dist/COPYRIGHT Wed Jul 05 07:36:06 2023 +0000
@@ -7,7 +7,7 @@ separate license (e.g., files in ext/).
/*
* [ ctwm ]
*
- * Copyright 1992-2018 Claude Lecommandeur and ctwm contributors
+ * Copyright 1992-2023 Claude Lecommandeur and ctwm contributors
*
* Permission to use, copy, modify and distribute this software and its
* documentation for any purpose is hereby granted without fee, provided
diff -r 85f6602c4713 -r e0357383ea8c external/mit/ctwm/dist/Makefile
--- a/external/mit/ctwm/dist/Makefile Tue Jun 20 02:21:56 2023 +0000
+++ b/external/mit/ctwm/dist/Makefile Wed Jul 05 07:36:06 2023 +0000
@@ -2,9 +2,10 @@
all build ctwm man man-html man-all install clean: build/Makefile
( cd build && ${MAKE} ${@} )
+CMAKE?=cmake
build/Makefile cmake: CMakeLists.txt
( mkdir -p build && cd build && \
- cmake -DCMAKE_C_FLAGS:STRING="${CFLAGS}" ${CMAKE_EXTRAS} .. )
+ ${CMAKE} -DCMAKE_C_FLAGS:STRING="${CFLAGS}" ${CMAKE_EXTRAS} .. )
allclean distclean:
rm -rf build/*
@@ -22,13 +23,13 @@ man-pdf doxygen doxyclean tags: build/Ma
# Make sure everything's build before running tests
.PHONY: test
-test:
+test: build/Makefile
( cd build && ${MAKE} test_bins )
( cd build && ${MAKE} CTEST_OUTPUT_ON_FAILURE=1 ${@} )
# Reindent files
indent:
- astyle -n --options=tools/ctwm.astyle *.h *.c
+ astyle -n --options=tools/ctwm.astyle *.[ch] tests/*/*.[ch]
# Build documentation files
@@ -83,7 +84,8 @@ build/MKTAR_GENFILES: build/Makefile
# Setup version file
${GEN}/version.c.in: ${GEN} version.c.in .bzr/checkout/dirstate
- tools/rewrite_version_bzr.sh < version.c.in > ${GEN}/version.c.in
+ env BZR_CMD=brz tools/rewrite_version_bzr.sh < version.c.in \
+ > ${GEN}/version.c.in
# Generate pregen'd manuals
${GEN}/ctwm.1: ${UMAN}/ctwm.1
diff -r 85f6602c4713 -r e0357383ea8c external/mit/ctwm/dist/README.md
--- a/external/mit/ctwm/dist/README.md Tue Jun 20 02:21:56 2023 +0000
+++ b/external/mit/ctwm/dist/README.md Wed Jul 05 07:36:06 2023 +0000
@@ -117,6 +117,11 @@ USE_RPLAY
valid but deprecated alias for this, and will give a warning.
(**OFF** by default)
+USE_XRANDR
+: Enables the use of multi-monitors of different sizes via
+ libXrandr. Disable if libXrandr isn't present or is older than 1.5.
+ (**ON** by default)
+
Additional vars you might need to set:
@@ -148,10 +153,10 @@ directly:
ctwm requires various X11 libraries to be present. That list will
generally include libX11, libXext, libXmu, libXt, libSM, and libICE.
Depending on your configuration, you may require extra libs as discussed
-above (libXpm and libjpeg are included in the default config). If you're
-on a system that separates header files etc. from the shared lib itself
-(many Linux dists do), you'll probably need -devel or similarly named
-packages installed for each of them as well.
+above (libXpm, libjpeg, and libXrandr are included in the default
+config). If you're on a system that separates header files etc. from the
+shared lib itself (many Linux dists do), you'll probably need -devel or
+similarly named packages installed for each of them as well.
@@ -179,7 +184,7 @@ sending a mail with the subject "subscri
### Repository
-ctwm development uses bazaar (see <http://bazaar.canonical.com/>) for
+ctwm development uses breezy (see <https://www.breezy-vcs.org/>) for
version control. The code is available on launchpad as `lp:ctwm`. See
<https://launchpad.net/ctwm> for more details.
diff -r 85f6602c4713 -r e0357383ea8c external/mit/ctwm/dist/VERSION
--- a/external/mit/ctwm/dist/VERSION Tue Jun 20 02:21:56 2023 +0000
+++ b/external/mit/ctwm/dist/VERSION Wed Jul 05 07:36:06 2023 +0000
@@ -1,1 +1,1 @@
-4.0.3
+4.1.0
diff -r 85f6602c4713 -r e0357383ea8c external/mit/ctwm/dist/animate.c
--- a/external/mit/ctwm/dist/animate.c Tue Jun 20 02:21:56 2023 +0000
+++ b/external/mit/ctwm/dist/animate.c Wed Jul 05 07:36:06 2023 +0000
@@ -6,6 +6,7 @@
#include "ctwm.h"
#include <sys/time.h>
+#include <assert.h>
#include <stdio.h>
#include <string.h>
@@ -222,6 +223,10 @@ Animate(void)
}
MaybeAnimate |= AnimateRoot();
if(MaybeAnimate) {
+ // Impossible: scr==NULL means we had no valid screens, which
+ // means we'd'a bomed out WAY earlier than trying to animate
+ // something...
+ assert(scr != NULL);
Animating++;
send_clientmessage(scr->currentvs->wsw->w, XA_WM_END_OF_ANIMATION,
EventTime);
diff -r 85f6602c4713 -r e0357383ea8c external/mit/ctwm/dist/captive.h
--- a/external/mit/ctwm/dist/captive.h Tue Jun 20 02:21:56 2023 +0000
Home |
Main Index |
Thread Index |
Old Index