1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556
|
Description: unsorted patches up to version 3.7-3.3
I've done no archeology to split these changes up.
--- ctwm-3.7.orig/Imakefile
+++ ctwm-3.7/Imakefile
@@ -1,9 +1,8 @@
XCOMM $XConsortium: Imakefile,v 1.33 91/07/17 00:48:06 gildea Exp $
XCOMM
-XCOMM Here is an Imakefile for twm. It depends on having TWMDIR defined
-XCOMM in Imake.tmpl. I like to use Imakefiles for everything, and I am sure
-XCOMM other people do also, so perhaps you could do us all a favor and
-XCOMM distribute this one.
+XCOMM Here is an Imakefile for twm. I like to use Imakefiles for
+XCOMM everything, and I am sure other people do also, so perhaps you could
+XCOMM do us all a favor and distribute this one.
XCOMM
#include "Imakefile.local"
@@ -134,8 +133,8 @@ DEBUGPARSERDEFINES = -DYYDEBUG=1
-aux-info $@.info
#endif
-PIXMAPDIR = $(TWMDIR)/images
-CONFDIR = $(TWMDIR)
+PIXMAPDIR = $(INCDIR)/X11/pixmaps
+CTWMCONFDIR = $(CONFDIR)/ctwm
LOCAL_LIBRARIES = $(M4LIB) $(IMCONVLIB) $(XPMLIB) $(JPEGLIB) $(XMULIB) $(XTOOLLIB) $(XLIB) $(SOUNDLIB)
DEFINES = $(SIGNAL_DEFINES) $(M4DEFINES) $(GNOMEDEFINES) $(IMCONVDEFINES) $(XPMDEFINES) $(JPEGDEFINES) $(SESSIONDEFINES) $(SOUNDDEFINES) $(I18NDEFINES) $(DEBUGPARSERDEFINES) $(GNUREGEXDEFS)
@@ -181,7 +180,7 @@ LOCAL_LIBRARIES = $(M4LIB) $(IMCONVLIB)
3dcircle.xpm 3ddimple.xpm 3ddot.xpm 3dfeet.xpm 3dleopard.xpm \
3dpie.xpm 3dpyramid.xpm 3dslant.xpm
-SpecialObjectRule(parse.o,parse.c,'-DSYSTEM_INIT_FILE="$(DESTDIR)$(CONFDIR)/system.ctwmrc"' '-DPIXMAP_DIRECTORY="$(DESTDIR)$(PIXMAPDIR)"')
+SpecialObjectRule(parse.o,parse.c,'-DSYSTEM_INIT_FILE="$(DESTDIR)$(CTWMCONFDIR)/system.ctwmrc"' '-DPIXMAP_DIRECTORY="$(DESTDIR)$(PIXMAPDIR)"')
SpecialObjectRule(ctwm.o,ctwm.c,'-DPIXMAP_DIRECTORY="$(DESTDIR)$(PIXMAPDIR)"')
#if !HasPutenv
SpecialObjectRule(util.o,util.c,-DNOPUTENV)
@@ -191,7 +190,7 @@ depend:: lex.c gram.c deftwmrc.c
NormalLibraryTarget(ctwm, libctwm.o)
ComplexProgramTarget(ctwm)
-InstallNonExecFile(system.ctwmrc,$(CONFDIR))
+InstallNonExecFile(system.ctwmrc,$(CTWMCONFDIR))
#ifdef XPM
install::
MakeDir($(DESTDIR)$(PIXMAPDIR))
--- /dev/null
+++ ctwm-3.7/Imakefile.local
@@ -0,0 +1,130 @@
+XCOMM This is the local configuration file for Imakefile for ctwm.
+XCOMM
+XCOMM Some of the things you can define also come with make variables that
+XCOMM can be manipulated. All such variables have names starting with\
+XCOMM USER_.
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Use IMCONV features.
+XCOMM Uhmm, I really don't know what this is about. -- Richard Levitte
+XCOMM
+XCOMM The make variables USER_IMCONVLIBDIR and USER_IMCONVINCDIR can be
+XCOMM used to configure library search paths and include file search paths
+XCOMM to find the imconv libraries and header files.
+XCOMM
+XCOMM Example:
+XCOMM
+XCOMM #define IMCONV
+XCOMM USER_IMCONVLIBDIR = -L/logiciels/public/graphix/lib
+XCOMM USER_IMCONVINCDIR = -I/logiciels/public/graphix/include
+XCOMM
+#undef IMCONV
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Use sounds
+XCOMM If you want sound support through librplay, defined USE_SOUND.
+XCOMM
+XCOMM The make variables USER_SOUNDLIBDIR and USER_SOUNDINCDIR can be
+XCOMM used to configure library search paths and include file search paths
+XCOMM to find the rplay libraries and header files.
+XCOMM
+XCOMM Example:
+XCOMM
+XCOMM #define USE_SOUND
+XCOMM USER_SOUNDLIBDIR = -L/usr/local/lib
+XCOMM USER_SOUNDINCDIR = -I/usr/local/include
+XCOMM
+XCOMM Debian: We don't need to use USER_SOUNDLIBDIR or USER_SOUNDINCDIR
+XCOMM because rplay's shared object and headers are installed in standard
+XCOMM system locations.
+#define USE_SOUND
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Use XPM images
+XCOMM If you want XPM support, define XPM.
+XCOMM
+XCOMM The make variables USER_XPMLIBDIR and USER_XPMINCDIR can be
+XCOMM used to configure library search paths and include file search paths
+XCOMM to find the rplay libraries and header files.
+XCOMM
+XCOMM Example:
+XCOMM
+XCOMM #define XPM
+XCOMM USER_XPMLIBDIR = -L/usr/local/lib
+XCOMM USER_XPMINCDIR = -I/usr/local/include
+XCOMM
+#define XPM
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Use Jpeg images
+XCOMM If you want JPEG support, define JPEG.
+XCOMM
+XCOMM The make variables USER_JPEGLIBDIR and USER_JPEGINCDIR can be
+XCOMM used to configure library search paths and include file search paths
+XCOMM to find the rplay libraries and header files.
+XCOMM
+XCOMM Example:
+XCOMM
+XCOMM #define JPEG
+XCOMM USER_JPEGLIBDIR = -L/usr/local/lib
+XCOMM USER_JPEGINCDIR = -I/usr/local/include
+XCOMM
+#define JPEG
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Using M4 to process the ctwm configuration file
+XCOMM If you want to process the ctwm configuration file with m4, define
+XCOMM USE_M4.
+XCOMM
+#define USE_M4
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Support for Gnome extensions
+XCOMM If you want to build with Gnome extensions, define GNOME.
+XCOMM
+#define GNOME
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Use session management features
+XCOMM If you want to use X11R6 session management, define USE_SESSION.
+XCOMM
+#define USE_SESSION
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: I18n support
+XCOMM If you want to build with i18n support, define I18N.
+XCOMM
+#define I18N
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Use GNU regex
+XCOMM If you want to build with GNU regex instead of the internal regex
+XCOMM functions, define USE_GNU_REGEX.
+XCOMM
+XCOMM Debian: We enable this.
+#define USE_GNU_REGEX
+
+XCOMM DEBUGGING:
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: General debugging
+XCOMM If you want to get all kinds of debugging output from CTWM, define
+XCOMM DEBUG.
+XCOMM
+#undef DEBUG
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Debug the parser
+XCOMM If you want debugging output for the configuration file parser,
+XCOMM define DEBUGPARSER
+XCOMM
+#undef DEBUGPARSER
+
+XCOMM ----------------------------------------------------------------------
+XCOMM Feature: Compile with lots and lots of warnings
+XCOMM If you use gcc, and want to build with as much paranoia as possible,
+XCOMM define GCC_PEDANTIC.
+XCOMM Quite honestly, I would recommend for you not to use it for now.
+XCOMM You'll just start running and screaming :-). -- Richard Levitte
+XCOMM
+#undef GCC_PEDANTIC
--- ctwm-3.7.orig/ctwm.c
+++ ctwm-3.7/ctwm.c
@@ -116,7 +116,8 @@
# include <X11SM/SMlib.h>
# endif /* X11R6 */
-# ifdef I18N
+/* Version 2 and later of the GNU C library are locale-aware. */
+# if defined(I18N) && (!defined(__GLIBC__) || (__GLIBC__ < 2))
# include <X11/Xlocale.h>
# else
# ifndef NO_LOCALE
@@ -136,12 +137,13 @@
# include <X11/SM/SMlib.h>
# endif /* X11R6 */
-# ifdef I18N
+/* Version 2 and later of the GNU C library are locale-aware. */
+# if defined(I18N) && (!defined(__GLIBC__) || (__GLIBC__ < 2))
# include <X11/Xlocale.h>
# else
-# ifndef NO_LOCALE
-# include <locale.h>
-# endif /* NO_LOCALE */
+# ifndef NO_LOCALE
+# include <locale.h>
+# endif /* NO_LOCALE */
# endif
# ifndef PIXMAP_DIRECTORY
@@ -1373,12 +1375,17 @@ SIGNAL_T Crash (int signum)
if (captive) RemoveFromCaptiveList ();
XCloseDisplay(dpy);
- fprintf (stderr, "\nCongratulations, you have found a bug in ctwm\n");
- fprintf (stderr, "If a core file was generated in your directory,\n");
- fprintf (stderr, "can you please try extract the stack trace,\n");
- fprintf (stderr, "and mail the results, and a description of what you were doing,\n");
- fprintf (stderr, "to ctwm-bugs@free.lp.se. Thank you for your support.\n");
- fprintf (stderr, "...exiting ctwm now.\n\n");
+ fprintf (stderr,
+"\nCongratulations; you have found a bug in CTWM.\n"
+"\nIf a core file was generated in the current working directory, please try\n"
+"to extract the stack trace, and mail the results along with a description of\n"
+"what you were going, to <ctwm-bugs@free.lp.se>. Thank you for your support.\n"
+"\nYou may also wish to file a bug against the \"ctwm\" package with the\n"
+"Debian Bug Tracking System. Please use the \"reportbug\" command from the\n"
+"\"reportbug\" package to do so; even if you cannot locate a core file or\n"
+"include a stack trace, much valuable information will be automatically\n"
+"collected and reported to the Debian developers.\n"
+"\nExiting CTWM now.\n\n");
abort ();
}
--- /dev/null
+++ ctwm-3.7/example.man
@@ -0,0 +1,63 @@
+.TH ctwm __mansuffix__ "Version 3.6" "Claude Lecommandeur"
+.SH NAME
+ctwm \- Claude's Tab Window Manager for the X Window System
+.SH SYNOPSIS
+\fBctwm \fP[\-display \fIdpy\fP] [\-s] [\-f \fIinitfile\fP] [\-v] [\-n] [\-k]
+[\-K \fIm4file\fP] [\-w [\fIwin\-id\fP]]
+.SH DESCRIPTION
+\fIctwm\fP is a window manager for the X Window System. It provides
+titlebars, shaped windows, virtual screens (workspaces),
+several forms of icon management, user\-defined macro functions,
+click\-to\-type and pointer\-driven keyboard focus, and user\-specified
+key and pointer button bindings. It is actually
+\fItwm\fP(__mansuffix__) (Tab Window Manager) from the MIT X11 distribution
+slightly modified to accommodate the use of several virtual screens
+(workspaces). It is heavily inspired from the Hewlett\-Packard vuewm window
+manager. In addition, \fIctwm\fP can use coloured, shaped icons and
+background root pixmaps in XPM format [from Arnaud Le Hors], any format
+understood by the imconv package [from the San Diego Supercomputer Center]
+and xwd files. \fIctwm\fP can be compiled to use both, either or none of
+the above icon/pixmap formats.
+.IP "\fBBorderColor\fP \fIstring\fP [{ \fIwincolorlist\fP }]"
+This variable specifies the default color of the border to be placed around
+all non\-iconified windows, and may only be given within a \fBColor\fP or
+\fBMonochrome\fP list. The optional \fIwincolorlist\fP specifies a list of
+window and color name pairs for specifying particular border colors for
+different types of windows. For example:
+.RS
+.nf
+\fBBorderColor\fP "gray50"
+{
+ "XTerm" "red"
+ "xmh" "green"
+}
+.fi
+The default is \(oqblack\(cq.
+.RE
+.IP "\fBBorderLeft\fP \fIpixels\fP"
+This variable specifies the width in pixels of a forbidden zone at the
+left of the screen. All constrained window function (f.movepack,
+f.move with DontMoveOff, etc...) will use consider this zone as offscreen.
+Default is 0;
+.SH "ENVIRONMENT VARIABLES"
+.IP "DISPLAY"
+This variable is used to determine which X server to use. It is also set
+during \fBf.exec\fP so that programs come up on the proper screen.
+.IP "HOME"
+This variable is used as the prefix for files that begin with a tilde and
+for locating the \fIctwm\fP startup file.
+.SH "SEE ALSO"
+.IR X (__mansuffix__),
+.IR Xserver (__mansuffix__),
+.IR xdm (__mansuffix__),
+.IR xrdb (__mansuffix__).
+.SH COPYRIGHT
+Portions copyright 1988 Evans & Sutherland Computer Corporation; portions
+copyright 1989 Hewlett\-Packard Company and the Massachusetts Institute of
+Technology, See \fIX(__mansuffix__)\fP for a full statement of rights and
+permissions.
+.SH AUTHORS
+Tom LaStrange, Solbourne Computer; Jim Fulton, MIT X Consortium;
+Steve Pitschke, Stardent Computer; Keith Packard, MIT X Consortium;
+Dave Sternlicht, MIT X Consortium; Dave Payne, Apple Computer.
+Claude Lecommandeur, Swiss Polytechnical Institute of Lausanne (lecom@sic.epfl.ch).
--- ctwm-3.7.orig/menus.c
+++ ctwm-3.7/menus.c
@@ -1461,7 +1461,7 @@ Bool PopUpMenu (MenuRoot *menu, int x, i
ws = NULL;
- if (! (all || allicons) && CurrentSelectedWorkspace) {
+ if (! (all || allicons) && CurrentSelectedWorkspace && Scr->workSpaceManagerActive) {
for (ws = Scr->workSpaceMgr.workSpaceList; ws != NULL; ws = ws->next) {
if (strcmp (ws->name, CurrentSelectedWorkspace) == 0) break;
}
--- ctwm-3.7.orig/system.ctwmrc
+++ ctwm-3.7/system.ctwmrc
@@ -17,7 +17,7 @@ TitleFont "-adobe-helvetica-bold-r-norma
ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*"
-IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*"
+IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*"
ShowWorkSpaceManager # start with workspace manager up
UseThreeDMenus
UseThreeDTitles
@@ -28,51 +28,41 @@ SunkFocusWindowTitle
WorkSpaceManagerGeometry "360x60+60-0" 4
WorkSpaces {
- "One" {"#686B9F" "white" "DeepSkyBlue3" "white" "xpm:background8.xpm"}
- "Two" {"#619AAE" "white" "firebrick" "white" "plaid"}
- "Three" {"#727786" "white" "brown"}
- "Four" {"#8C5b7A" "white" "MidnightBlue"}
-
- "Five" {"#727786" "white" "firebrick"}
- "Six" {"#619AAE" "white" "DeepSkyBlue3"}
- "Seven" {"#8C5b7A" "white" "chartreuse4"}
- "Eight" {"#686B9F" "white" "MidnightBlue"}
-}
-
-Color
-{
- BorderColor "Red"
- DefaultBackground "blue"
- DefaultForeground "gray85"
- BorderTileBackground "DeepSkyBlue1" {
- "xterm" "DeepSkyBlue3"
- }
- BorderTileForeground "Black" {
- "xterm" "DeepSkyBlue3"
- }
- TitleBackground "DeepSkyBlue1" {
- "xterm" "DeepSkyBlue3"
- }
- TitleForeground "Black" {
- "xterm" "White"
- }
- MenuBackground "#686B9F"
- MenuForeground "white"
- MenuTitleBackground "gray70"
- MenuTitleForeground "White"
- IconBackground "LightSlateBlue"
- IconForeground "White"
- IconBorderColor "gray85"
- IconManagerBackground "DeepSkyBlue1" {"Axe" "DeepSkyBlue3" "xload" "DeepSkyBlue2"}
- IconManagerForeground "Black"
- MapWindowBackground "DeepSkyBlue1" {
- "root*" "Red"
- "xterm" "DeepSkyBlue3"
- "Axe" "Yellow"
- }
- MapWindowForeground "Black" {
- "xterm" "White"
- }
+ "One" {"rgb:0/6/6" "rgb:f/f/f" "rgb:0/6/6" "rgb:f/f/f"}
+ "Two" {"rgb:4/4/6" "rgb:f/f/f" "rgb:4/4/6" "rgb:f/f/f"}
+ "Three" {"rgb:6/4/4" "rgb:f/f/f" "rgb:6/4/4" "rgb:f/f/f"}
+ "Four" {"rgb:6/6/6" "rgb:f/f/f" "rgb:6/6/6" "rgb:f/f/f"}
+ "Five" {"rgb:0/4/4" "rgb:f/f/f" "rgb:0/4/4" "rgb:f/f/f"}
+ "Six" {"rgb:2/2/4" "rgb:f/f/f" "rgb:2/2/4" "rgb:f/f/f"}
+ "Seven" {"rgb:4/2/2" "rgb:f/f/f" "rgb:4/2/2" "rgb:f/f/f"}
+ "Eight" {"rgb:4/4/4" "rgb:f/f/f" "rgb:4/4/4" "rgb:f/f/f"}
+}
+
+Color {
+ BorderColor "rgb:0/0/8"
+ DefaultBackground "rgb:0/8/0"
+ DefaultForeground "rgb:e/e/e"
+ BorderTileBackground "rgb:0/8/8"
+ BorderTileForeground "rgb:0/0/0"
+ TitleBackground "rgb:0/b/b"
+ TitleForeground "rgb:0/0/f"
+ MenuBackground "rgb:f/f/0"
+ MenuForeground "rgb:0/0/f"
+ MenuTitleBackground "rgb:b/0/0"
+ MenuTitleForeground "rgb:b/b/0"
+ IconBackground "rgb:0/b/b"
+ IconForeground "rgb:f/f/f"
+ IconBorderColor "rgb:d/d/d"
+ IconManagerBackground "rgb:0/8/8"
+ IconManagerForeground "rgb:0/f/f"
+ MapWindowBackground "rgb:8/8/8"
+ MapWindowForeground "rgb:0/0/0"
+}
+
+IconManagerDontShow { # do not display these windows in the icon manager
+}
+
+NoTitle { # do not place a title bar on these windows
}
IconManagerGeometry "202x300-0+0" 1
@@ -80,10 +70,9 @@ IconManagerDontShow {
"WorkSpaceManager"
}
-NoTitle { # little programs that look like icons
- "TWM Icon Manager"
- "WorkSpaceManager"
+AutoRaise { # automatically raise these windows
}
+
#
# Define some useful functions for motion-based actions.
#
@@ -117,64 +106,62 @@ Button2 = : frame : f.raiselower
#
# And a menus with the usual things
#
-menu "defops"
-{
- "Twm" f.title
- "Xterm" !"xterm&"
- "Calculator" !"xcalc&"
- "Xman" !"xman &"
- "Xmag" !"xmag&"
- "" f.nop
- "Restart" f.restart
- "Exit" f.quit
+menu "defops" {
+ "Main Menu" f.title
+ "Debian" f.menu "/Debian"
+ "" f.separator
+ "Show Icon Manager" f.showiconmgr
+ "Hide Icon Manager" f.hideiconmgr
+ "" f.separator
+ "Show WorkSpace Manager" f.showworkspacemgr
+ "Hide WorkSpace Manager" f.hideworkspacemgr
+ "" f.separator
+ "Refresh screen" f.refresh
+ "" f.separator
+ "Exit" f.menu "Quit-Verify"
+}
+
+menu "Quit-Verify" {
+ "Really quit ctwm?" f.title
+ "No, restart ctwm" f.restart
+ "Yes, really quit" f.quit
}
menu "windowops" {
- "Windows" f.title
- "Occupy" f.occupy
- "Occupy All" f.occupyall
- "Iconify" f.iconify
- "Refresh" f.refresh
- "Vanish" f.vanish
- "Info" f.identify
- "" f.separator
- "Resize" f.resize
- "Move" f.move
- "Adopt Window" f.adoptwindow
- "Animate" f.startanimation
- "Don't animate" f.stopanimation
- "" f.separator
- "Send Delete" f.delete
- "Kill Window" f.destroy
- "Pin menu" f.pin
-}
-
-menu "windowmenu" {
- "Occupy ..." f.occupy
- "Occupy All" f.occupyall
- "Iconify" f.iconify
- "RaiseLower" f.raiselower
- "Refresh" f.winrefresh
- "Zoom" f.menu "Zoom"
- "Vanish" f.vanish
- "Focus" f.focus
- "Unfocus" f.unfocus
- "" f.separator
- "Send Delete" f.delete
- "Kill Window" f.destroy
- "Resize..." f.resize
- "Move..." f.move
-}
-
-menu "iconmenu" {
- "Actions" f.title
- "" f.separator
- "Restore" f.iconify
- "Move" f.move
- "Occupy ..." f.occupy
- "Occupy All" f.occupyall
- "" f.separator
- "Send Delete" f.delete
- "Kill Window" f.destroy
+ "Window Ops" f.title
+ "Occupy..." f.occupy
+ "Occupy All" f.occupyall
+ "Vanish" f.vanish
+ "" f.separator
+ "(De)Iconify" f.iconify
+ "Refresh" f.winrefresh
+ "Info..." f.identify
+ "" f.separator
+ "Resize" f.resize
+ "(Un)Squeeze" f.squeeze
+ "Zoom" f.menu "zoomops"
+ "" f.separator
+ "Move" f.move
+ "Pack move" f.movepack
+ "Push move" f.movepush
+ "" f.separator
+ "Restart animations" f.startanimation
+ "Freeze animations" f.stopanimation
+ "" f.separator
+ "Close" f.delete
+ "Kill" f.destroy
+}
+
+menu "zoomops" {
+ "Zoom Ops" f.title
+ "Full zoom" f.fullzoom
+ "Horizontal zoom" f.horizoom
+ "Vertical zoom" f.zoom
+ "Top zoom" f.topzoom
+ "Bottom zoom" f.bottomzoom
+ "Left zoom" f.leftzoom
+ "Right zoom" f.rightzoom
}
+undivert(`/etc/X11/ctwm/menudefs.hook')
+
--- ctwm-3.7.orig/workmgr.c
+++ ctwm-3.7/workmgr.c
@@ -901,7 +901,11 @@ void Occupy (TwmWindow *twm_win)
if (twm_win->iconmgr) return;
if (! Scr->TransientHasOccupation) {
if (twm_win->transient) return;
- if ((twm_win->group != (Window) 0) && (twm_win->group != twm_win->w)) return;
+ /*
+ * The following is commented out because it prevents, e.g.,
+ * Mozilla windows from occupying different workspaces.
+ */
+ /* if ((twm_win->group != (Window) 0) && (twm_win->group != twm_win->w)) return; */
}
for (ws = Scr->workSpaceMgr.workSpaceList; ws != NULL; ws = ws->next) {
Window obuttonw = Scr->workSpaceMgr.occupyWindow->obuttonw [ws->number];
|