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];
