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&ouml;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&ouml;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&ouml;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&ouml;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&ouml;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&ouml;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&ouml;rn Knu
 1. `f.movetoprevworkspace`,
     `f.movetonextworkspace`,
     `f.movetoprevworkspaceandfollow`,
-    `f.movetonextworkspaceandfollow` patch (by Daniel Holmstr&ouml;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&ouml;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&ouml;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&ouml;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&szlig;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