--- fvwm1-1.24r.orig/Cleanme +++ fvwm1-1.24r/Cleanme @@ -1,21 +1,21 @@ #!/bin/sh -rm modules/FvwmAudio/FvwmAudio -rm modules/FvwmBacker/FvwmBacker -rm modules/FvwmBanner/FvwmBanner -rm modules/FvwmClean/FvwmClean -rm modules/FvwmDebug/FvwmDebug -rm modules/FvwmIconBox/FvwmIconBox -rm modules/FvwmIdent/FvwmIdent -rm modules/FvwmPager/FvwmPager -rm modules/FvwmSave/FvwmSave -rm modules/FvwmSaveDesk/FvwmSaveDesk -rm modules/FvwmScroll/FvwmScroll -rm modules/FvwmWinList/FvwmWinList -rm modules/FvwmAuto/FvwmAuto -rm modules/GoodStuff/GoodStuff -rm fvwm/fvwm -rm xpmroot/xpmroot -rm libs/*.a +rm -f modules/FvwmAudio/FvwmAudio +rm -f modules/FvwmBacker/FvwmBacker +rm -f modules/FvwmBanner/FvwmBanner +rm -f modules/FvwmClean/FvwmClean +rm -f modules/FvwmDebug/FvwmDebug +rm -f modules/FvwmIconBox/FvwmIconBox +rm -f modules/FvwmIdent/FvwmIdent +rm -f modules/FvwmPager/FvwmPager +rm -f modules/FvwmSave/FvwmSave +rm -f modules/FvwmSaveDesk/FvwmSaveDesk +rm -f modules/FvwmScroll/FvwmScroll +rm -f modules/FvwmWinList/FvwmWinList +rm -f modules/FvwmAuto/FvwmAuto +rm -f modules/GoodStuff/GoodStuff +rm -f fvwm/fvwm +rm -f xpmroot/xpmroot +rm -f libs/*.a rm -f *.o rm -f *~ rm -f *.bak --- fvwm1-1.24r.orig/Imakefile +++ fvwm1-1.24r/Imakefile @@ -12,7 +12,7 @@ /*CDEBUGFLAGS = -LMyLibrarydir*/ ALLSUBDIRS = libs \ - fvwm \ + fvwm \ modules/GoodStuff \ modules/FvwmIdent \ modules/FvwmDebug \ --- fvwm1-1.24r.orig/configure.h +++ fvwm1-1.24r/configure.h @@ -1,7 +1,7 @@ -#define FVWMDIR "/usr/lib/X11/fvwm" +#define FVWMDIR "/usr/X11R6/lib/X11/fvwm" /* #define FVWMDIR "/local/homes/dsp/nation/modules"*/ -#define FVWM_ICONDIR "/usr/include/X11/bitmaps:/usr/include/X11/pixmaps" -#define FVWMRC "/usr/lib/X11/fvwm/system.fvwmrc" +#define FVWM_ICONDIR "/usr/local/share/images:/usr/local/share/icons:/usr/share/images:/usr/share/icons:/usr/share/pixmaps:/usr/include/X11/pixmaps:/usr/include/X11/bitmaps:/usr/X11R6/include/bitmaps" +#define FVWMRC "/etc/X11/fvwm/system.fvwmrc" /* Imake command needed to put modules in desired target location */ /* Use the second version if it causes grief */ @@ -14,7 +14,7 @@ * If you want to install it in a different directory, uncomment and * edit the first line */ /* #define FVWM_BIN_DIR BINDIR=/local/homes/dsp/nation/bin/4.1.3*/ -#define FVWM_BIN_DIR BINDIR=/usr/bin/X11 +#define FVWM_BIN_DIR BINDIR=/usr/X11R6/bin /*#define FVWM_BIN_DIR*/ /* Compiler over-ride for Imakefiles */ @@ -57,7 +57,7 @@ ***************************************************************************/ #define XPM /* linker flags needed to locate and link in the Xpm library, if you use it */ -#define XPMLIBRARY -L/usr/lib/X11 -lXpm +#define XPMLIBRARY -L/usr/X11R6/lib -lXpm /*************************************************************************** *#define M4 @@ -69,7 +69,7 @@ * undefine(`include') to fix that one. Some version of m4 * seem to give good error messages, others don't? ***************************************************************************/ -/* #define M4 */ +#define M4 /*************************************************************************** *#define NO_PAGER @@ -203,3 +203,4 @@ #define FVWM_INLINE inline #endif #endif + --- fvwm1-1.24r.orig/debian/Fvwm1.desktop +++ fvwm1-1.24r/debian/Fvwm1.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Fvwm1 +Comment=Fvwm1 +Exec=fvwm1 +Terminal=False +TryExec=fvwm1 +Type=Application + +[Window Manager] +SessionManaged=true --- fvwm1-1.24r.orig/debian/README.Debian +++ fvwm1-1.24r/debian/README.Debian @@ -0,0 +1,71 @@ +This is the Debian GNU/Linux prepackaged version of FVWM version 1, +the F(?) Virtual Window Manager. + +This package was originally put together by Ian Murdock +, from sources obtained from: + sunsite.unc.edu:/pub/Linux/X11/window-managers/fvwm-1.24r.tar.gz + +It is currently being looked after by Phil Brooke , +although it is not being actively maintained any more, as it is no +longer supported upstream (it's too old and has been replaced by FVWM +version 2.2). + +It is installed as /usr/bin/fvwm1, to distinguish it from the current +version, which is now packaged as fvwm. + +The manpages for the 1.24r modules have an appended "1", for example, +FvwmAudio1.1x, to distinguish them from the FVWM 2.xx manpages. + +The modules live in /usr/lib/fvwm; see README.modules in that +directory for more information about the setup of FVWM modules on a +Debian system. + + +Conversion of the fvwm1 package to use the menu system +------------------------------------------------------ + +As of version 1.24r-32, the Debian fvwm1 package uses joost +witteveen's menu package. This allows the applications menu to show +all of the applications which have registered menu entries. + +For full details of how best to utilise this system, see +update-menus(1) or file:/usr/share/doc/menu/html/index.html/. + +Since fvwm 1.24r does not have a "read" or "include" command for its +fvwmrc files, the package has been set up so that the master +configuration file is /etc/X11/fvwm/system.fvwmrc-menu. This is then +automatically transformed into /etc/X11/fvwm/system.fvwmrc whenever +update-menus is run. If there is a modified version of system.fvwmrc +present when this package is installed, it will be copied to +/etc/X11/fvwm/system.fvwmrc.save, and any changes may be manually +merged. + + +Fvwm1 and i18n +-------------- + +Thanks to a patch provided by Taketoshi Sano, fvwm1 now supports +i18n for window labels and so on. Please note that the default fonts +in /etc/X11/fvwm/system.fvwmrc may not be suitable for all locales, +and may need modifying either there or in ~/.fvwmrc. If this is not +done, fvwm1 will not start for those locales. + +The current defaults are: + +# The menu font +Font -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-* +# The font used in the window title bars. +WindowFont -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* +# Font used to title icons with +IconFont -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* + +but these are all iso8859-1 encoded. + +Here are some possibilities for iso8859-15 encoding: + +# The menu font +Font -*-*-bold-r-normal-*-14-*-*-*-*-*-*-* +# The font used in the window title bars. +WindowFont -*-*-bold-r-normal-*-13-*-*-*-*-80-*-* +# Font used to title icons with +IconFont -*-*-bold-r-normal-*-13-*-*-*-*-80-*-* --- fvwm1-1.24r.orig/debian/README.modules +++ fvwm1-1.24r/debian/README.modules @@ -0,0 +1,7 @@ +The FVWM modules in this directory (/usr/lib/fvwm) are for the +fvwm1 package, that is FVWM 1.24r. Modules for the fvwm package (that +is, FVWM 2.xx) are found in the subdirectory with the appropriate +version number (such as 2.2). + +The manpages for the 1.24r modules have an appended "1", for example, +FvwmAudio1.1x, to distinguish them from the FVWM 2.xx manpages. --- fvwm1-1.24r.orig/debian/changelog +++ fvwm1-1.24r/debian/changelog @@ -0,0 +1,386 @@ +fvwm1 (1.24r-57ubuntu1) hirsute; urgency=medium + + * Merge from Debian unstable. Remaining changes: + - Include header files to fix FTBFS due to implicit pointer conversions. + + -- Logan Rosen Mon, 01 Feb 2021 22:01:49 -0500 + +fvwm1 (1.24r-57) unstable; urgency=medium + + * Bump standards version to 4.5.0. + * Bump debhelper compat to 13 (closes: 965530). Requires change + from dh_clean -k to dh_prep. + * Package source format is 1.0. + * Fix FTBFS with gcc-10 (closes: 957240). + + -- Phil Brooke Wed, 19 Aug 2020 13:08:57 +0100 + +fvwm1 (1.24r-56ubuntu2) bionic; urgency=high + + * No change rebuild to pick up -fPIE compiler default + + -- Balint Reczey Tue, 03 Apr 2018 12:23:55 +0000 + +fvwm1 (1.24r-56ubuntu1) wily; urgency=medium + + * Include header files to fix FTBFS due to implicit pointer conversions. + + -- Logan Rosen Tue, 20 Oct 2015 19:06:50 -0400 + +fvwm1 (1.24r-56) unstable; urgency=low + + * Add build-indep / build-arch targets. + * Add hardening flags via CCOPTIONS and LOCAL_LDFLAGS to each Imakefile. + * Bump standards version to 3.9.4. + * Clean some odd whitespace from changelog. + + -- Phil Brooke Thu, 31 Oct 2013 16:44:38 +0000 + +fvwm1 (1.24r-55) unstable; urgency=low + + * Bump standards version to 3.8.4. + * Add ${misc:Depends} to Depends. + * Fix spelling in some man pages. + + -- Phil Brooke Sun, 07 Feb 2010 19:42:43 +0000 + +fvwm1 (1.24r-54) unstable; urgency=low + + * Fix problem with location of original source tarball when + packaging. + * Removed call to dh_desktop (is redundant). + * Bump standards-version to 3.8.2. + * Bump debian/compat to 6 and build-depends on debhelper. + + -- Phil Brooke Wed, 24 Jun 2009 09:48:11 +0100 + +fvwm1 (1.24r-53) unstable; urgency=low + + * Depend on xutils-dev, not xutils (closes: #485202). + * Remove x-dev from build-depends. + * Fixed README.Debian to remove reference to /usr/doc. + * Fix man page error in FvwmSaveDesk.man. + * Bump standards-version to 3.8.0. + + -- Phil Brooke Thu, 17 Jul 2008 20:19:19 +0100 + +fvwm1 (1.24r-52) unstable; urgency=low + + * Acknowledge NMUs 51.1 and 51.2, thanks. + * Bump standards-version to 3.7.3. + * Modify debian/menu for new structure. + * Updated postinst for correct link target (closes: #451467). + * Replaced DH_COMPAT line in rules with debian/compat. + * Added call to dh_desktop. + * Removed warning about ancient system.fvwmrc from preinst. + + -- Phil Brooke Fri, 21 Dec 2007 08:35:56 +0000 + +fvwm1 (1.24r-51.2) unstable; urgency=high + + * NMU: Update to fix for #413369; cope with symlinks better. + + -- Steve McIntyre <93sam@debian.org> Fri, 09 Mar 2007 21:20:24 +0000 + +fvwm1 (1.24r-51.1) unstable; urgency=high + + * NMU to fix RC bug. + * Move alternatives from /usr/bin/X11. Closes: #413369. + + -- Steve McIntyre <93sam@debian.org> Wed, 07 Mar 2007 21:20:24 +0000 + +fvwm1 (1.24r-51) unstable; urgency=low + + * Acknowledge NMU 50.1 -- thanks. + * Attempting to fix UTF-8 locales problem by disabling I18N patch + (closes: #392814). + * Added xfonts-* packages to Suggests list to match fvwmrc.system. + * Set menu outputencoding as suggested by Bill Allombert. + + -- Phil Brooke Thu, 14 Dec 2006 15:51:58 +0000 + +fvwm1 (1.24r-50.1) unstable; urgency=high + + * Non-maintainer upload. + * Fix path to the manpages in the postinst; there are no manpages in + /usr/X11R6/share/man anymore. (Closes: #372903) + + -- Steinar H. Gunderson Wed, 28 Jun 2006 19:06:58 +0200 + +fvwm1 (1.24r-50) unstable; urgency=low + + * Applied patch from Matt Kraai to add xbitmaps to Build-Depends + (closes: #366832). + * Bumped standards-version to 3.7.2. + * Fixed rules to remove substvars. + + -- Phil Brooke Sat, 27 May 2006 13:58:27 +0100 + +fvwm1 (1.24r-49) unstable; urgency=low + + * Removing xlibs-dev and replacing with libx11-dev, libxext-dev, + libxmu-dev, libxpm-dev, libxt-dev, x-dev (closes: #345962). + + -- Phil Brooke Wed, 4 Jan 2006 15:11:50 +0000 + +fvwm1 (1.24r-48) unstable; urgency=low + + * Applied patch (no.2) from Lars Wirzenius for bug 337870 + (closes: #337870). This fixes FTBFS on alpha and also silences + some compile-time warnings. + * Bumped DH_COMPAT to 4 in rules (and debhelper build dependency). + * Fixed menu-method to use /usr/bin/install-menu as the interpreter + path. + + -- Phil Brooke Tue, 3 Jan 2006 18:36:52 +0000 + +fvwm1 (1.24r-47) unstable; urgency=low + + * Added /usr/share/xsessions/Fvwm1.desktop file (closes: #322656). + * Bumped standards-version to 3.6.2. + * Bumped DH_COMPAT to 3 in rules (and debhelper build dependency). + * Removed explicit list of conffiles. + * Moved from installing in /usr/X11R6 to /usr/bin (and similar for + other directories). Modules are now installed in /usr/lib/fvwm. + * preinst now uses /bin/bash not /bin/sh. + * Added missing quotes to menu file. + * Changed man page section for the modules. + * Updated README.Debian. + + -- Phil Brooke Sun, 11 Sep 2005 12:51:57 +0100 + +fvwm1 (1.24r-46) unstable; urgency=low + + * Removed postinst /usr/doc symlink. + * Update to standards version. + + -- Phil Brooke Mon, 11 Nov 2002 12:58:04 +0000 + +fvwm1 (1.24r-45) unstable; urgency=low + + * New email address for maintainer. + + -- Phil Brooke Wed, 17 Apr 2002 13:58:39 +0000 + +fvwm1 (1.24r-44) unstable; urgency=low + + * New maintainer (Closes: Bug#68146). + * Changed copyright page to show new maintainer. + * Fixed several lintian complaints (Closes: Bug#132193). + * Typo fix in fvwm1.1 manpage. + + -- Phil Brooke Mon, 4 Feb 2002 09:00:00 +0000 + +fvwm1 (1.24r-43) unstable; urgency=low + + * Missed an FHS transition in update-alternatives in postinst (closes: + #120842) + + -- Julian Gilbey Sat, 24 Nov 2001 23:00:27 +0000 + +fvwm1 (1.24r-42) unstable; urgency=low + + * Move fvwm-common to a Suggests, and make it fvwm-icons | fvwm-common + to keep dselect happy + + -- Julian Gilbey Fri, 7 Sep 2001 00:23:53 +0100 + +fvwm1 (1.24r-41) unstable; urgency=low + + * Fix HPPA build bug (thanks to HPPA porters for finding this one) + (closes: #105080) + + -- Julian Gilbey Tue, 21 Aug 2001 18:01:21 +0100 + +fvwm1 (1.24r-40) unstable; urgency=low + + * Correct order of cleaning in debian/rules + + -- Julian Gilbey Thu, 22 Feb 2001 20:08:16 +0000 + +fvwm1 (1.24r-39) unstable; urgency=low + + * Add Build-Depends for xutils. Maybe they'll even be correct, now. + (Closes: #85901) + * Also add Build-Depends for patch + * Add support for DEB_BUILD_OPTIONS + * Correct x-window-manager priority in postinst + * Standards 3.5.0 + + -- Julian Gilbey Wed, 14 Feb 2001 16:07:31 +0000 + +fvwm1 (1.24r-38) unstable; urgency=low + + * Correct Build-Depends for XFree86 version 4.0.x (closes: #85496) + + -- Julian Gilbey Sun, 11 Feb 2001 00:23:22 +0000 + +fvwm1 (1.24r-37) unstable; urgency=low + + * Added explanation to README.Debian about iso8859-15 encoding + (closes: #80500) + + -- Julian Gilbey Wed, 7 Feb 2001 15:25:40 +0000 + +fvwm1 (1.24r-36) unstable; urgency=low + + * Apply i18n patch from Taketoshi Sano + (closes: #60274) + * Check that ${shlibs:Suggests} is defined, else remove it from the + control file + + -- Julian Gilbey Mon, 11 Dec 2000 23:24:04 +0000 + +fvwm1 (1.24r-35) unstable; urgency=low + + * Provide x-window-manager + + -- Julian Gilbey Tue, 7 Dec 1999 19:41:08 +0000 + +fvwm1 (1.24r-34) unstable; urgency=low + + * Rebuilt to use new librplay packages in place of old rplay ones. + * Corrected IconPath in system.fvwmrc-menu. + * Add xpm4g-dev to build dependencies. + + -- Julian Gilbey Mon, 6 Dec 1999 16:58:49 +0000 + +fvwm1 (1.24r-33) unstable; urgency=low + + * The install target in debian/rules should depend on build-stamp, not + build. + * Correct menu-method so it no longer destroys fvwm's menus + * Upped number of allowable popups to 100 to cope with the demands of + the menu system. + + -- Julian Gilbey Thu, 25 Nov 1999 19:54:12 +0000 + +fvwm1 (1.24r-32) unstable; urgency=low + + * Standards version 3.1.1. What a lot of hard work! On the way, I: + * Converted debian/rules to use debhelper, so now, README.Debian + actually gets installed (hadn't noticed that one), and I + * Converted the system.fvwmrc to use joost's menu package if it's + installed. I also + * Corrected the icon search path and + * Enabled rplay support. + * Moved from register-window-manager to the alternatives mechanism + * And then I pulled the package out of Incoming because the menu stuff + was so badly broken. + + -- Julian Gilbey Tue, 23 Nov 1999 16:59:51 +0000 + +fvwm1 (1.24r-31) unstable; urgency=low (high for alpha) + + * Tried to correct alpha compilation errors: gethostname, bzero and + dnet_stub problems (closes: #37448, we hope) + + -- Julian Gilbey Tue, 11 May 1999 01:55:01 +0100 + +fvwm1 (1.24r-30) unstable; urgency=high + + * Correct FVWMDIR and FVWMRC in configure.h; this major bug has been + present but unnoticed for two-and-a-half months - ouch! (Closes: + #37386) + + -- Julian Gilbey Mon, 10 May 1999 02:06:20 +0100 + +fvwm1 (1.24r-29) unstable; urgency=low + + * Updated standards version in control file + * Added -isp option to dpkg-gencontrol, following debhelper + + -- Julian Gilbey Sun, 2 May 1999 17:41:04 +0100 + +fvwm1 (1.24r-28) unstable; urgency=low + + * Corrected some nasty mistakes in system.fvwmrc + + -- Julian Gilbey Tue, 23 Mar 1999 14:33:52 +0000 + +fvwm1 (1.24r-27) unstable; urgency=low + + * On Branden Robinson's suggestion, this package has been renamed as + fvwm1. The fvwm package now contains the newly released FVWM 2.2 + software. + + -- Julian Gilbey Wed, 24 Feb 1999 01:23:47 +0000 + +fvwm (1.24r-26) unstable; urgency=low + + * New "maintainer" + * Moved the package to priority "extra" as FVWM 2 has now been + officially released. + * No longer accepting non-Debian-related bugs against this package as it + has been deprecated upstream. + + -- Julian Gilbey Tue, 23 Feb 1999 18:46:59 +0000 + +fvwm (1.24r-25.1) unstable; urgency=low + + * non maintainer release. + * libc6 build. + * upgraded to Policy Standard 2.3.0.0. + + -- Frederic Lepied Sun, 2 Nov 1997 20:48:28 +0100 + +Mon Aug 26 22:46:51 1996 Austin Donnelly + * debian.rules: use new naming convention and dpkg-name + * debian.control: recommend on fvwm-common for icons and module + manpages. +Thu Jun 13 15:05:35 1996 Austin Donnelly + * configure.h: changed compiled-in paths to icons and pixmaps to + be "/usr/X11R6/include/X11/pixmaps" rather than + "/usr/include/X11/pixmaps". Fixes Bug#3266. + * system.fvwmrc: Same as above, plus fixed xman icon. + * debian.rules: bumped version number. + * debian.ChangeLog: moved this file into main package source. + * Released fvwm-1.24r-24 +Sun May 19 16:47:44 1996 Austin Donnelly + * debian.control: added recommends fvwm2 and changed description + to let people know then need fvwm2 for the icons and xpmroot. + * debian.rules: don't install icons anymore. + * system.fvwmrc: changed email address to . + * Released fvwm-1.24r-23 +Tue Apr 16 23:26:17 1996 Austin Donnelly + * David Engel released fvmw-1.24r-21 in my absence. ELFification, + no more. + * Changed back to using a file in /tmp open()ed with O_EXCL, + rather than a directory. This was the solution propsed by Marc + Ewing on linux-security. Debian didn't use this originally + because we released our fixed version before the discussion took + place. + * Install atexit() callbacks to clean up /tmp _after_ putting + ~/.fvwmrc through M4, not before. This means early bombing outs + no longer delete ~/.fvwmrc. Fixes Bug#2685. + * 'architecture' control field added. + * Released fvwm-1.24r-22 +Sun Jan 7 23:42:53 1996 Austin Donnelly + * configure.c: make /tmp/fvwmrc a directory, and hold data in + a file inside directory to avoid security problems. + * fvwm.c: delete directory created in /tmp + * version 1.24r-10 released +Mon Nov 13 14:51:55 1995 Austin Donnelly + * fvwm.c: Bug#1810: use atexit() to ensure that /tmp/fvwmrc + files are correctly deleted. + * configure.c: reworked /tmp/fvwmrc code to be closer to the + author's intent. + * version 1.24r-9 released +Fri Oct 27 22:01:03 1995 Austin Donnelly + * debian.rules: system.fvwmrc is now mode 644, not 755 + * debian.rules: Bug#1723: ./debian.rules clean target used to fail if + already clean - now fixed. Thanks to Ian Jackson + . + * configure.c: Bug#1684: Temporary file used for m4 pre-processing + was called /tmp/fvwmrcXXXXX - multiple copies of fvwm couldn't + be run. Now changed to /tmp/fvwmrc. + * system.fvwmrc: Bug#1721: Path statements reference /usr/X386. Now + changed to /usr/X11R6 + * system.fvwmrc: completely re-written to demonstrate new features of + fvwm-1.24 (eg style command etc) Same look-n-feel preserved. + * pager.c: fixed long-standing bug with sytle command and built-in + pager. Window title in pager used to be painted with the + standard background, rather than the 'style' specified + background. + * version 1.24r-8 released + --- fvwm1-1.24r.orig/debian/compat +++ fvwm1-1.24r/debian/compat @@ -0,0 +1 @@ +13 --- fvwm1-1.24r.orig/debian/control +++ fvwm1-1.24r/debian/control @@ -0,0 +1,31 @@ +Source: fvwm1 +Section: x11 +Priority: extra +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Phil Brooke +Standards-Version: 4.5.0 +Build-Depends: debhelper (>> 13.0.0), patch, libx11-dev, libxext-dev, libxmu-dev, libxpm-dev, libxt-dev, xutils-dev, librplay3-dev, xbitmaps + +Package: fvwm1 +Architecture: any +Depends: m4, ${shlibs:Depends}, ${misc:Depends} +Suggests: menu (>> 2.0), xfonts-100dpi, xfonts-75dpi, fvwm-icons | fvwm-common, ${shlibs:Suggests} +Replaces: fvwm (<= 1.24r-26) +Conflicts: fvwm (<= 1.24r-26) +Provides: x-window-manager +Description: Old version of the F(?) Virtual Window Manager + This package contains the old version of the FVWM windows manager. + It is no longer supported upstream, having been replaced by FVWM 2, + and so no non-Debian-related bugs will be fixed unless someone + else provides a patch. + . + You probably only want to use this package instead of the fvwm + package if you know what you are doing or have very specific + requirements. + . + FVWM is a fairly small window manager which provides + a three-dimensional appearance and a virtual desktop, + complete with colour icons. + . + You will need to install the fvwm-common package if you want the + xpmroot command and some icons, along with manual pages for the modules. --- fvwm1-1.24r.orig/debian/copyright +++ fvwm1-1.24r/debian/copyright @@ -0,0 +1,47 @@ +This is the Debian GNU/Linux prepackaged version of FVWM, the F(?) +Virtual Window Manager. + +This package was originally put together by Ian Murdock +, from sources obtained from: + sunsite.unc.edu:/pub/Linux/X11/window-managers/fvwm-1.24r.tar.gz + +It was previously maintained by Austin Donnelly +and is now maintained by Phil Brooke . + +NOTE::: + After a long and dedicated service, Robert Nation has passed on FVWM + to its new manager, Chuck Hines. And, in addition, both the mailing + lists and the FTP sites have moved to a new location, + hpc.uh.edu. But things are still going strong! + + +/**************************************************************************** + * This module is based on Twm, but has been siginificantly modified + * by Rob Nation + ****************************************************************************/ +/*****************************************************************************/ +/** Copyright 1988 by Evans & Sutherland Computer Corporation, **/ +/** Salt Lake City, Utah **/ +/** Portions Copyright 1989 by the Massachusetts Institute of Technology **/ +/** Cambridge, Massachusetts **/ +/** **/ +/** All Rights Reserved **/ +/** **/ +/** Permission to use, copy, modify, and distribute this software and **/ +/** its documentation for any purpose and without fee is hereby **/ +/** granted, provided that the above copyright notice appear in all **/ +/** copies and that both that copyright notice and this permis- **/ +/** sion notice appear in supporting documentation, and that the **/ +/** names of Evans & Sutherland and M.I.T. not be used in advertising **/ +/** in publicity pertaining to distribution of the software without **/ +/** specific, written prior permission. **/ +/** **/ +/** EVANS & SUTHERLAND AND M.I.T. DISCLAIM ALL WARRANTIES WITH REGARD **/ +/** TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- **/ +/** ABILITY AND FITNESS, IN NO EVENT SHALL EVANS & SUTHERLAND OR **/ +/** M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAM- **/ +/** AGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA **/ +/** OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER **/ +/** TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE **/ +/** OR PERFORMANCE OF THIS SOFTWARE. **/ +/*****************************************************************************/ --- fvwm1-1.24r.orig/debian/dirs +++ fvwm1-1.24r/debian/dirs @@ -0,0 +1,5 @@ +etc/X11/fvwm +usr/lib/fvwm +usr/bin +usr/share/man/man1 +usr/share/doc/fvwm1/examples --- fvwm1-1.24r.orig/debian/i18n.patch +++ fvwm1-1.24r/debian/i18n.patch @@ -0,0 +1,1734 @@ +diff -ruN fvwm1-1.24r/configure.h fvwm1-1.24r-i18n/configure.h +--- fvwm1-1.24r/configure.h Mon Mar 13 14:45:08 2000 ++++ fvwm1-1.24r-i18n/configure.h Mon Mar 13 14:44:19 2000 +@@ -60,6 +60,12 @@ + #define XPMLIBRARY -L/usr/X11R6/lib -lXpm + + /*************************************************************************** ++ *#define I18N ++ * If you want to use i18n feature, specify #define I18N ++ ***************************************************************************/ ++/* #define I18N */ ++ ++/*************************************************************************** + *#define M4 + * Causes m4 pre-processor patches to be included. Try man m4 for more info. + * Warning: m4 defines macros for some simple things like "include" +diff -ruN fvwm1-1.24r/fvwm/add_window.c fvwm1-1.24r-i18n/fvwm/add_window.c +--- fvwm1-1.24r/fvwm/add_window.c Tue Dec 6 00:05:56 1994 ++++ fvwm1-1.24r-i18n/fvwm/add_window.c Mon Mar 13 14:44:19 2000 +@@ -101,6 +101,10 @@ + XrmValue rm_value; + unsigned long buttons; + XTextProperty text_prop; ++#ifdef I18N ++ char **list; ++ int num; ++#endif + + NeedToResizeToo = False; + /* allocate space for the fvwm window */ +@@ -121,7 +125,18 @@ + return(NULL); + } + if ( XGetWMName(dpy, tmp_win->w, &text_prop) != 0 ) ++#ifdef I18N ++ { ++ if (text_prop.value) text_prop.nitems = strlen(text_prop.value); ++ if (XmbTextPropertyToTextList(dpy, &text_prop, &list, &num) == Success ++ && num > 0 && *list) ++ tmp_win->name = *list; ++ else ++ tmp_win->name = NoName; ++ } ++#else + tmp_win->name = (char *)text_prop.value ; ++#endif + else + tmp_win->name = NoName; + +@@ -260,9 +275,28 @@ + } + + XSetWindowBorderWidth (dpy, tmp_win->w,0); ++#ifdef I18N ++ if (XGetWindowProperty(dpy, tmp_win->w, XA_WM_ICON_NAME, 0L, 200L, False, ++ AnyPropertyType, &actual_type, &actual_format, &nitems, ++ &bytesafter,(unsigned char **)&tmp_win->icon_name) ++ == Success && actual_type != None) { ++ text_prop.value = tmp_win->icon_name; ++ text_prop.encoding = actual_type; ++ text_prop.format = actual_format; ++ text_prop.nitems = nitems; ++ if (XmbTextPropertyToTextList(dpy, &text_prop, &list, &num) == Success ++ && num > 0 && *list) ++ tmp_win->icon_name = *list; ++ else ++ tmp_win->icon_name = NULL; ++ } ++ else ++ tmp_win->icon_name = NULL; ++#else + XGetWindowProperty (dpy, tmp_win->w, XA_WM_ICON_NAME, 0L, 200L, False, + XA_STRING, &actual_type, &actual_format, &nitems, + &bytesafter,(unsigned char **)&tmp_win->icon_name); ++#endif + if(tmp_win->icon_name==(char *)NULL) + tmp_win->icon_name = tmp_win->name; + +@@ -493,7 +527,18 @@ + } + XChangeWindowAttributes (dpy, tmp_win->w, valuemask, &attributes); + if ( XGetWMName(dpy, tmp_win->w, &text_prop) != 0 ) ++#ifdef I18N ++ { ++ if (text_prop.value) text_prop.nitems = strlen(text_prop.value); ++ if (XmbTextPropertyToTextList(dpy, &text_prop, &list, &num) == Success ++ && num > 0 && *list) ++ tmp_win->name = *list; ++ else ++ tmp_win->name = NoName; ++ } ++#else + tmp_win->name = (char *)text_prop.value ; ++#endif + else + tmp_win->name = NoName; + +diff -ruN fvwm1-1.24r/fvwm/borders.c fvwm1-1.24r-i18n/fvwm/borders.c +--- fvwm1-1.24r/fvwm/borders.c Sat Dec 3 04:54:43 1994 ++++ fvwm1-1.24r-i18n/fvwm/borders.c Mon Mar 13 14:44:19 2000 +@@ -178,6 +178,8 @@ + if((t->icon_name != NULL)&&(Scr.PagerFont.height > 0)) + { + NewFontAndColor(Scr.PagerFont.font->fid,TextColor,BackColor); ++#undef FONTSET ++#define FONTSET Scr.PagerFont.fontset + XDrawImageString(dpy, t->pager_view, Scr.FontGC, 2,Scr.PagerFont.y+2, + t->icon_name, strlen(t->icon_name)); + } +@@ -488,6 +490,8 @@ + hor_off = (t->title_width - w)/2; + + NewFontAndColor(Scr.WindowFont.font->fid,Forecolor, BackColor); ++#undef FONTSET ++#define FONTSET Scr.WindowFont.fontset + + if(NewTitle) + XClearWindow(dpy,t->title_w); +diff -ruN fvwm1-1.24r/fvwm/configure.c fvwm1-1.24r-i18n/fvwm/configure.c +--- fvwm1-1.24r/fvwm/configure.c Mon Mar 13 14:45:07 2000 ++++ fvwm1-1.24r-i18n/fvwm/configure.c Mon Mar 13 14:44:19 2000 +@@ -24,6 +24,9 @@ + #include + #include + #include ++#ifdef I18N ++#include ++#endif + + #include + #include +@@ -316,6 +319,9 @@ + char line[256],*tline; + char *Home; /* the HOME environment variable */ + int HomeLen; /* length of Home */ ++#ifdef I18N ++ char *Lang; ++#endif + #ifdef M4 + extern int m4_enable; + #endif +@@ -363,10 +369,37 @@ + } + else + { ++#ifdef I18N ++ if ((Lang = setlocale(LC_CTYPE, NULL)) != NULL) { ++ home_file = safemalloc(HomeLen+strlen(Lang)+strlen(config_file)+4); ++ strcpy(home_file,Home); ++ strcat(home_file,"/"); ++ strcat(home_file,Lang); ++ strcat(home_file,"/"); ++ strcat(home_file,config_file); ++ config_fd = fopen(home_file,"r"); ++ if (config_fd == (FILE *)NULL) { ++ free(home_file); ++ home_file = safemalloc(HomeLen+strlen(config_file)+3); ++ strcpy(home_file,Home); ++ strcat(home_file,"/"); ++ strcat(home_file,config_file); ++ } ++ else ++ fclose(config_fd); ++ } ++ else { ++ home_file = safemalloc(HomeLen+strlen(config_file)+3); ++ strcpy(home_file,Home); ++ strcat(home_file,"/"); ++ strcat(home_file,config_file); ++ } ++#else + home_file = safemalloc(HomeLen+strlen(config_file)+3); + strcpy(home_file,Home); + strcat(home_file,"/"); + strcat(home_file,config_file); ++#endif + } + fvwm_file = home_file; + config_fd = fopen(home_file,"r"); +@@ -410,7 +443,7 @@ + orig_tline = tline; + while(tline != (char *)0) + { +- while(isspace(*tline))tline++; ++ while(isspace((unsigned char)*tline))tline++; + if((strlen(&tline[0])>1)&&(tline[0]!='#')&&(tline[0]!='*')) + match_string(main_config,tline,"error in config:",config_fd); + tline = fgets(line,(sizeof line)-1,config_fd); +@@ -490,7 +523,7 @@ + int *y_coords; + int *line_style; + +- while(isspace(*letter))letter++; ++ while(isspace((unsigned char)*letter))letter++; + if (*letter == ':') /* signal for new data format */ + { + /* get button number */ +@@ -745,6 +778,13 @@ + #endif + void GetColors(void) + { ++#ifdef I18N ++ XFontSetExtents *fset_extents; ++ XFontStruct **fs_list; ++ char **ml; ++ int mc; ++ char *ds; ++#endif + extern MyFont *IconFont; + + if(have_the_colors) return; +@@ -812,6 +852,21 @@ + } + + /* load the font */ ++#ifdef I18N ++ if ((Scr.StdFont.fontset = XCreateFontSet(dpy, Scr.StdFont.name, &ml, ++ &mc, &ds)) == NULL) { ++ nofont(Scr.StdFont.name); ++ if ((Scr.StdFont.fontset = XCreateFontSet(dpy, "fixed", ++ &ml, &mc, &ds)) == NULL) ++ exit(1); ++ } ++ XFontsOfFontSet(Scr.StdFont.fontset, &fs_list, &ml); ++ Scr.StdFont.font = fs_list[0]; ++ fset_extents = XExtentsOfFontSet(Scr.StdFont.fontset); ++ Scr.StdFont.height = fset_extents->max_logical_extent.height; ++ Scr.StdFont.y = Scr.StdFont.font->ascent; ++ Scr.EntryHeight = Scr.StdFont.height + HEIGHT_EXTRA; ++#else + if ((Scr.StdFont.font = XLoadQueryFont(dpy, Scr.StdFont.name)) == NULL) + { + nofont(Scr.StdFont.name); +@@ -821,8 +876,23 @@ + Scr.StdFont.height = Scr.StdFont.font->ascent + Scr.StdFont.font->descent; + Scr.StdFont.y = Scr.StdFont.font->ascent; + Scr.EntryHeight = Scr.StdFont.height + HEIGHT_EXTRA; ++#endif + + /* load the window-title font */ ++#ifdef I18N ++ if ((Scr.WindowFont.fontset = XCreateFontSet(dpy, Scr.WindowFont.name, &ml, ++ &mc, &ds)) == NULL) { ++ nofont(Scr.WindowFont.name); ++ if ((Scr.WindowFont.fontset = XCreateFontSet(dpy, "fixed", ++ &ml, &mc, &ds)) == NULL) ++ exit(1); ++ } ++ XFontsOfFontSet(Scr.WindowFont.fontset, &fs_list, &ml); ++ Scr.WindowFont.font = fs_list[0]; ++ fset_extents = XExtentsOfFontSet(Scr.WindowFont.fontset); ++ Scr.WindowFont.height = fset_extents->max_logical_extent.height; ++ Scr.WindowFont.y = Scr.WindowFont.font->ascent; ++#else + if ((Scr.WindowFont.font = XLoadQueryFont(dpy, Scr.WindowFont.name)) == NULL) + { + nofont(Scr.WindowFont.name); +@@ -833,17 +903,29 @@ + Scr.WindowFont.height= + Scr.WindowFont.font->ascent+Scr.WindowFont.font->descent; + Scr.WindowFont.y = Scr.WindowFont.font->ascent; ++#endif + + /* load the pager-label font */ + #ifndef NO_PAGER + if(Scr.PagerFont.name != NULL) + { ++#ifdef I18N ++ if ((Scr.PagerFont.fontset = XCreateFontSet(dpy, Scr.PagerFont.name, &ml, ++ &mc, &ds)) != NULL) { ++ XFontsOfFontSet(Scr.PagerFont.fontset, &fs_list, &ml); ++ Scr.PagerFont.font = fs_list[0]; ++ fset_extents = XExtentsOfFontSet(Scr.PagerFont.fontset); ++ Scr.PagerFont.height = fset_extents->max_logical_extent.height; ++ Scr.PagerFont.y = Scr.PagerFont.font->ascent; ++ } ++#else + if ((Scr.PagerFont.font = XLoadQueryFont(dpy, Scr.PagerFont.name))!=NULL) + { + Scr.PagerFont.height= + Scr.PagerFont.font->ascent+Scr.PagerFont.font->descent; + Scr.PagerFont.y = Scr.PagerFont.font->ascent; + } ++#endif + else + nofont(Scr.PagerFont.name); + } +@@ -852,6 +934,17 @@ + IconFont = &Scr.StdFont; + if(Scr.IconFont.name != NULL) + { ++#ifdef I18N ++ if ((Scr.IconFont.fontset = XCreateFontSet(dpy, Scr.IconFont.name, &ml, ++ &mc, &ds)) != NULL) { ++ XFontsOfFontSet(Scr.IconFont.fontset, &fs_list, &ml); ++ Scr.IconFont.font = fs_list[0]; ++ fset_extents = XExtentsOfFontSet(Scr.IconFont.fontset); ++ Scr.IconFont.height = fset_extents->max_logical_extent.height; ++ Scr.IconFont.y = Scr.IconFont.font->ascent; ++ IconFont = &Scr.IconFont; ++ } ++#else + if ((Scr.IconFont.font = XLoadQueryFont(dpy, Scr.IconFont.name))!=NULL) + { + Scr.IconFont.height= +@@ -859,6 +952,7 @@ + Scr.IconFont.y = Scr.IconFont.font->ascent; + IconFont = &Scr.IconFont; + } ++#endif + else + nofont(Scr.IconFont.name); + } +@@ -900,7 +994,7 @@ + mr = NewMenuRoot(name); + GetColors(); + +- while(isspace(*pline))pline++; ++ while(isspace((unsigned char)*pline))pline++; + while((pline != (char *)0) + &&(mystrncasecmp("End",pline,3)!=0)) + { +@@ -933,7 +1027,7 @@ + + orig_tline = pline; + +- while(isspace(*pline))pline++; ++ while(isspace((unsigned char)*pline))pline++; + } + MakeMenu(mr); + +@@ -1613,11 +1707,11 @@ + char *tmp,*ptr; + int len; + +- while(isspace(*source)) ++ while(isspace((unsigned char)*source)) + source++; + len = strlen(source); + tmp = source + len -1; +- while(((isspace(*tmp))||(*tmp == '\n'))&&(tmp >=source)) ++ while(((isspace((unsigned char)*tmp))||(*tmp == '\n'))&&(tmp >=source)) + { + tmp--; + len--; +@@ -2123,6 +2217,9 @@ + #endif + #ifdef NO_SAVEUNDERS + strcat(options, "NO_SAVEUNDERS "); ++#endif ++#ifdef I18N ++ strcat(options, "I18N "); + #endif + #ifdef NO_WINDOWLIST + strcat(options, "NO_WINDOWLIST "); +diff -ruN fvwm1-1.24r/fvwm/events.c fvwm1-1.24r-i18n/fvwm/events.c +--- fvwm1-1.24r/fvwm/events.c Tue Nov 15 23:02:39 1994 ++++ fvwm1-1.24r-i18n/fvwm/events.c Mon Mar 13 14:44:19 2000 +@@ -365,6 +365,11 @@ + Atom actual = None; + int actual_format; + unsigned long nitems, bytesafter; ++#ifdef I18N ++ XTextProperty text_prop; ++ char **list; ++ int num; ++#endif + + if ((!Tmp_win)||(XGetGeometry(dpy, Tmp_win->w, &JunkRoot, &JunkX, &JunkY, + &JunkWidth, &JunkHeight, &JunkBW, &JunkDepth) == 0)) +@@ -373,6 +378,24 @@ + switch (Event.xproperty.atom) + { + case XA_WM_NAME: ++#ifdef I18N ++ if (XGetWindowProperty (dpy, Tmp_win->w, Event.xproperty.atom, 0L, ++ MAX_NAME_LEN, False, AnyPropertyType, &actual, ++ &actual_format, &nitems, &bytesafter, ++ (unsigned char **) &prop) != Success || ++ actual == None) ++ return; ++ text_prop.value = prop; ++ text_prop.encoding = actual; ++ text_prop.format = actual_format; ++ text_prop.nitems = nitems; ++ if (XmbTextPropertyToTextList(dpy, &text_prop, &list, &num) != Success) ++ return; ++ if (!(num > 0 && *list)) ++ prop = NoName; ++ else ++ prop = *list; ++#else + if (XGetWindowProperty (dpy, Tmp_win->w, Event.xproperty.atom, 0L, + MAX_NAME_LEN, False, XA_STRING, &actual, + &actual_format, &nitems, &bytesafter, +@@ -380,6 +403,7 @@ + actual == None) + return; + if (!prop) prop = NoName; ++#endif + free_window_names (Tmp_win, True, False); + + Tmp_win->name = prop; +@@ -404,6 +428,24 @@ + break; + + case XA_WM_ICON_NAME: ++#ifdef I18N ++ if (XGetWindowProperty (dpy, Tmp_win->w, Event.xproperty.atom, 0L, ++ MAX_NAME_LEN, False, AnyPropertyType, &actual, ++ &actual_format, &nitems, &bytesafter, ++ (unsigned char **) &prop) != Success || ++ actual == None) ++ return; ++ text_prop.value = prop; ++ text_prop.encoding = actual; ++ text_prop.format = actual_format; ++ text_prop.nitems = nitems; ++ if (XmbTextPropertyToTextList(dpy, &text_prop, &list, &num) != Success) ++ return; ++ if (!(num > 0 && *list)) ++ prop = NoName; ++ else ++ prop = *list; ++#else + if (XGetWindowProperty (dpy, Tmp_win->w, Event.xproperty.atom, 0, + MAX_ICON_NAME_LEN, False, XA_STRING, &actual, + &actual_format, &nitems, &bytesafter, +@@ -411,6 +453,7 @@ + actual == None) + return; + if (!prop) prop = NoName; ++#endif + free_window_names (Tmp_win, False, True); + Tmp_win->icon_name = prop; + BroadcastName(M_ICON_NAME,Tmp_win->w,Tmp_win->frame, +diff -ruN fvwm1-1.24r/fvwm/functions.c fvwm1-1.24r-i18n/fvwm/functions.c +--- fvwm1-1.24r/fvwm/functions.c Tue Nov 15 23:18:26 1994 ++++ fvwm1-1.24r-i18n/fvwm/functions.c Mon Mar 13 14:44:19 2000 +@@ -464,6 +464,8 @@ + if((tmp_win->icon_name != NULL)&&(Scr.PagerFont.height > 0)) + { + NewFontAndColor(Scr.PagerFont.font->fid,TextColor,BackColor); ++#undef FONTSET ++#define FONTSET Scr.PagerFont.fontset + XDrawString (dpy, tmp_win->pager_view,Scr.FontGC,2,Scr.PagerFont.y+2, + tmp_win->icon_name, strlen(tmp_win->icon_name)); + } +diff -ruN fvwm1-1.24r/fvwm/fvwm.c fvwm1-1.24r-i18n/fvwm/fvwm.c +--- fvwm1-1.24r/fvwm/fvwm.c Mon Mar 13 14:45:08 2000 ++++ fvwm1-1.24r-i18n/fvwm/fvwm.c Mon Mar 13 14:44:19 2000 +@@ -56,6 +56,10 @@ + #include + #endif /* SHAPE */ + ++#ifdef I18N ++#include ++#endif ++ + #if defined (sparc) && defined (SVR4) + /* Solaris has sysinfo instead of gethostname. */ + #include +@@ -151,6 +155,11 @@ + + Bool single = False; + Bool option_error = FALSE; ++ ++#ifdef I18N ++ if (setlocale(LC_CTYPE, "") == NULL) ++ fvwm_err("can't set locale", NULL, NULL, NULL); ++#endif + + #ifdef M4 + /* Set the defaults for m4 processing */ +diff -ruN fvwm1-1.24r/fvwm/fvwm.h fvwm1-1.24r-i18n/fvwm/fvwm.h +--- fvwm1-1.24r/fvwm/fvwm.h Tue Nov 15 23:02:56 1994 ++++ fvwm1-1.24r-i18n/fvwm/fvwm.h Mon Mar 13 14:44:19 2000 +@@ -109,6 +109,9 @@ + { + char *name; /* name of the font */ + XFontStruct *font; /* font structure */ ++#ifdef I18N ++ XFontSet fontset; /* font set */ ++#endif + int height; /* height of the font */ + int y; /* Y coordinate to draw characters */ + } MyFont; +@@ -281,7 +284,6 @@ + extern Atom _XA_WM_DESKTOP; + extern Atom _XA_FVWM_STICKS_TO_GLASS; + extern Atom _XA_FVWM_CLIENT; +- + #endif /* _FVWM_ */ + + +diff -ruN fvwm1-1.24r/fvwm/icons.c fvwm1-1.24r-i18n/fvwm/icons.c +--- fvwm1-1.24r/fvwm/icons.c Tue Nov 15 23:03:29 1994 ++++ fvwm1-1.24r-i18n/fvwm/icons.c Mon Mar 13 14:44:19 2000 +@@ -276,6 +276,8 @@ + + /* write the icon label */ + NewFontAndColor(IconFont->font->fid,TextColor,BackColor); ++#undef FONTSET ++#define FONTSET IconFont->fontset + + if(Tmp_win->icon_pixmap_w != None) + XMoveWindow(dpy,Tmp_win->icon_pixmap_w,Tmp_win->icon_x_loc, +diff -ruN fvwm1-1.24r/fvwm/menus.c fvwm1-1.24r-i18n/fvwm/menus.c +--- fvwm1-1.24r/fvwm/menus.c Tue Nov 15 23:03:34 1994 ++++ fvwm1-1.24r-i18n/fvwm/menus.c Mon Mar 13 14:44:19 2000 +@@ -267,6 +267,8 @@ + /* should be a shaded out word, no just re-colored. */ + currentGC = Scr.MenuStippleGC; + ++#undef FONTSET ++#define FONTSET Scr.StdFont.fontset + if(*mi->item) + XDrawString(dpy, mr->w, currentGC,mi->x,text_y, mi->item, mi->strlen); + if(mi->strlen2>0) +diff -ruN fvwm1-1.24r/fvwm/misc.h fvwm1-1.24r-i18n/fvwm/misc.h +--- fvwm1-1.24r/fvwm/misc.h Thu Sep 29 23:46:25 1994 ++++ fvwm1-1.24r-i18n/fvwm/misc.h Mon Mar 13 14:44:19 2000 +@@ -99,6 +99,15 @@ + Globalgcm = GCFont | GCForeground | GCBackground; \ + XChangeGC(dpy,Scr.FontGC,Globalgcm,&Globalgcv); \ + } ++#ifdef I18N ++#ifdef __STDC__ ++#define XTextWidth(x,y,z) XmbTextEscapement(x ## set,y,z) ++#else ++#define XTextWidth(x,y,z) XmbTextEscapement(x/**/set,y,z) ++#endif ++#define XDrawString(t,u,v,w,x,y,z) XmbDrawString(t,u,FONTSET,v,w,x,y,z) ++#define XDrawImageString(t,u,v,w,x,y,z) XmbDrawImageString(t,u,FONTSET,v,w,x,y,z) ++#endif + + #ifdef NO_ICONS + #define ICON_HEIGHT 1 +diff -ruN fvwm1-1.24r/fvwm/module.c fvwm1-1.24r-i18n/fvwm/module.c +--- fvwm1-1.24r/fvwm/module.c Thu Dec 1 02:35:43 1994 ++++ fvwm1-1.24r-i18n/fvwm/module.c Mon Mar 13 14:44:19 2000 +@@ -107,11 +107,11 @@ + strcpy(command,action); + + cptr = command; +- while((isspace(*cptr))&&(*cptr != '\n')&&(*cptr != 0)) ++ while((isspace((unsigned char)*cptr))&&(*cptr != '\n')&&(*cptr != 0)) + cptr++; + + end = cptr; +- while((!(isspace(*end))&&(*end != '\n'))&&(*end != 0)&&(end <(command+256))) ++ while((!(isspace((unsigned char)*end))&&(*end != '\n'))&&(*end != 0)&&(end <(command+256))) + end++; + + if((*end == 0)||(end >= command+256)) +@@ -122,7 +122,7 @@ + + if(aptr) + { +- while((isspace(*aptr)||(*aptr=='\n'))&&(*aptr!=0)&&(aptr<(command+256))) ++ while((isspace((unsigned char)*aptr)||(*aptr=='\n'))&&(*aptr!=0)&&(aptr<(command+256))) + aptr++; + if((*aptr == 0)||(*aptr == '\n')) + aptr = NULL; +diff -ruN fvwm1-1.24r/fvwm/move.c fvwm1-1.24r-i18n/fvwm/move.c +--- fvwm1-1.24r/fvwm/move.c Tue Nov 15 23:03:50 1994 ++++ fvwm1-1.24r-i18n/fvwm/move.c Mon Mar 13 14:44:19 2000 +@@ -335,6 +335,8 @@ + + offset = (Scr.SizeStringWidth + SIZE_HINDENT*2 + - XTextWidth(Scr.StdFont.font,str,strlen(str)))/2; ++#undef FONTSET ++#define FONTSET Scr.StdFont.fontset + XDrawString (dpy, Scr.SizeWindow, Scr.NormalGC, + offset, + Scr.StdFont.font->ascent + SIZE_VINDENT, +diff -ruN fvwm1-1.24r/fvwm/pager.c fvwm1-1.24r-i18n/fvwm/pager.c +--- fvwm1-1.24r/fvwm/pager.c Mon Mar 13 14:45:08 2000 ++++ fvwm1-1.24r-i18n/fvwm/pager.c Mon Mar 13 14:44:19 2000 +@@ -70,6 +70,8 @@ + TextColor = Scr.HiColors.fore; + BackColor = Scr.HiColors.back; + NewFontAndColor(Scr.PagerFont.font->fid,TextColor,BackColor); ++#undef FONTSET ++#define FONTSET Scr.PagerFont.fontset + flush_expose(Scr.Hilite->pager_view); + XDrawImageString (dpy, Scr.Hilite->pager_view, Scr.FontGC, + 2,Scr.PagerFont.y+2, +diff -ruN fvwm1-1.24r/fvwm/resize.c fvwm1-1.24r-i18n/fvwm/resize.c +--- fvwm1-1.24r/fvwm/resize.c Tue Nov 15 23:04:09 1994 ++++ fvwm1-1.24r-i18n/fvwm/resize.c Mon Mar 13 14:44:19 2000 +@@ -455,6 +455,8 @@ + Scr.StdFont.height,False); + } + ++#undef FONTSET ++#define FONTSET Scr.StdFont.fontset + XDrawString (dpy, Scr.SizeWindow, Scr.NormalGC, + offset, Scr.StdFont.font->ascent + SIZE_VINDENT, str, 13); + +diff -ruN fvwm1-1.24r/fvwm/style.c fvwm1-1.24r-i18n/fvwm/style.c +--- fvwm1-1.24r/fvwm/style.c Tue Nov 15 23:04:17 1994 ++++ fvwm1-1.24r-i18n/fvwm/style.c Mon Mar 13 14:44:19 2000 +@@ -53,11 +53,11 @@ + if(restofline == NULL)return; + while((*restofline != 0)&&(*restofline != '\n')) + { +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + if(mystrncasecmp(restofline,"ICON",4)==0) + { + restofline +=4; +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + tmp = restofline; + len = 0; + while((tmp != NULL)&&(*tmp != 0)&&(*tmp != ',')&&(*tmp != '\n')) +@@ -80,11 +80,11 @@ + if(mystrncasecmp(restofline,"COLOR",5)==0) + { + restofline +=5; +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + tmp = restofline; + len = 0; + while((tmp != NULL)&&(*tmp != 0)&&(*tmp != ',')&& +- (*tmp != '\n')&&(*tmp != '/')&&(!isspace(*tmp))) ++ (*tmp != '\n')&&(*tmp != '/')&&(!isspace((unsigned char)*tmp))) + { + tmp++; + len++; +@@ -97,15 +97,15 @@ + off_flags |= FORE_COLOR_FLAG; + } + +- while(isspace(*tmp))tmp++; ++ while(isspace((unsigned char)*tmp))tmp++; + if(*tmp == '/') + { + tmp++; +- while(isspace(*tmp))tmp++; ++ while(isspace((unsigned char)*tmp))tmp++; + restofline = tmp; + len = 0; + while((tmp != NULL)&&(*tmp != 0)&&(*tmp != ',')&& +- (*tmp != '\n')&&(*tmp != '/')&&(!isspace(*tmp))) ++ (*tmp != '\n')&&(*tmp != '/')&&(!isspace((unsigned char)*tmp))) + { + tmp++; + len++; +@@ -123,11 +123,11 @@ + if(mystrncasecmp(restofline,"FORECOLOR",9)==0) + { + restofline +=9; +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + tmp = restofline; + len = 0; + while((tmp != NULL)&&(*tmp != 0)&&(*tmp != ',')&& +- (*tmp != '\n')&&(*tmp != '/')&&(!isspace(*tmp))) ++ (*tmp != '\n')&&(*tmp != '/')&&(!isspace((unsigned char)*tmp))) + { + tmp++; + len++; +@@ -145,11 +145,11 @@ + if(mystrncasecmp(restofline,"BACKCOLOR",9)==0) + { + restofline +=9; +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + tmp = restofline; + len = 0; + while((tmp != NULL)&&(*tmp != 0)&&(*tmp != ',')&& +- (*tmp != '\n')&&(*tmp != '/')&&(!isspace(*tmp))) ++ (*tmp != '\n')&&(*tmp != '/')&&(!isspace((unsigned char)*tmp))) + { + tmp++; + len++; +@@ -203,11 +203,11 @@ + restofline +=8; + + sscanf(restofline,"%d",&butt); +- while(isspace(*restofline))restofline++; +- while((!isspace(*restofline))&&(*restofline!= 0)&& ++ while(isspace((unsigned char)*restofline))restofline++; ++ while((!isspace((unsigned char)*restofline))&&(*restofline!= 0)&& + (*restofline != ',')&&(*restofline != '\n')) + restofline++; +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + + off_buttons |= (1<<(butt-1)); + } +@@ -216,11 +216,11 @@ + restofline +=6; + + sscanf(restofline,"%d",&butt); +- while(isspace(*restofline))restofline++; +- while((!isspace(*restofline))&&(*restofline!= 0)&& ++ while(isspace((unsigned char)*restofline))restofline++; ++ while((!isspace((unsigned char)*restofline))&&(*restofline!= 0)&& + (*restofline != ',')&&(*restofline != '\n')) + restofline++; +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + + on_buttons |= (1<<(butt-1)); + } +@@ -279,40 +279,40 @@ + restofline +=11; + off_flags |= BW_FLAG; + sscanf(restofline,"%d",&bw); +- while(isspace(*restofline))restofline++; +- while((!isspace(*restofline))&&(*restofline!= 0)&& ++ while(isspace((unsigned char)*restofline))restofline++; ++ while((!isspace((unsigned char)*restofline))&&(*restofline!= 0)&& + (*restofline != ',')&&(*restofline != '\n')) + restofline++; +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + } + else if(mystrncasecmp(restofline,"HandleWidth",11)==0) + { + restofline +=11; + off_flags |= NOBW_FLAG; + sscanf(restofline,"%d",&nobw); +- while(isspace(*restofline))restofline++; +- while((!isspace(*restofline))&&(*restofline!= 0)&& ++ while(isspace((unsigned char)*restofline))restofline++; ++ while((!isspace((unsigned char)*restofline))&&(*restofline!= 0)&& + (*restofline != ',')&&(*restofline != '\n')) + restofline++; +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + } + else if(mystrncasecmp(restofline,"STARTSONDESK",12)==0) + { + restofline +=12; + off_flags |= STAYSONDESK_FLAG; + sscanf(restofline,"%d",&desknumber); +- while(isspace(*restofline))restofline++; +- while((!isspace(*restofline))&&(*restofline!= 0)&& ++ while(isspace((unsigned char)*restofline))restofline++; ++ while((!isspace((unsigned char)*restofline))&&(*restofline!= 0)&& + (*restofline != ',')&&(*restofline != '\n')) + restofline++; +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + } + else if(mystrncasecmp(restofline,"STARTSANYWHERE",14)==0) + { + restofline +=14; + on_flags |= STAYSONDESK_FLAG; + } +- while(isspace(*restofline))restofline++; ++ while(isspace((unsigned char)*restofline))restofline++; + if(*restofline == ',') + restofline++; + else if((*restofline != 0)&&(*restofline != '\n')) +diff -ruN fvwm1-1.24r/libs/CopyString.c fvwm1-1.24r-i18n/libs/CopyString.c +--- fvwm1-1.24r/libs/CopyString.c Thu Sep 15 05:13:45 1994 ++++ fvwm1-1.24r-i18n/libs/CopyString.c Mon Mar 13 14:44:19 2000 +@@ -12,7 +12,7 @@ + int len; + char *start; + +- while(((isspace(*source))&&(*source != '\n'))&&(*source != 0)) ++ while(((isspace((unsigned char)*source))&&(*source != '\n'))&&(*source != 0)) + { + source++; + } +@@ -25,7 +25,7 @@ + } + + source--; +- while((isspace(*source))&&(*source != 0)&&(len >0)) ++ while((isspace((unsigned char)*source))&&(*source != 0)&&(len >0)) + { + len--; + source--; +diff -ruN fvwm1-1.24r/modules/FvwmBacker/FvwmBacker.c fvwm1-1.24r-i18n/modules/FvwmBacker/FvwmBacker.c +--- fvwm1-1.24r/modules/FvwmBacker/FvwmBacker.c Wed Sep 28 22:37:39 1994 ++++ fvwm1-1.24r-i18n/modules/FvwmBacker/FvwmBacker.c Mon Mar 13 14:44:19 2000 +@@ -311,7 +311,7 @@ + + tline = fgets(line,(sizeof line)-1,ptr); + while(tline != (char *)0) { +- while(isspace(*tline))tline++; ++ while(isspace((unsigned char)*tline))tline++; + if(strlen(tline)>1) { + if(mystrncasecmp(tline,line2,strlen(line2))==0) + AddCommand(&tline[strlen(line2)]); +@@ -329,10 +329,10 @@ + char *temp; + int num; + temp=string; +- while(isspace(*temp)) temp++; ++ while(isspace((unsigned char)*temp)) temp++; + num=atoi(temp); +- while(!isspace(*temp)) temp++; +- while(isspace(*temp)) temp++; ++ while(!isspace((unsigned char)*temp)) temp++; ++ while(isspace((unsigned char)*temp)) temp++; + if (DeskCount<1) { + commands=(Command*)safemalloc((num+1)*sizeof(Command)); + while(DeskCount1)&& + (mystrncasecmp(tline, MyName,strlen(MyName))==0)) + { + sscanf(&tline[strlen(MyName)],"%ld",&period[num_commands]); + if(period[num_commands]>maxperiod) + maxperiod = period[num_commands]; +- while(!isspace(*tline))tline++; +- while(isspace(*tline))tline++; /* points to "time" field */ +- while(!isspace(*tline))tline++; +- while(isspace(*tline))tline++; /* points to "command" field */ ++ while(!isspace((unsigned char)*tline))tline++; ++ while(isspace((unsigned char)*tline))tline++; /* points to "time" field */ ++ while(!isspace((unsigned char)*tline))tline++; ++ while(isspace((unsigned char)*tline))tline++; /* points to "command" field */ + strcpy(command[num_commands],tline); + num_commands++; + } +diff -ruN fvwm1-1.24r/modules/FvwmIconBox/FvwmIconBox.c fvwm1-1.24r-i18n/modules/FvwmIconBox/FvwmIconBox.c +--- fvwm1-1.24r/modules/FvwmIconBox/FvwmIconBox.c Sat Sep 17 00:54:49 1994 ++++ fvwm1-1.24r-i18n/modules/FvwmIconBox/FvwmIconBox.c Mon Mar 13 14:44:20 2000 +@@ -59,12 +59,21 @@ + #define FALSE 0 + #endif + ++#ifdef I18N ++#include ++#endif ++ + #include "FvwmIconBox.h" + #include "../../version.h" + + char *MyName; + + XFontStruct *font; ++#ifdef I18N ++XFontSet fontset; ++#define XTextWidth(x,y,z) XmbTextEscapement(fontset,y,z) ++#define XDrawString(t,u,v,w,x,y,z) XmbDrawString(t,u,fontset,v,w,x,y,z) ++#endif + + Display *dpy; /* which display are we talking to */ + int x_fd,fd_width; +@@ -161,6 +170,10 @@ + char *temp, *s; + char set_mask_mesg[50]; + ++#ifdef I18N ++ setlocale(LC_CTYPE, ""); ++#endif ++ + temp = argv[0]; + + s=strrchr(argv[0], '/'); +@@ -899,11 +912,29 @@ + XGCValues gcv; + unsigned long gcm; + unsigned long mask; ++#ifdef I18N ++ char **ml; ++ int mc; ++ char *ds; ++ XFontStruct **fs_list; ++#endif + + wm_del_win = XInternAtom(dpy,"WM_DELETE_WINDOW",False); + _XA_WM_PROTOCOLS = XInternAtom (dpy, "WM_PROTOCOLS", False); + + /* load the font */ ++#ifdef I18N ++ if ((fontset = XCreateFontSet(dpy, font_string, &ml, &mc, &ds)) == NULL) ++ { ++ if ((fontset = XCreateFontSet(dpy, "fixed", &ml, &mc, &ds)) == NULL) ++ { ++ fprintf(stderr,"%s: No fonts available\n",MyName); ++ exit(1); ++ } ++ } ++ XFontsOfFontSet(fontset, &fs_list, &ml); ++ font = fs_list[0]; ++#else + if ((font = XLoadQueryFont(dpy, font_string)) == NULL) + { + if ((font = XLoadQueryFont(dpy, "fixed")) == NULL) +@@ -912,6 +943,7 @@ + exit(1); + } + }; ++#endif + + if (hidesc == HORIZONTAL) + v_margin -= BAR_WIDTH + MARGIN2 + 4; +@@ -1450,13 +1482,13 @@ + int g_x, g_y, flags; + unsigned width,height; + +- while(isspace(*tline))tline++; ++ while(isspace((unsigned char)*tline))tline++; + + if(strlen(&tline[0])>1){ + if (mystrncasecmp(tline,CatString3("*", MyName, + "Geometry"),Clength+9)==0){ + tmp = &tline[Clength+9]; +- while(((isspace(*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) ++ while(((isspace((unsigned char)*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) + tmp++; + tmp[strlen(tmp)-1] = 0; + flags = XParseGeometry(tmp,&g_x,&g_y,&width,&height); +@@ -1475,7 +1507,7 @@ + } else if (mystrncasecmp(tline,CatString3("*", MyName, + "MaxIconSize"),Clength+12)==0){ + tmp = &tline[Clength+12]; +- while(((isspace(*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) ++ while(((isspace((unsigned char)*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) + tmp++; + tmp[strlen(tmp)-1] = 0; + +@@ -1529,7 +1561,7 @@ + else if (mystrncasecmp(tline,CatString3("*",MyName, + "HideSC"),Clength+7)==0){ + tmp = &tline[Clength+7]; +- while(((isspace(*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) ++ while(((isspace((unsigned char)*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) + tmp++; + if (mystrncasecmp(tmp, "Horizontal", 10) == 0) + hidesc = HORIZONTAL; +@@ -1582,11 +1614,11 @@ + + /* file */ + /* skip spaces */ +- while(isspace(*tline)&&(*tline != '\n')&&(*tline != 0)) ++ while(isspace((unsigned char)*tline)&&(*tline != '\n')&&(*tline != 0)) + tline++; + start = tline; + end = tline; +- while(!isspace(*end)&&(*end != '\n')&&(*end != 0)) ++ while(!isspace((unsigned char)*end)&&(*end != '\n')&&(*end != 0)) + end++; + len = end - start; + ptr = safemalloc(len+1); +@@ -1643,11 +1675,11 @@ + f->mouse = 0; + + /* skip spaces */ +- while(isspace(*tline)&&(*tline != '\n')&&(*tline != 0)) ++ while(isspace((unsigned char)*tline)&&(*tline != '\n')&&(*tline != 0)) + tline++; + start = tline; + end = tline; +- while((!isspace(*end))&&(*end!='\n')&&(*end!=0)) ++ while((!isspace((unsigned char)*end))&&(*end!='\n')&&(*end!=0)) + end++; + if (mystrncasecmp(start, "1", 1) == 0) + f->mouse = Button1; +@@ -1658,11 +1690,11 @@ + /* click or doubleclick */ + tline = end; + /* skip spaces */ +- while(isspace(*tline)&&(*tline != '\n')&&(*tline != 0)) ++ while(isspace((unsigned char)*tline)&&(*tline != '\n')&&(*tline != 0)) + tline++; + start = tline; + end = tline; +- while((!isspace(*end))&&(*end!='\n')&&(*end!=0)) ++ while((!isspace((unsigned char)*end))&&(*end!='\n')&&(*end!=0)) + end++; + if (mystrncasecmp(start, "Click", 5) == 0) + f->type = CLICK; +@@ -1672,13 +1704,13 @@ + /* actions */ + tline = end; + /* skip spaces */ +- while(isspace(*tline)&&(*tline != '\n')&&(*tline != 0)) ++ while(isspace((unsigned char)*tline)&&(*tline != '\n')&&(*tline != 0)) + tline++; + start = tline; + end = tline; + tmp = tline; + while((*tmp!='\n')&&(*tmp!=0)){ +- if (!isspace(*tmp)) ++ if (!isspace((unsigned char)*tmp)) + end = tmp; + tmp++; + } +@@ -1708,11 +1740,11 @@ + KeySym keysym; + + /* skip spaces */ +- while(isspace(*tline)&&(*tline != '\n')&&(*tline != 0)) ++ while(isspace((unsigned char)*tline)&&(*tline != '\n')&&(*tline != 0)) + tline++; + start = tline; + end = tline; +- while((!isspace(*end))&&(*end!='\n')&&(*end!=0)) ++ while((!isspace((unsigned char)*end))&&(*end!='\n')&&(*end!=0)) + end++; + nlen = end - start; + nptr = safemalloc(nlen+1); +@@ -1722,13 +1754,13 @@ + /* actions */ + tline = end; + /* skip spaces */ +- while(isspace(*tline)&&(*tline != '\n')&&(*tline != 0)) ++ while(isspace((unsigned char)*tline)&&(*tline != '\n')&&(*tline != 0)) + tline++; + start = tline; + end = tline; + tmp = tline; + while((*tmp!='\n')&&(*tmp!=0)){ +- if (!isspace(*tmp)) ++ if (!isspace((unsigned char)*tmp)) + end = tmp; + tmp++; + } +diff -ruN fvwm1-1.24r/modules/FvwmIdent/FvwmIdent.c fvwm1-1.24r-i18n/modules/FvwmIdent/FvwmIdent.c +--- fvwm1-1.24r/modules/FvwmIdent/FvwmIdent.c Sat Sep 17 00:07:11 1994 ++++ fvwm1-1.24r-i18n/modules/FvwmIdent/FvwmIdent.c Mon Mar 13 14:44:20 2000 +@@ -34,6 +34,9 @@ + #include + #include + #include ++#ifdef I18N ++#include ++#endif + + #include "../../fvwm/module.h" + #include "FvwmIdent.h" +@@ -59,6 +62,9 @@ + Window main_win; + Window app_win; + XFontStruct *font; ++#ifdef I18N ++XFontSet fontset; ++#endif + + int Width, Height,win_x,win_y; + +@@ -87,6 +93,10 @@ + char *display_name = NULL; + int Clength; + ++#ifdef I18N ++ setlocale(LC_CTYPE, ""); ++#endif ++ + /* Save the program name for error messages and config parsing */ + temp = argv[0]; + s=strrchr(argv[0], '/'); +@@ -140,7 +150,7 @@ + tline = fgets(line,(sizeof line)-1,file); + while(tline != (char *)0) + { +- while(isspace(*tline))tline++; ++ while(isspace((unsigned char)*tline))tline++; + if(strlen(tline)>1) + { + if(mystrncasecmp(tline, CatString3(MyName,"Font",""),Clength+4)==0) +@@ -347,6 +357,12 @@ + int JunkX, JunkY; + unsigned int JunkMask; + int x,y; ++#ifdef I18N ++ char **ml; ++ int mc; ++ char *ds; ++ XFontStruct **fs_list; ++#endif + + if(!found) + { +@@ -358,11 +374,20 @@ + close(fd[1]); + + /* load the font */ ++#ifdef I18N ++ if ((fontset = XCreateFontSet(dpy, font_string, &ml, &mc, &ds)) == NULL) { ++ if ((fontset = XCreateFontSet(dpy, "fixed", &ml, &mc, &ds)) == NULL) ++ exit(1); ++ } ++ XFontsOfFontSet(fontset, &fs_list, &ml); ++ font = fs_list[0]; ++#else + if ((font = XLoadQueryFont(dpy, font_string)) == NULL) + { + if ((font = XLoadQueryFont(dpy, "fixed")) == NULL) + exit(1); + }; ++#endif + + /* make window infomation list */ + MakeList(); +diff -ruN fvwm1-1.24r/modules/FvwmIdent/FvwmIdent.h fvwm1-1.24r-i18n/modules/FvwmIdent/FvwmIdent.h +--- fvwm1-1.24r/modules/FvwmIdent/FvwmIdent.h Wed Sep 14 03:25:16 1994 ++++ fvwm1-1.24r-i18n/modules/FvwmIdent/FvwmIdent.h Mon Mar 13 14:44:20 2000 +@@ -64,6 +64,11 @@ + void list_res_name(unsigned long *body); + void list_end(void); + ++#ifdef I18N ++#define XTextWidth(x,y,z) XmbTextEscapement(fontset,y,z) ++#define XDrawString(t,u,v,w,x,y,z) XmbDrawString(t,u,fontset,v,w,x,y,z) ++#endif ++ + #ifdef BROKEN_SUN_HEADERS + #include "../../fvwm/sun_headers.h" + #endif +diff -ruN fvwm1-1.24r/modules/FvwmPager/FvwmPager.c fvwm1-1.24r-i18n/modules/FvwmPager/FvwmPager.c +--- fvwm1-1.24r/modules/FvwmPager/FvwmPager.c Fri Oct 7 21:49:26 1994 ++++ fvwm1-1.24r-i18n/modules/FvwmPager/FvwmPager.c Mon Mar 13 14:44:20 2000 +@@ -34,6 +34,9 @@ + #include + #include + #include ++#ifdef I18N ++#include ++#endif + + #include "../../fvwm/module.h" + +@@ -90,6 +93,9 @@ + char line[100]; + char mask_mesg[50]; + ++#ifdef I18N ++ setlocale(LC_CTYPE, ""); ++#endif + /* Save our program name - for error messages */ + temp = argv[0]; + s=strrchr(argv[0], '/'); +@@ -122,10 +128,10 @@ + fd_width = GetFdWidth(); + + cptr = argv[6]; +- while((isspace(*cptr))&&(*cptr != 0))cptr++; ++ while((isspace((unsigned char)*cptr & 0xff))&&(*cptr != 0))cptr++; + desk1 = atoi(cptr); +- while(!(isspace(*cptr))&&(*cptr != 0))cptr++; +- while((isspace(*cptr))&&(*cptr != 0))cptr++; ++ while(!(isspace((unsigned char)*cptr & 0xff))&&(*cptr != 0))cptr++; ++ while((isspace((unsigned char)*cptr & 0xff))&&(*cptr != 0))cptr++; + desk2 = atoi(cptr); + if(desk2 < desk1) + { +@@ -802,13 +808,13 @@ + int g_x, g_y, flags; + unsigned width,height; + +- while(isspace(*tline))tline++; ++ while(isspace((unsigned char)*tline & 0xff))tline++; + + if((strlen(&tline[0])>1)&& + (mystrncasecmp(tline, CatString3("*", MyName, "Geometry"),Clength+9)==0)) + { + tmp = &tline[Clength+9]; +- while(((isspace(*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) ++ while(((isspace((unsigned char)*tmp & 0xff))&&(*tmp != '\n'))&&(*tmp != 0)) + { + tmp++; + } +@@ -835,7 +841,7 @@ + Clength+13)==0)) + { + tmp = &tline[Clength+13]; +- while(((isspace(*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) ++ while(((isspace((unsigned char)*tmp & 0xff))&&(*tmp != '\n'))&&(*tmp != 0)) + { + tmp++; + } +@@ -863,8 +869,8 @@ + if((desk >= desk1)&&(desk <=desk2)) + { + n = 0; +- while(isspace(tline[Clength+6+n]))n++; +- while(!isspace(tline[Clength+6+n]))n++; ++ while(isspace((unsigned char)tline[Clength+6+n] & 0xff))n++; ++ while(!isspace((unsigned char)tline[Clength+6+n] & 0xff))n++; + free(Desks[desk - desk1].label); + CopyString(&Desks[desk - desk1].label,&tline[Clength+6+n]); + } +diff -ruN fvwm1-1.24r/modules/FvwmPager/x_pager.c fvwm1-1.24r-i18n/modules/FvwmPager/x_pager.c +--- fvwm1-1.24r/modules/FvwmPager/x_pager.c Tue Nov 15 23:08:38 1994 ++++ fvwm1-1.24r-i18n/modules/FvwmPager/x_pager.c Mon Mar 13 14:44:20 2000 +@@ -32,6 +32,16 @@ + extern int StartIconic; + extern int icon_w, icon_h, icon_x, icon_y; + XFontStruct *font, *windowFont; ++#ifdef I18N ++XFontSet fontset, windowFontset; ++#ifdef __STDC__ ++#define XTextWidth(x,y,z) XmbTextEscapement(x ## set,y,z) ++#else ++#define XTextWidth(x,y,z) XmbTextEscapement(x/**/set,y,z) ++#endif ++#define XDrawString(t,u,v,w,x,y,z) XmbDrawString(t,u,FONTSET,v,w,x,y,z) ++#define XDrawImageString(t,u,v,w,x,y,z) XmbDrawImageString(t,u,FONTSET,v,w,x,y,z) ++#endif + + GC NormalGC,HiliteGC,rvGC; + GC StdGC, FocusGC; +@@ -108,6 +118,12 @@ + XGCValues gcv; + unsigned long gcm; + XClassHint class1; ++#ifdef I18N ++ char **ml; ++ int mc; ++ char *ds; ++ XFontStruct **fs_list; ++#endif + + XSetErrorHandler((XErrorHandler)FvwmErrorHandler); + wm_del_win = XInternAtom(dpy,"WM_DELETE_WINDOW",False); +@@ -116,6 +132,18 @@ + m = Scr.VyMax/Scr.MyDisplayHeight; + + /* load the font */ ++#ifdef I18N ++ if ((fontset = XCreateFontSet(dpy, font_string, &ml, &mc, &ds)) == NULL) ++ { ++ if ((fontset = XCreateFontSet(dpy, "fixed", &ml, &mc, &ds)) == NULL) ++ { ++ fprintf(stderr,"%s: No fonts available\n",MyName); ++ exit(1); ++ } ++ } ++ XFontsOfFontSet(fontset, &fs_list, &ml); ++ font = fs_list[0]; ++#else + if ((font = XLoadQueryFont(dpy, font_string)) == NULL) + { + if ((font = XLoadQueryFont(dpy, "fixed")) == NULL) +@@ -124,18 +152,36 @@ + exit(1); + } + }; ++#endif ++ + if(uselabel) + label_h = font->ascent + font->descent+2; + else + label_h = 0; + +- ++#ifdef I18N ++ if(smallFont != NULL) ++ { ++ windowFontset = XCreateFontSet(dpy, smallFont, &ml, &mc, &ds); ++ if (windowFontset != NULL) ++ { ++ XFontsOfFontSet(windowFontset, &fs_list, &ml); ++ windowFont = fs_list[0]; ++ } ++ } ++ else ++ { ++ windowFontset = NULL; ++ windowFont = NULL; ++ } ++#else + if(smallFont!= NULL) + { + windowFont= XLoadQueryFont(dpy, smallFont); + } + else + windowFont= NULL; ++#endif + + /* Load the colors */ + fore_pix = GetColor(PagerFore); +@@ -622,6 +668,9 @@ + { + int n1,m1,x,y,n,m,i; + XTextProperty name; ++#ifdef I18N ++ int ret; ++#endif + char str[100],*sptr; + static int icon_desk_shown = -1000; + +@@ -658,11 +707,22 @@ + sprintf(str,"Desk %d",Scr.CurrentDesk); + sptr = &str[0]; + } ++#ifdef I18N ++ if ((ret = XmbTextListToTextProperty(dpy,&sptr,1,XStdICCTextStyle,&name)) ++ == XNoMemory) ++ { ++ fprintf(stderr,"%s: cannot allocate window name",MyName); ++ return; ++ } ++ else if (ret != Success) ++ return; ++#else + if (XStringListToTextProperty(&sptr,1,&name) == 0) + { + fprintf(stderr,"%s: cannot allocate window name",MyName); + return; + } ++#endif + XSetWMIconName(dpy,Scr.Pager_w,&name); + } + } +@@ -773,6 +833,8 @@ + if((w<= desk_w)&&(uselabel)) + { + hor_off = (desk_w -w)/2; ++#undef FONTSET ++#define FONTSET fontset + if(i == (Scr.CurrentDesk - desk1)) + XDrawString (dpy, Desks[i].title_w,rvGC,hor_off,font->ascent +1 , + ptr, strlen(ptr)); +@@ -1455,6 +1517,8 @@ + Globalgcm = GCForeground|GCBackground; + XChangeGC(dpy, StdGC,Globalgcm,&Globalgcv); + } ++#undef FONTSET ++#define FONTSET windowFontset + if(t->PagerView != None) + { + XClearWindow(dpy, t->PagerView); +@@ -1493,6 +1557,8 @@ + + } + XClearWindow(dpy, t->IconView); ++#undef FONTSET ++#define FONTSET windowFontset + XDrawImageString (dpy, t->IconView,tgc,2,windowFont->ascent+2 , + t->icon_name, strlen(t->icon_name)); + +diff -ruN fvwm1-1.24r/modules/FvwmSave/FvwmSave.c fvwm1-1.24r-i18n/modules/FvwmSave/FvwmSave.c +--- fvwm1-1.24r/modules/FvwmSave/FvwmSave.c Sat Sep 17 00:07:40 1994 ++++ fvwm1-1.24r-i18n/modules/FvwmSave/FvwmSave.c Mon Mar 13 14:44:20 2000 +@@ -250,7 +250,7 @@ + + for(i=0;i1) + { + if(mystrncasecmp(tline,CatString3(MyName,"Fore",""), +diff -ruN fvwm1-1.24r/modules/FvwmWinList/ButtonArray.c fvwm1-1.24r-i18n/modules/FvwmWinList/ButtonArray.c +--- fvwm1-1.24r/modules/FvwmWinList/ButtonArray.c Tue May 10 02:08:28 1994 ++++ fvwm1-1.24r-i18n/modules/FvwmWinList/ButtonArray.c Mon Mar 13 14:44:20 2000 +@@ -12,6 +12,8 @@ + * Things to do: Convert to C++ (In Progress) + */ + ++#include "../../configure.h" ++ + #include + #include + #include +@@ -23,7 +25,19 @@ + #define max(a,b) (((a)>(b)) ? (a) : (b)) + #endif + ++#ifdef I18N ++#ifdef __STDC__ ++#define XTextWidth(x,y,z) XmbTextEscapement(x ## set,y,z) ++#else ++#define XTextWidth(x,y,z) XmbTextEscapement(x/**/set,y,z) ++#endif ++#define XDrawString(t,u,v,w,x,y,z) XmbDrawString(t,u,ButtonFontset,v,w,x,y,z) ++#endif ++ + extern XFontStruct *ButtonFont; ++#ifdef I18N ++extern XFontSet ButtonFontset; ++#endif + extern Display *dpy; + extern Window win; + extern GC shadow,hilite,graph; +diff -ruN fvwm1-1.24r/modules/FvwmWinList/FvwmWinList.c fvwm1-1.24r-i18n/modules/FvwmWinList/FvwmWinList.c +--- fvwm1-1.24r/modules/FvwmWinList/FvwmWinList.c Mon Sep 19 21:40:13 1994 ++++ fvwm1-1.24r-i18n/modules/FvwmWinList/FvwmWinList.c Mon Mar 13 14:44:20 2000 +@@ -31,6 +31,15 @@ + #define YES "Yes" + #define NO "No" + ++#ifdef I18N ++#ifdef __STDC__ ++#define XTextWidth(x,y,z) XmbTextEscapement(x ## set,y,z) ++#else ++#define XTextWidth(x,y,z) XmbTextEscapement(x/**/set,y,z) ++#endif ++#define XDrawString(t,u,v,w,x,y,z) XmbDrawString(t,u,ButtonFontset,v,w,x,y,z) ++#endif ++ + #include "../../configure.h" + + #include +@@ -55,6 +64,9 @@ + #include + #include + #include ++#ifdef I18N ++#include ++#endif + + #include "../../fvwm/module.h" + #include "../../version.h" +@@ -81,6 +93,9 @@ + Pixel back, fore; + GC graph,shadow,hilite; + XFontStruct *ButtonFont; ++#ifdef I18N ++XFontSet ButtonFontset; ++#endif + int fontheight; + static Atom wm_del_win; + Atom MwmAtom = None; +@@ -105,6 +120,9 @@ + { + char *temp, *s; + ++#ifdef I18N ++ setlocale(LC_CTYPE, ""); ++#endif + /* Open the console for messages */ + OpenConsole(); + +@@ -392,7 +410,7 @@ + + tline = fgets(line,(sizeof line)-1,ptr); + while(tline != (char *)0) { +- while(isspace(*tline))tline++; ++ while(isspace((unsigned char)*tline))tline++; + if(strlen(tline)>1) { + if(mystrncasecmp(tline, CatString3(Module, "Font",""),Clength+4)==0) + CopyString(&font_string,&tline[Clength+4]); +@@ -575,7 +593,7 @@ + { + char *temp; + temp=string; +- while(isspace(*temp)) temp++; ++ while(isspace((unsigned char)*temp)) temp++; + if(mystrncasecmp(temp, "Click1", 6)==0) + CopyString(&ClickAction[0],&temp[6]); + else if(mystrncasecmp(temp, "Click2", 6)==0) +@@ -711,6 +729,13 @@ + ******************************************************************************/ + void StartMeUp() + { ++#ifdef I18N ++ char **ml; ++ int mc; ++ char *ds; ++ XFontStruct **fs_list; ++#endif ++ + if (!(dpy = XOpenDisplay(""))) { + fprintf(stderr,"%s: can't open display %s", Module, + XDisplayName("")); +@@ -724,9 +749,17 @@ + ScreenHeight = DisplayHeight(dpy,screen); + ScreenWidth = DisplayWidth(dpy,screen); + ++#ifdef I18N ++ if ((ButtonFontset=XCreateFontSet(dpy,font_string,&ml,&mc,&ds)) == NULL) { ++ if ((ButtonFontset=XCreateFontSet(dpy,"fixed",&ml,&mc,&ds)) == NULL) exit(1); ++ } ++ XFontsOfFontSet(ButtonFontset,&fs_list,&ml); ++ ButtonFont = fs_list[0]; ++#else + if ((ButtonFont=XLoadQueryFont(dpy,font_string))==NULL) { + if ((ButtonFont=XLoadQueryFont(dpy,"fixed"))==NULL) exit(1); + } ++#endif + + fontheight=ButtonFont->ascent+ButtonFont->descent; + +diff -ruN fvwm1-1.24r/modules/GoodStuff/GoodStuff.c fvwm1-1.24r-i18n/modules/GoodStuff/GoodStuff.c +--- fvwm1-1.24r/modules/GoodStuff/GoodStuff.c Tue Dec 6 02:39:04 1994 ++++ fvwm1-1.24r-i18n/modules/GoodStuff/GoodStuff.c Mon Mar 13 14:44:20 2000 +@@ -30,6 +30,10 @@ + #include + #include "../../fvwm/module.h" + ++#ifdef I18N ++#include ++#endif ++ + #include + #include + #include +@@ -41,6 +45,30 @@ + char *MyName; + + XFontStruct *font; ++#ifdef I18N ++XFontSet fontset; ++static Status MyXFetchName(dpy, win, winname) ++Display *dpy; ++Window win; ++char **winname; ++{ ++ XTextProperty text; ++ char **list; ++ int nitems; ++ ++ if (XGetWMName(dpy, win, &text)) { ++ if (text.value) ++ text.nitems = strlen(text.value); ++ if (XmbTextPropertyToTextList(dpy, &text, &list, &nitems) == Success && ++ *list) { ++ *winname = *list; ++ return 0; ++ } ++ return 1; ++ } ++} ++#define XFetchName(x,y,z) MyXFetchName(x,y,z) ++#endif + + Display *dpy; /* which display are we talking to */ + int x_fd,fd_width; +@@ -99,6 +127,9 @@ + char set_mask_mesg[50]; + temp = argv[0]; + ++#ifdef I18N ++ setlocale(LC_CTYPE, ""); ++#endif + s=strrchr(argv[0], '/'); + if (s != NULL) + temp = s + 1; +@@ -555,11 +586,30 @@ + XGCValues gcv; + unsigned long gcm; + int actual_buttons_used,first_avail_button,i,j,k; ++#ifdef I18N ++ char **ml; ++ int mc; ++ char *ds; ++ XFontStruct **fs_list; ++#endif ++ + + wm_del_win = XInternAtom(dpy,"WM_DELETE_WINDOW",False); + _XA_WM_PROTOCOLS = XInternAtom (dpy, "WM_PROTOCOLS", False); + + /* load the font */ ++#ifdef I18N ++ if ((fontset = XCreateFontSet(dpy, font_string, &ml, &mc, &ds)) == NULL) ++ { ++ if ((fontset = XCreateFontSet(dpy, "fixed", &ml, &mc, &ds)) == NULL) ++ { ++ fprintf(stderr,"%s: No fonts available\n",MyName); ++ exit(1); ++ } ++ } ++ XFontsOfFontSet(fontset, &fs_list, &ml); ++ font = fs_list[0]; ++#else + if ((font = XLoadQueryFont(dpy, font_string)) == NULL) + { + if ((font = XLoadQueryFont(dpy, "fixed")) == NULL) +@@ -568,6 +618,7 @@ + exit(1); + } + }; ++#endif + + /* Allow for multi-width/height buttons */ + actual_buttons_used = 0; +@@ -940,13 +991,13 @@ + int g_x, g_y, flags; + unsigned width,height; + +- while(isspace(*tline))tline++; ++ while(isspace((unsigned char)*tline))tline++; + + if((strlen(&tline[0])>1)&& + (mystrncasecmp(tline,CatString3("*", MyName, "Geometry"),Clength+9)==0)) + { + tmp = &tline[Clength+9]; +- while(((isspace(*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) ++ while(((isspace((unsigned char)*tmp))&&(*tmp != '\n'))&&(*tmp != 0)) + { + tmp++; + } +@@ -1024,7 +1075,7 @@ + char *ptr,*start,*end,*tmp; + + /* Get a size argument, if any */ +- while(isspace(*tline)&&(*tline != '\n')&&(*tline != 0)) ++ while(isspace((unsigned char)*tline)&&(*tline != '\n')&&(*tline != 0)) + tline++; + if( *tline == '(') + { +@@ -1042,7 +1093,7 @@ + } + + /* skip spaces */ +- while(isspace(*tline)&&(*tline != '\n')&&(*tline != 0)) ++ while(isspace((unsigned char)*tline)&&(*tline != '\n')&&(*tline != 0)) + tline++; + + /* read next word. Its the button label. Users can specify "" +@@ -1050,7 +1101,7 @@ + /* read to next space */ + start = tline; + end = tline; +- while((!isspace(*end))&&(*end!='\n')&&(*end!=0)) ++ while((!isspace((unsigned char)*end))&&(*end!='\n')&&(*end!=0)) + end++; + len = end - start; + ptr = safemalloc(len+1); +@@ -1063,10 +1114,10 @@ + /* read to next space */ + start = end; + /* skip spaces */ +- while(isspace(*start)&&(*start != '\n')&&(*start != 0)) ++ while(isspace((unsigned char)*start)&&(*start != '\n')&&(*start != 0)) + start++; + end = start; +- while((!isspace(*end))&&(*end!='\n')&&(*end!=0)) ++ while((!isspace((unsigned char)*end))&&(*end!='\n')&&(*end!=0)) + end++; + len = end - start; + ptr = safemalloc(len+1); +@@ -1076,7 +1127,7 @@ + + tline = end; + /* skip spaces */ +- while(isspace(*tline)&&(*tline != '\n')&&(*tline != 0)) ++ while(isspace((unsigned char)*tline)&&(*tline != '\n')&&(*tline != 0)) + tline++; + + if(mystrncasecmp(tline,"swallow",7)==0) +@@ -1099,11 +1150,11 @@ + Buttons[num_buttons].swallow = 1; + } + n = 7; +- while((isspace(tline[n]))&&(tline[n]!=0)) ++ while((isspace((unsigned char)tline[n]))&&(tline[n]!=0)) + n++; + len = strlen(&tline[n]); + tmp = tline + n + len -1; +- while(((isspace(*tmp))||(*tmp == '\n'))&&(tmp >=(tline + n))) ++ while(((isspace((unsigned char)*tmp))||(*tmp == '\n'))&&(tmp >=(tline + n))) + { + tmp--; + len--; +@@ -1127,7 +1178,7 @@ + { + len = strlen(tline); + tmp = tline + len -1; +- while(((isspace(*tmp))||(*tmp == '\n'))&&(tmp >=tline)) ++ while(((isspace((unsigned char)*tmp))||(*tmp == '\n'))&&(tmp >=tline)) + { + tmp--; + len--; +diff -ruN fvwm1-1.24r/modules/GoodStuff/GoodStuff.h fvwm1-1.24r-i18n/modules/GoodStuff/GoodStuff.h +--- fvwm1-1.24r/modules/GoodStuff/GoodStuff.h Thu Sep 15 04:58:12 1994 ++++ fvwm1-1.24r-i18n/modules/GoodStuff/GoodStuff.h Mon Mar 13 14:44:20 2000 +@@ -39,6 +39,11 @@ + extern GC ReliefGC; + extern int ButtonWidth,ButtonHeight; + extern XFontStruct *font; ++#ifdef I18N ++extern XFontSet fontset; ++#define XTextWidth(x,y,z) XmbTextEscapement(fontset,y,z) ++#define XDrawString(t,u,v,w,x,y,z) XmbDrawString(t,u,fontset,v,w,x,y,z) ++#endif + #define MAX_BUTTONS 100 + + struct button_info --- fvwm1-1.24r.orig/debian/lintian-overrides +++ fvwm1-1.24r/debian/lintian-overrides @@ -0,0 +1 @@ +fvwm1: menu-item-needs-tag-has-unknown-value --- fvwm1-1.24r.orig/debian/menu +++ fvwm1-1.24r/debian/menu @@ -0,0 +1,104 @@ +?package(fvwm1):\ + needs="wm"\ + section="Window Managers"\ + title="Fvwm1"\ + longtitle="FVWM Windows manager (version 1.24r)"\ + command="/usr/bin/fvwm1" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmAudio"\ + longtitle="FvwmAudio: bind audio to window actions"\ + command="FvwmAuto 300 raise lower" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmAuto"\ + longtitle="FvwmAuto: autoraise windows with keyboard input focus"\ + command="FvwmAuto 300 raise lower" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmBacker"\ + longtitle="FvwmBacker: change the background when changing desktops"\ + command="FvwmBacker" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmBanner"\ + longtitle="FvwmBanner: display the FVWM logo for 3 seconds"\ + command="FvwmBanner" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmClean"\ + longtitle="FvwmClean: cleans up unused windows"\ + command="FvwmClean" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmDebug"\ + longtitle="FvwmDebug: print lots of debugging info to stderr"\ + command="FvwmDebug" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmIconBox"\ + longtitle="FvwmIconBox: an icon manager"\ + command="FvwmIconBox" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmIdent"\ + longtitle="FvwmIdent: show info about a selected window"\ + command="FvwmIdent" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmPager"\ + longtitle="FvwmPager: virtual desktop manager"\ + command="FvwmPager 0 0" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmSave"\ + longtitle="FvwmSave: save desktop layout to new.xinitrc (pseudo-.xinitrc)"\ + command="FvwmSave" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmSaveDesk"\ + longtitle="FvwmSaveDesk: save desktop layout to .fvwm2desk file"\ + command="FvwmSaveDesk" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmScroll"\ + longtitle="FvwmScroll: add scroll bars to selected window"\ + command="FvwmScroll" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="FvwmWinList"\ + longtitle="FvwmWinList: show a window list for quick navigation"\ + command="FvwmWinList" + +?package(fvwm1):\ + needs="fvwm1module"\ + section="FVWM Modules"\ + title="GoodStuff"\ + longtitle="GoodStuff: display a command button panel"\ + command="GoodStuff" --- fvwm1-1.24r.orig/debian/menu-method +++ fvwm1-1.24r/debian/menu-method @@ -0,0 +1,39 @@ +#!/usr/bin/install-menu +# -*- mode: shell-script; -*- +#I need menu-1.4! +# +#NOTE: the first line of this script _must_ be +# equal to "#!/usr/sbin/install-menu", otherwise update-menus +# will feed this script old-compat-mode data. +# +#More info: /usr/doc/menu/html. +# +compat="menu-1" + +!include menu.h + +compat="menu-2" + +outputencoding="ISO-8859-1"; + +function ex($com)=" Exec \"" title() "\" exec " $com " &\n"; +function mod($var,$com) =" " $var " \"" title() "\" " $com "\n"; + +supported; + fvwm1module= mod("Module", $command); + wm= mod("Restart", $command); + x11fvwm= ex($command); + x11= ex($command); + text= ex(term()); +endsupported; + +startmenu= "Popup \"" $section "\"\n"; +endmenu= "EndPopup\n\n"; +submenutitle=" Popup \"" title() cond_surr(icon(),"%","%") "\" " + $section "\n"; +genmenu= "menudefs1.hook"; +rcfile= "system.fvwmrc"; +examplercfile="system.fvwmrc-menu"; +rootprefix="/etc/X11/fvwm/"; +userprefix=".fvwm/"; +mainmenutitle="DebianMenu"; --- fvwm1-1.24r.orig/debian/postinst +++ fvwm1-1.24r/debian/postinst @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e + +update-alternatives --install /usr/bin/x-window-manager x-window-manager \ + /usr/bin/fvwm1 50 \ + --slave /usr/share/man/man1/x-window-manager.1.gz \ + x-window-manager.1.gz /usr/share/man/man1/fvwm1.1.gz + +update-alternatives --install /usr/bin/fvwm fvwm /usr/bin/fvwm1 100 \ + --slave /usr/share/man/man1/fvwm.1.gz fvwm.1.gz \ + /usr/share/man/man1/fvwm1.1.gz + +#DEBHELPER# + +# What do we do if update-menus doesn't exist? +if [ ! -x /usr/bin/update-menus ]; then + sed -e '/^# The menu system setup (do NOT modify these two lines!)/d' \ + -e '/^include-menu-defs$/d' \ + -e 's/^##Old-Debian //' \ + < /etc/X11/fvwm/system.fvwmrc-menu > /etc/X11/fvwm/system.fvwmrc +fi + +exit 0 --- fvwm1-1.24r.orig/debian/postrm +++ fvwm1-1.24r/debian/postrm @@ -0,0 +1,11 @@ +#! /bin/sh + +set -e + +# Clean up after ourselves + +if [ "$1" = remove ]; then rm -f /etc/X11/fvwm/system.fvwmrc; fi + +#DEBHELPER# + +exit 0 --- fvwm1-1.24r.orig/debian/preinst +++ fvwm1-1.24r/debian/preinst @@ -0,0 +1,18 @@ +#! /bin/bash + +set -e + +#DEBHELPER# + +# /usr/bin/X11 has moved; in sarge it used to point to /usr/X11R6/bin, +# but now it's to /usr/bin. Remove any sym-links in there that we may +# be responsible for so we don't break an etch uprade. + +if [ -x /usr/bin/X11/fvwm1 ] ; then + if [ ! -L /usr/bin/X11 ] || [ `readlink -f /usr/bin/X11`x = "/usr/X11R6/bin"x ] ; then + update-alternatives --remove fvwm /usr/bin/X11/fvwm1 + update-alternatives --remove x-window-manager /usr/bin/X11/fvwm1 + fi +fi + +exit 0 --- fvwm1-1.24r.orig/debian/prerm +++ fvwm1-1.24r/debian/prerm @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +if [ "$1" != "upgrade" ] +then + update-alternatives --remove fvwm /usr/bin/fvwm1 + update-alternatives --remove x-window-manager /usr/bin/fvwm1 +elif dpkg --compare-versions "$2" lt-nl 1.24r-32 +then + # We're downgrading; avoid dpkg prompting about overwriting + # system.fvwmrc + rm -f /etc/X11/fvwm/system.fvwmrc +fi + +#DEBHELPER# + +exit 0 --- fvwm1-1.24r.orig/debian/rules +++ fvwm1-1.24r/debian/rules @@ -0,0 +1,148 @@ +#! /usr/bin/make -f +# Copyright 1999, Julian Gilbey. May be redistributed under the terms +# of the GPL version 2 or later. +# Based on the sample debian/rules, GNU copyright 1997 to 1999 by Joey Hess +# and the original fvwm debian/rules file. +# patch-src technique from Brian Russo + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This is the debhelper compatability version to use. +TMP = debian/fvwm1 + +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) +DEBUGFLAGS := CDEBUGFLAGS=-g CXXDEBUGFLAGS=-g +endif + +# apply any patches +patch-src: + dh_testdir + patch -p1 -N -t -b -z .prepatch < debian/i18n.patch + touch patch-src + +# restore to pre-patch state +unpatch-src: + dh_testdir + -for i in `grep ^--- debian/i18n.patch | \ + sed -e 's/^--- fvwm1-1.24r\/\([^ ]*\)[ ].*$$/\1/'`; \ + do [ -f $$i.prepatch ] && mv -f $$i.prepatch $$i; done + -rm -f `find ./ -maxdepth 10 -xdev -name "*.rej"` + rm -f patch-src + +build: build-arch build-indep +build-arch: build-stamp +build-indep: build-stamp +build-stamp: + +build-stamp: patch-src + dh_testdir + xmkmf + $(MAKE) Makefiles + $(MAKE) $(DEBUGFLAGS) + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + $(MAKE) -f debian/rules unpatch-src + [ ! -f Makefile ] || $(MAKE) clean + -./Cleanme + if [ -f debian/control.suggests ]; then \ + mv debian/control.suggests debian/control; fi + dh_clean + rm -f debian/substvars debian/fvwm1.substvars + +INSTALL = install -o root -g root +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + $(INSTALL) -m 755 fvwm/fvwm $(TMP)/usr/bin/fvwm1 + for file in FvwmAudio FvwmAuto FvwmBacker FvwmBanner FvwmClean \ + FvwmDebug FvwmIconBox FvwmIdent FvwmPager FvwmSave FvwmSaveDesk \ + FvwmScroll FvwmWinList GoodStuff; \ + do \ + $(INSTALL) -m 755 modules/$$file/$$file \ + $(TMP)/usr/lib/fvwm/$$file; \ + done + $(INSTALL) -m 644 debian/README.modules \ + $(TMP)/usr/lib/fvwm/README.modules; +# install -d -g root -m 755 -o root \ +# debian/tmp/usr/X11R6/include/X11/pixmaps +# We don't want to install the icons any more; fvwm2 has them now. +# for file in `ls fvwm_icons/*.xpm | sed s,fvwm_icons/,,`; \ +# do \ +# install -g root -m 644 -o root fvwm_icons/$$file \ +# debian/tmp/usr/X11R6/include/X11/pixmaps/$$file; \ +# done + $(INSTALL) -d -g root -m 755 -o root $(TMP)/usr/share/lintian/overrides + $(INSTALL) -m 644 debian/lintian-overrides \ + $(TMP)/usr/share/lintian/overrides/fvwm1 + $(INSTALL) -d -g root -m 755 -o root $(TMP)/usr/share/xsessions + $(INSTALL) -m 644 debian/Fvwm1.desktop \ + $(TMP)/usr/share/xsessions/Fvwm1.desktop + +# Build architecture-independent files here. +binary-indep: +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install +# Build dependencies should handle this requirement +# dh_testversion 2.0.76 + dh_testdir + dh_testroot +# dh_installdebconf + $(INSTALL) -m 644 debian/system.fvwmrc-menu \ + $(TMP)/etc/X11/fvwm/system.fvwmrc-menu + dh_installdocs fvwm.README + dh_installexamples sample.fvwmrc/* + dh_installmenu +# dh_installwm +# dh_installemacsen +# dh_installpam +# dh_installinit +# dh_installcron +# dh_installmanpages +# Do it manually, as the files have the wrong extensions + $(INSTALL) -m 644 fvwm/fvwm.man $(TMP)/usr/share/man/man1/fvwm1.1 +# xpmroot is in fvwm2 now. +# install -g root -m 644 -o root xpmroot/xpmroot.man \ +# debian/tmp/usr/X11R6/man/man1/xpmroot.1x +# Module manpages + for file in FvwmAudio FvwmAuto FvwmBacker FvwmBanner FvwmClean \ + FvwmDebug FvwmIconBox FvwmIdent FvwmPager FvwmSave FvwmSaveDesk \ + FvwmScroll FvwmWinList GoodStuff; \ + do \ + $(INSTALL) -m 644 modules/$$file/$$file.man \ + $(TMP)/usr/share/man/man1/$${file}1.1; \ + done +# dh_installinfo +# dh_undocumented +# dh_desktop + dh_installchangelogs ChangeLog + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps -XFvwmAudio + dh_shlibdeps -XFvwmAudio -- \ + -dSuggests $(TMP)/usr/lib/fvwm/FvwmAudio \ + -O | sed -e 's/=.*librplay3/=librplay3/' -e 's/,.*//' \ + >> debian/fvwm1.substvars + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install + +# Local variables: +# mode: makefile +# End: --- fvwm1-1.24r.orig/debian/source/format +++ fvwm1-1.24r/debian/source/format @@ -0,0 +1 @@ +1.0 --- fvwm1-1.24r.orig/debian/system.fvwmrc-menu +++ fvwm1-1.24r/debian/system.fvwmrc-menu @@ -0,0 +1,499 @@ +# /etc/X11/fvwm/system.fvwmrc-menu +# WARNING: DO NOT EDIT THIS FILE if you are looking at +# /etc/X11/fvwm/system.fvwmrc. It is automatically generated from +# /etc/X11/fvwm/system.fvwmrc-menu using update-menus. +# +# See update-menus(1) for more details. +# +# Based heavily on system.fvwm, with modifications to bring it in line with +# the previous debian fvwm package. +# +# See the fvwm1(1) manpage for more details. +# +# This file is used if the user's ~/.fvwmrc is not found. +# +# Austin Donnelly +# + +# Unfortunately, order does matter in this file +# The correct order for inserting configurations is: +# 1. Colors +# 2. Assorted configuration paramters such as ClickToFocus, or MWMBorders +# 3. Path setup (ModulePath, PixmapPath, IconPath) +# 4. Style settings, including the default style Style "*" ... +# 5. InitFunction and ResetFunction definitions. +# 6. Other Functions. Functions cannot be forward referenced from +# other functions, but they can be backward referenced. +# 7. Menus definitions. Same caveats about forward referencing +# 8. Key and Mouse Bindings. +# 9. Module options. + +# The order of steps 5, 6, and 7 is not critical, as long as there are +# no forward references to functions or menus. + +# If you get it wrong, the most common problem is that color or font settings +# are ignored + +########################################################################### +# set up the colors +# + +# this is used for the selected window +HiForeColor Black +HiBackColor #5f9ea0 + +# colours for non-selected windows +StdForeColor Black +StdBackColor Grey55 + +# used for the pager +PagerForeColor Black +PagerBackColor #5f9ea0 + +# used for windows that stick to the glass +StickyForeColor Black +StickyBackColor Grey75 + +# Menu colors +MenuForeColor Black +MenuBackColor #5f9ea0 +MenuStippleColor SlateGrey + +############################################################################ +# Now the fonts - one for menus, another for window titles, another for icons +# The menu font +Font -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-* +# The font used in the window title bars. +WindowFont -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* +# Font used to title icons with +IconFont -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* + +########################################################################### +# Set up the major operating modes +# +######################## FOCUS STUFF ############################## +# Set windows to auto-raise after 750 milliseconds if you like it. +# Autoraise can sometimes obscure pop-up windows. Performance is now +# similar to olvwm's auto-raise feature. +#AutoRaise 750 + +# Normally, we'll be in focus-follows mouse mode, but uncomment this +# for mwm-style click-to-focus +#ClickToFocus + +######################## ICON STUFF ############################## +# Auto Place Icons is a nice feature.... +# Area of screen where icons are dumped (left top right bottom) +# First go along RHS... +IconBox -100 +140 -1 +730 +# ...next go along the bottom: +IconBox +10 -40 +828 -1 + +# If you uncomment this, and make sure that the WindowList is bound to +# something, it works pretty much like an icon manager. +#SuppressIcons + +# StubbornIcons makes icons de-iconify into their original position on the +# desktop, instead of on the current page. +#StubbornIcons + +# With AutoPlacement, icons will normally place themselves underneath active +# windows. This option changes that. +StubbornIconPlacement + +# If you want ALL you icons to follow you around the desktop (Sticky), try +# this +StickyIcons + +######################## MWM EMULATION ####################### +# +# My feeling is that everyone should use MWMDecorHints and MWMFunctionHints, +# since some applications depend on having the window manager respect them + +# MWMFunction hints parses the function information in the MOTIF_WM_HINTS +# property, and prohibits use of these functions on the window. Appropriate +# portions of the window decorations are removed. +MWMFunctionHints + +# MWM is kinda picky about what can be done to transients, and it was keeping +# me from iconifying some windows that I like to iconify, so here's an +# over-ride that will allow me to do the operation, even tough the menu +# item is shaded out. +MWMHintOverride + +# MWMDecor hints parses the decoration information in the MOTIF_WM_HINTS +# property, and removes these decoratons from the window. This does not affect +# the functions that can be performed via the menus. +MWMDecorHints + +# These are affect minor aspects for the look-and-feel. +# Sub-menus placement mwm-style? +MWMMenus +# mwm-style border reliefs (less deep than default fvwm) ? +# MWMBorders +# Maximize button does mwm-inversion thingy +MWMButtons +######################## MISCELLANEOUS STUFF ####################### +# If you don't like the default 150 msec click delay for the complex functions +# change this and uncomment it. +#ClickTime 150 + +# OpaqueMove has a number (N) attached to it (default 5). +# if the window occupies less than N% of the screen, +# then opaque move is used. 0 <= N <= 100 +OpaqueMove 20 + +# flip by whole pages on the edge of the screen. +EdgeScroll 100 100 + +# A modest delay before flipping pages seems to be nice... +# I thresh in a 50 pixel Move-resistance too, just so people +# can try it out. +EdgeResistance 250 50 + + +######################## WINDOW PLACEMENT ####################### +# RandomPlacement prevents user interaction while placing windows: +# RandomPlacement + +# SmartPlacement makes new windows pop-up in blank regions of screen +# if possible, or falls back to random or interactive placement. +SmartPlacement + +# With SmartPlacement, windows will normally place themselves over icons. +# Uncomment this to change that. +#StubbornPlacement + +# NoPPosition instructs fvwm to ignore the PPosition field in window +# geometry hints. Emacs annoyingly sets PPosition to (0,0)! +NoPPosition + + +######################## DECORATIONS ####################### +# If you want decorated transient windows, uncomment this: +#DecorateTransients + + +########################################################################### +# Set up the virtual desktop and pager + +# use the internam pager, rather than the module +Pager 5 5 + +#set the desk top size in units of physical screen size +DeskTopSize 2x2 + +# and the reduction scale used for the panner/pager +DeskTopScale 60 + +########################################################################## +# Module path and paths to the icons +# +# ModulePath is a colon-separated list, just like regular unix PATH +ModulePath /usr/lib/fvwm +PixmapPath /usr/local/share/images:/usr/local/share/icons:/usr/share/images:/usr/share/icons:/usr/share/pixmaps:/usr/include/X11/pixmaps:/usr/include/X11/bitmaps:/usr/X11R6/include/bitmaps +IconPath /usr/local/share/images:/usr/local/share/icons:/usr/share/images:/usr/share/icons:/usr/share/pixmaps:/usr/include/X11/pixmaps:/usr/include/X11/bitmaps:/usr/X11R6/include/bitmaps + +############################################################################ +# Set the decoration styles and window options +# Order is important!!!! +# If compatible styles are set for a single window in multiple Style +# commands, then the styles are ORed together. If conflicting styles +# are set, the last one specified is used. + +# These commands should command before any menus or functions are defined, +# and before the internal pager is started. + +# change the default width. +Style "*" BorderWidth 5, HandleWidth 5, Color Black/#60a0c0,Icon unknown1.xpm + +Style "Fvwm*" NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 0, CirculateSkip +Style "Fvwm Pager" StaysOnTop, BorderWidth 5, Color Black/#5f9ea0 +Style "FvwmPager" StaysOnTop, BorderWidth 5 +Style "FvwmBanner" StaysOnTop +Style "GoodStuff" NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 0 +Style "*lock" NoTitle, NoHandles, Sticky, WindowListSkip +Style "xbiff" NoTitle, Sticky, WindowListSkip, CirculateSkip +Style "xload" NoTitle, Sticky, WindowListSkip, CirculateSkip +Style "rxvt" Icon term.xpm +Style "xterm" Icon xterm.xpm, Color black/grey +Style "xconsole" Icon xterm.xpm +Style "Appointment" Icon datebook.xpm, NoButton 2, NoButton 4 +Style "xclock" NoTitle, Sticky, WindowListSkip, CirculateSkip +Style "xcalc" Icon xcalc.xpm, NoButton 2 +Style "xcal" NoTitle, NoHandles, Sticky, WindowListSkip, CirculateSkip +Style "xmh" Icon mail1.xpm, StartsOnDesk 2, NoButton 2 +Style "Xman" Icon xman.xpm +Style "xvgr" Icon graphs.xpm +Style "matlab" Icon math4.xpm +Style "xmag" Icon mag_glass.xpm +Style "xgraph" Icon graphs.xpm +Style "GoodStuff" Icon toolbox.xpm +Style "emacs" Icon gnu-animal.xpm, Color Black/#f061c709e096 + + + +# Change the Maximize and iconify buttons to up and down triangles. + +ButtonStyle : 2 4 50x35@1 65x65@0 35x65@0 50x35@1 +ButtonStyle : 4 4 50x65@1 35x35@1 65x35@1 50x65@0 + + +############################################################################ +# Now define some handy complex functions + +Function "RaiseLowerOrMove" + Move "motion" + RaiseLower "click" +EndFunction + +Function "RaiseOrMove" + Move "motion" + Raise "click" +EndFunction + +Function "LowerOrMove" + Move "motion" + Lower "click" +EndFunction + +Function "IconifyOrMove" + Move "motion" + Iconify "click" + Iconify "doubleclick" +EndFunction + +Function "DoubleClickIconify" + Iconify "click" + Iconify "doubleclick" +EndFunction + + +############################################################################## +# now define the menus +# + +# The menu system setup (do NOT modify these two lines!) +include-menu-defs + +# Provides a list of modules to fire off +Popup "Module-Popup" + Title "Modules" + Module "GoodStuff" GoodStuff + Module "Clean-Up" FvwmClean + Module "Identify" FvwmIdent + Module "SaveDesktop" FvwmSave + Module "Debug" FvwmDebug + Module "Pager" FvwmPager 0 3 + Module "FvwmWinList" FvwmWinList +EndPopup + +Popup "Fvwm" + Title "Fvwm" + Iconify "Iconify" + Module "Identify" FvwmIdent + Maximize "Maximize" + Move "Move" + Resize "Resize" + Stick "Stick" + Raise "Raise" + Lower "Lower" + Nop "" + Destroy "Kill" + Delete "Delete" + Nop "" + Popup "Modules" Module-Popup + Nop "" + Exec "Screensaver" exec xlock -nolock -mode random & + Exec "Lock screen" exec xlock -mode random & + Nop "" + Refresh "Refresh" + Restart "Restart" fvwm + Quit "Exit fvwm" +EndPopup + +Popup "Window" + Iconify "Iconify" + Maximize "Maximize" + Move "Move" + Resize "Resize" + Stick "Stick" + Raise "Raise" + Lower "Lower" + Nop "" + Destroy "Kill" + Delete "Delete" +EndPopup + +##Old-Debian Popup "/Debian" +##Old-Debian Title "Applications" +##Old-Debian Exec "xterm" exec xterm & +##Old-Debian Nop "" +##Old-Debian Exec "Emacs" exec emacs & +##Old-Debian Exec "Emacs RMAIL" exec emacs -f rmail & +##Old-Debian Exec "Netscape" exec netscape & +##Old-Debian EndPopup + + +############################################################################## +# This defines the mouse bindings + +# First, for the mouse in the root window +# Button 1 gives the Applications menu +# Button 2 gives the Window Ops menu +# Button 3 gives the WindowList (like TwmWindows) +# I use the AnyModifier (A) option for the modifier field, so you can hold down +# any shift-control-whatever combination you want! + +# Button Context Modifi Function +Mouse 1 R A PopUp "/Debian" +Mouse 2 R A PopUp "Fvwm" +Mouse 3 R A WindowList + + +# Now the title bar buttons +# Any button in the left title-bar button gives the window ops menu +# Any button in the right title-bar button Iconifies the window +# Any button in the rightmost title-bar button maximizes +# Note the use of "Mouse 0" for AnyButton. + +# Button Context Modifi Function +Mouse 0 1 N PopUp "Window" +Mouse 0 2 N Maximize +Mouse 0 4 N Iconify + +# Mouse buttons with the Meta (alt) key down always apply, even _inside_ +# the application's window. +# (a) This is a little on the sneaky side: applications will never +# get to see meta mouse clicks - but then I haven't yet found +# one that does respond to them, other than emacs. +# (b) Its a very fast way of working one you get used to it. +Mouse 1 FSTW M Function "RaiseOrMove" +Mouse 2 FSTWI M Iconify +Mouse 3 FSTW M RaiseLower + +# Now the rest of the frame + +# Button 1 in the corner pieces, with any modifiers, gives resize +# 2 in the corner pieces, with any modifiers, gives resize +# 3 in the corner pieces, with any modifiers, will raise or lower it +Mouse 1 F A Resize +Mouse 2 F A Resize +Mouse 3 F A RaiseLower + +# A click of button 1 on any of the sides will resize the window. +# A click of button 2 on any of the sides will resize the window. +# A click of button 3 on any of the sides will raise or lower it. +Mouse 1 S N Resize +Mouse 2 S N Resize +Mouse 3 S N RaiseLower + +# A click of button 1 in the title bar will call "RaiseOrMove". +# A click of button 2 in the title bar will call "LowerOrMove". +# A click of button 3 in the title bar will raise or lower it. +Mouse 1 T N Function "RaiseOrMove" +Mouse 2 T N Function "LowerOrMove" +Mouse 3 T N RaiseLower + +# A click of button 1 on an icon will call "IconifyOrMove". +# A click of button 2 on an icon will call "IconifyOrMove". +# A click of button 3 on an icon will raise or lower it. +Mouse 1 I N Function "IconifyOrMove" +Mouse 2 I N Function "IconifyOrMove" +Mouse 3 I N RaiseLower + + +############################################################################ +# Now some keyboard shortcuts. + +# Arrow Keys +# press arrow + control anywhere, and scroll by 1 page +Key Left A C Scroll -100 0 +Key Right A C Scroll +100 +0 +Key Up A C Scroll +0 -100 +Key Down A C Scroll +0 +100 + +# Keyboard accelerators +#Key F1 A M Popup "/Debian" +#Key F2 A M Popup "Window" +#Key F3 A M Module "WindowList" FvwmWinList +#Key F4 A M Iconify +#Key F5 A M Move +#Key F6 A M Resize +#Key F7 A M CirculateUp +#Key F8 A M CirculateDown + + + + +############################################################################ +############################################################################ +#Definitions used by the modules + +###################### GoodStuff button-bar ################################ +# Colors +*GoodStuffFore Black +*GoodStuffBack #908090 + +# Font +*GoodStuffFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* +# Geometry - really likes to pick its own size, but giving a position is OK +*GoodStuffGeometry -1-1 + +# Layout: specify rows or columns, not both +*GoodStuffRows 2 + +# Define the buttons to use..... +*GoodStuff Kill rbomb.xpm Destroy + +# xterm or rxvts on remote machines can be done like this +# Output re-direction is csh style, not sh style +# You will want to substitute your own hosts here! + +*GoodStuff Dopey rterm.xpm Exec "" rsh dopey "exec xterm -T dopey -display $HOSTDISPLAY &/dev/null & "& +*GoodStuff Grumpy rterm.xpm Exec "" rsh grumpy "exec xterm -T grumpy -display $HOSTDISPLAY &/dev/null & "& +*GoodStuff Snoopy rterm.xpm Exec "" rsh snoopy "exec xterm -T snoopy -display $HOSTDISPLAY &/dev/null & "& +*GoodStuff Xcalc rcalc.xpm Exec "" xcalc & +*GoodStuff mail mail2.xpm Exec "" xmh & + +*GoodStuff Paging clamp.xpm TogglePage +*GoodStuff - clock.xpm Swallow "xclock" xclock -bg \#908090 -geometry -1500-1500 -padding 0 +*GoodStuff(4x1) - whatever SwallowModule "FvwmPager" FvwmPager 0 3 + + +######################### No Clutter ######################################## +# I only wrote NoClutter as a simple test case, but maybe some big sites like +# universities really have usage problems (too many open windows).... +# Time delays are in seconds. +*FvwmNoClutter 3600 Iconify 1 +*FvwmNoClutter 86400 Delete +*FvwmNoClutter 172800 Destroy + +########################## Window-Identifier ############################### +# Just choose colors and a fonts +*FvwmIdentBack MidnightBlue +*FvwmIdentFore Yellow +*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* + +########################### Pager ######################################### +*FvwmPagerBack #908090 +*FvwmPagerFore #484048 +*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* +*FvwmPagerHilight #cab3ca +*FvwmPagerGeometry -1-1 +*FvwmPagerLabel 0 Misc +*FvwmPagerLabel 1 Maker +*FvwmPagerLabel 2 Mail +*FvwmPagerLabel 3 Matlab +*FvwmPagerSmallFont 5x8 + + +##########################FvwmWinList################################## +*FvwmWinListBack #908090 +*FvwmWinListFore Black +*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* +*FvwmWinListAction Click1 Iconify -1,Focus +*FvwmWinListAction Click2 Iconify +*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent +*FvwmWinListUseSkipList +*FvwmWinListGeometry +0-1 --- fvwm1-1.24r.orig/fvwm/Imakefile +++ fvwm1-1.24r/fvwm/Imakefile @@ -10,12 +10,18 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + #ifdef XPM XPMLIB = XPMLIBRARY #endif DEPLIBS = $(DEPXLIB) ../libs/libfvwmlib.a +#ifdef LinuxArchitecture +LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -lfvwmlib -L../libs +#else #ifdef AlphaArchitecture LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -ldnet_stub -L../libs -lfvwmlib #else @@ -25,6 +31,7 @@ LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -lfvwmlib -L../libs #endif /* HPArchitecture */ #endif /* AlphaArchitecture */ +#endif /* LinuxArchitecture */ FVWM_BIN_DIR --- fvwm1-1.24r.orig/fvwm/alpha_header.h +++ fvwm1-1.24r/fvwm/alpha_header.h @@ -3,16 +3,22 @@ * alpha's */ #include #include +#include +#include +#if 0 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); /* string manipulation */ #ifdef __GNUC__ extern size_t strlen(char *); #endif +#endif -extern int bzero(char *, int); -extern int gethostname (char *, int); +/* The following already exist on Debian GNU/Linux alpha systems */ +/* extern int bzero(char *, int); + extern int gethostname (char *, int); +*/ /**************************************************************************/ --- fvwm1-1.24r.orig/fvwm/configure.c +++ fvwm1-1.24r/fvwm/configure.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -385,6 +386,7 @@ #ifdef M4 if (m4_enable) { + extern void atexit_cleanup(void); /* * Process the config file through m4 and save the * results in a temp file. @@ -392,6 +394,7 @@ fvwm_file = m4_defs(dpy, display_name, m4_options, fvwm_file); fclose(config_fd); + atexit(atexit_cleanup); /* we want to blow away /tmp file on quit */ config_fd = fopen(fvwm_file, "r"); @@ -1976,6 +1979,8 @@ char *vc; /* Visual Class */ FILE *tmpf; struct passwd *pwent; + int fd; + /* Generate a temporary filename. Honor the TMPDIR environment variable, if set. Hope nobody deletes this file! */ @@ -1984,15 +1989,21 @@ } else { strcpy(tmp_name, "/tmp"); } - strcat(tmp_name, "/fvwmrcXXXXX"); - mktemp(tmp_name); + strcat(tmp_name, "/fvwmrcXXXXXX"); + vc = mktemp(tmp_name); - if (*tmp_name == '\0') + if (vc == NULL) { perror("mktemp failed in m4_defs"); exit(0377); } + if ((fd = open(tmp_name, O_WRONLY|O_EXCL|O_CREAT, 0600)) < 0) { + perror("exclusive open for tmp_name failed in m4_defs"); + exit(0377); + } + close(fd); + /* * Create the appropriate command line to run m4, and * open a pipe to the command. @@ -2135,6 +2146,7 @@ m4_endquote); pclose(tmpf); + return(tmp_name); } #endif /* M4 */ --- fvwm1-1.24r.orig/fvwm/fvwm.c +++ fvwm1-1.24r/fvwm/fvwm.c @@ -76,6 +76,7 @@ void NoisyExit(int); void ChildDied(int nonsense); void SaveDesktopState(void); +static void cleanup(void); XContext FvwmContext; /* context for fvwm windows */ XContext MenuContext; /* context for fvwm menus */ @@ -111,6 +112,8 @@ char m4_endquote[16]; /* Right quote characters for m4 */ #endif +int cleanupDone=0; /* have we cleaned up yet ? */ + #ifndef NO_PAGER extern Pixel PagerForeColor; #endif @@ -859,17 +862,16 @@ SIGNAL_RETURN; } -void Done(int restart, char *command) +/* called by atexit */ +void atexit_cleanup(void) { -#ifndef NON_VIRTUAL - MoveViewport(0,0,False); -#endif - - /* Close all my pipes */ - ClosePipes(); - - Reborder (); + if (!cleanupDone) + Done(0, NULL); +} +void Done(int restart, char *command) +{ + cleanupDone=1; #ifdef M4 if (m4_enable) { @@ -877,11 +879,20 @@ /* With m4 processing, a temporary file was created to hold the processed file. Delete the file now because we don't need it - any more. It will be created again during restart. */ + any more. It will be created again during restart. */ unlink(fvwm_file); } #endif +#ifndef NON_VIRTUAL + MoveViewport(0,0,False); +#endif + + /* Close all my pipes */ + ClosePipes(); + + Reborder (); + if(restart) { SaveDesktopState(); /* I wonder why ... */ --- fvwm1-1.24r.orig/fvwm/fvwm.man +++ fvwm1-1.24r/fvwm/fvwm.man @@ -14,12 +14,12 @@ .if t .sp .5 .. .ta .3i .6i .9i 1.2i 1.5i 1.8i -.TH FVWM 1.2 "Jan 28, 1994" +.TH FVWM 1 "Jan 28, 1994" .UC .SH NAME -fvwm \- F(?) Virtual Window Manager for X11 +fvwm1 \- F(?) Virtual Window Manager for X11, version 1.x .SH SYNOPSIS -\fBfvwm\fP [ \fIoptions\fP ] +\fBfvwm1\fP [ \fIoptions\fP ] .SH DESCRIPTION \fIFvwm\fP is a window manager for X11. It is a derivative of \fItwm\fP, redesigned @@ -33,6 +33,14 @@ famous, foobar? It doesn't really matter, this is an acronym based society anyway.) +.SH STATUS OF THIS SOFTWARE + +Since the release of FVWM 2.2 in March 1999, this release is +officially deprecated and no longer supported. Please do not report +any bugs in this software. Also, for Debian users, the module +manpages for this release of FVWM will be found as FvwmAudio1(1x) +etc. + .SH SPECIAL NOTE FOR XFREE86 USERS XFree86 provides a virtual screen whose operation can be confusing when used in conjunction with \fIfvwm\fP. With XFree86 all windows @@ -168,7 +176,7 @@ describes key and button bindings, and a few other things. The format of these files will be described later. First, \fIfvwm\fP will search for a file named .fvwmrc in the users home directory. Failing that, it will look for -/usr/lib/X11/fvwm/system.fvwmrc for system-wide defaults. If that file is not +/etc/X11/fvwm/system.fvwmrc for system-wide defaults. If that file is not found, \fIfvwm\fP will exit. \fIFvwm\fP will set two environment variables which will be inherited @@ -1205,7 +1213,7 @@ Color takes two arguments. The first is the window-label text color and the second is the window decoration's normal background color. The two colors are separated with a slash. If the use of a slash -causes problems then the seperate ForeColor and BackColor options +causes problems then the separate ForeColor and BackColor options can be used. An example: @@ -1695,7 +1703,6 @@ Bug reports can be sent to fvwm@wonderland.org. - .SH AUTHOR Robert Nation with help from many people, based on \fItwm\fP code, which was written by Thomas LaStrange. --- fvwm1-1.24r.orig/fvwm/menus.h +++ fvwm1-1.24r/fvwm/menus.h @@ -44,7 +44,7 @@ #define _MENUS_ #define MAX_FILE_SIZE 4096 /* max chars to read from file for cut */ -#define MAXPOPUPS 50 +#define MAXPOPUPS 100 typedef struct MenuItem --- fvwm1-1.24r.orig/fvwm/pager.c +++ fvwm1-1.24r/fvwm/pager.c @@ -22,8 +22,8 @@ extern XEvent Event; -XGCValues Globalgcv; -unsigned long Globalgcm; +extern XGCValues Globalgcv; +extern unsigned long Globalgcm; void DrawPartitionLines(void); FvwmWindow *FindCounterpart(Window target); @@ -76,11 +76,6 @@ Scr.Hilite->icon_name, strlen(Scr.Hilite->icon_name)); } } - - TextColor = Scr.StdColors.fore; - BackColor = Scr.StdColors.back; - NewFontAndColor(Scr.PagerFont.font->fid,TextColor,BackColor); - for (t = Scr.FvwmRoot.next; t != NULL; t = t->next) { @@ -91,6 +86,10 @@ (!(t->flags & ICONIFIED)||(!(Scr.flags & StickyIcons)))&& (t->icon_name != NULL)) { + TextColor = t->TextPixel; + BackColor = t->BackPixel; + NewFontAndColor(Scr.PagerFont.font->fid,TextColor,BackColor); + flush_expose(t->pager_view); XDrawImageString (dpy, t->pager_view, Scr.FontGC, 2,Scr.PagerFont.y+2, --- fvwm1-1.24r.orig/libs/SendInfo.c +++ fvwm1-1.24r/libs/SendInfo.c @@ -1,5 +1,6 @@ #include #include +#include /*********************************************************************** * --- fvwm1-1.24r.orig/libs/SendText.c +++ fvwm1-1.24r/libs/SendText.c @@ -1,5 +1,6 @@ #include #include +#include /************************************************************************ * * Sends arbitrary text to fvwm --- fvwm1-1.24r.orig/libs/hostname.c +++ fvwm1-1.24r/libs/hostname.c @@ -1,4 +1,5 @@ #include "../configure.h" +#include #if HAVE_UNAME /* define mygethostname() by using uname() */ --- fvwm1-1.24r.orig/libs/mystrcasecmp.c +++ fvwm1-1.24r/libs/mystrcasecmp.c @@ -1,6 +1,7 @@ #include #include #include +#include int mystrcasecmp(char *s1,char *s2) { --- fvwm1-1.24r.orig/modules/FvwmAudio/FvwmAudio.c +++ fvwm1-1.24r/modules/FvwmAudio/FvwmAudio.c @@ -138,7 +138,7 @@ RPLAY *rplay_table[MAX_MESSAGES+MAX_BUILTIN]; #endif -main(int argc, char **argv) +int main(int argc, char **argv) { char *temp, *s; @@ -179,6 +179,7 @@ audio_play(BUILTIN_STARTUP); SendText(fd,"Nop",0); Loop(fd); + return 0; } /*********************************************************************** --- fvwm1-1.24r.orig/modules/FvwmAudio/FvwmAudio.man +++ fvwm1-1.24r/modules/FvwmAudio/FvwmAudio.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmAudio.1 3/28/94 -.TH FvwmAudio 1.0 "Mar 28 1994" +.TH FvwmAudio 1 "Mar 28 1994" .UC .SH NAME \fBFvwmAudio\fP \- the FVWM Audio module --- fvwm1-1.24r.orig/modules/FvwmAudio/Imakefile +++ fvwm1-1.24r/modules/FvwmAudio/Imakefile @@ -10,26 +10,32 @@ * are correct for your rplay installation. */ -/* #define HAVE_RPLAY */ +#define HAVE_RPLAY #ifdef HAVE_RPLAY AUDIO_DEFINES = -DHAVE_RPLAY -AUDIO_INCLUDES = -I/usr/local/include -AUDIO_LIBRARIES = -L/usr/local/lib -lrplay +AUDIO_INCLUDES = +AUDIO_LIBRARIES = -lrplay #else AUDIO_DEFINES = AUDIO_INCLUDES = AUDIO_LIBRARIES = #endif +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + + + EXTRA_DEFINES = $(AUDIO_DEFINES) EXTRA_INCLUDES = $(AUDIO_INCLUDES) EXTRA_LIBRARIES = $(AUDIO_LIBRARIES) DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmAuto/FvwmAuto.c +++ fvwm1-1.24r/modules/FvwmAuto/FvwmAuto.c @@ -57,7 +57,7 @@ * main - start of module * ***********************************************************************/ -void main(int argc, char **argv) +int main(int argc, char **argv) { FILE *file; char mask_mesg[80]; @@ -82,6 +82,7 @@ sprintf(mask_mesg,"SET_MASK %lu\n",(unsigned long)(M_FOCUS_CHANGE)); SendInfo(fd,mask_mesg,0); Loop(fd); + return 0; } --- fvwm1-1.24r.orig/modules/FvwmAuto/FvwmAuto.man +++ fvwm1-1.24r/modules/FvwmAuto/FvwmAuto.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmAuto.1 12/1/94 -.TH FvwmAuto 2.0 "Dec 1, 1994" +.TH FvwmAuto 1 "Dec 1, 1994" .UC .SH NAME FvwmAuto \- the FVWM auto-raise module --- fvwm1-1.24r.orig/modules/FvwmAuto/Imakefile +++ fvwm1-1.24r/modules/FvwmAuto/Imakefile @@ -10,10 +10,14 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmBacker/FvwmBacker.man +++ fvwm1-1.24r/modules/FvwmBacker/FvwmBacker.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmBacker.1 11/8/94 -.TH FvwmBacker 0.1 "September 8th, 1994" +.TH FvwmBacker 1 "September 8th, 1994" .UC .SH NAME FvwmBacker \- the FVWM background changer module --- fvwm1-1.24r.orig/modules/FvwmBacker/Imakefile +++ fvwm1-1.24r/modules/FvwmBacker/Imakefile @@ -12,9 +12,13 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmBacker/Mallocs.c +++ fvwm1-1.24r/modules/FvwmBacker/Mallocs.c @@ -18,6 +18,7 @@ * own risk. Permission to use this program for any purpose is given, * as long as the copyright is kept intact. */ +#include "Mallocs.h" #include "../../configure.h" #include #include --- fvwm1-1.24r.orig/modules/FvwmBanner/FvwmBanner.man +++ fvwm1-1.24r/modules/FvwmBanner/FvwmBanner.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmBanner.1 1/12/94 -.TH FvwmBanner 1.20 "Jan 28, 1994" +.TH FvwmBanner 1 "Jan 28, 1994" .UC .SH NAME FvwmBanner \- the FVWM Banner --- fvwm1-1.24r.orig/modules/FvwmBanner/Imakefile +++ fvwm1-1.24r/modules/FvwmBanner/Imakefile @@ -10,12 +10,16 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + #ifdef XPM XPMLIB = XPMLIBRARY DEPLIBS = $(DEPXLIB) -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmClean/FvwmClean.man +++ fvwm1-1.24r/modules/FvwmClean/FvwmClean.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmClean.1 1/12/94 -.TH FvwmClean 1.20 "Jan 28 1994" +.TH FvwmClean 1 "Jan 28 1994" .UC .SH NAME FvwmClean \- the FVWM desktop clutter reduction module --- fvwm1-1.24r.orig/modules/FvwmClean/Imakefile +++ fvwm1-1.24r/modules/FvwmClean/Imakefile @@ -10,10 +10,14 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmDebug/FvwmDebug.c +++ fvwm1-1.24r/modules/FvwmDebug/FvwmDebug.c @@ -36,7 +36,7 @@ * main - start of module * ***********************************************************************/ -void main(int argc, char **argv) +int main(int argc, char **argv) { char *temp, *s; @@ -75,6 +75,7 @@ SendInfo(fd,"Send_WindowList",0); Loop(fd); + return 0; } /*********************************************************************** --- fvwm1-1.24r.orig/modules/FvwmDebug/FvwmDebug.man +++ fvwm1-1.24r/modules/FvwmDebug/FvwmDebug.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmDebug.1 1/28/94 -.TH FvwmDebug 1.20 "Jan 28 1994" +.TH FvwmDebug 1 "Jan 28 1994" .UC .SH NAME FvwmDebug \- the FVWM module debugger --- fvwm1-1.24r.orig/modules/FvwmDebug/Imakefile +++ fvwm1-1.24r/modules/FvwmDebug/Imakefile @@ -10,9 +10,13 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmIconBox/FvwmIconBox.man +++ fvwm1-1.24r/modules/FvwmIconBox/FvwmIconBox.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmIconBox.1 6/20/94 -.TH FvwmIconBox 0.56b "Jun 24 1994" +.TH FvwmIconBox 1 "Jun 24 1994" .UC .SH NAME FvwmIconBox \- the FVWM iconbox module @@ -49,7 +49,7 @@ .IP "*FvwmIconBoxFore \fIcolor\fP" Tells the module to use \fIcolor\fP instead of white for the window foreground. This option affects only the foreground color of -background_bitmap specifed in *FvwmIconBoxPixmap option described +background_bitmap specified in *FvwmIconBoxPixmap option described below. .IP "*FvwmIconBoxBack \fIcolor\fP" --- fvwm1-1.24r.orig/modules/FvwmIconBox/Imakefile +++ fvwm1-1.24r/modules/FvwmIconBox/Imakefile @@ -10,13 +10,17 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + #ifdef XPM XPMLIB = XPMLIBRARY #endif DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmIdent/FvwmIdent.man +++ fvwm1-1.24r/modules/FvwmIdent/FvwmIdent.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmIdent.1 1/12/94 -.TH FvwmIdent 1.20 "Jan 28 1994" +.TH FvwmIdent 1 "Jan 28 1994" .UC .SH NAME FvwmIdent \- the FVWM identify-window module --- fvwm1-1.24r.orig/modules/FvwmIdent/Imakefile +++ fvwm1-1.24r/modules/FvwmIdent/Imakefile @@ -10,9 +10,13 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmPager/FvwmPager.man +++ fvwm1-1.24r/modules/FvwmPager/FvwmPager.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmPager.1 1/12/94 -.TH FvwmPager 1.20 "Mar 16 1994" +.TH FvwmPager 1 "Mar 16 1994" .UC .SH NAME FvwmPager \- the FVWM Pager module --- fvwm1-1.24r.orig/modules/FvwmPager/Imakefile +++ fvwm1-1.24r/modules/FvwmPager/Imakefile @@ -11,9 +11,13 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmSave/FvwmSave.man +++ fvwm1-1.24r/modules/FvwmSave/FvwmSave.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmSave.1 1/28/94 -.TH FvwmSave 1.20 "Jan 28 1994" +.TH FvwmSave 1 "Jan 28 1994" .UC .SH NAME FvwmSave \- the FVWM desktop-layout saving module @@ -11,7 +11,7 @@ When called, this module will attempt to save your current desktop layout into a file called new.xinitrc. Ideally, this file will look just like .xinitrc, but in reality, you will have to edit it to get a -useable configuration, so be sure to keep a backup of your old .xinitrc. +usable configuration, so be sure to keep a backup of your old .xinitrc. Your applications must supply certain hints to the X window system. Emacs, for example, does not, so FvwmSave can't get any --- fvwm1-1.24r.orig/modules/FvwmSave/Imakefile +++ fvwm1-1.24r/modules/FvwmSave/Imakefile @@ -10,9 +10,13 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmSaveDesk/FvwmSaveDesk.man +++ fvwm1-1.24r/modules/FvwmSaveDesk/FvwmSaveDesk.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmSaveDesk.1 6/20/95 -.TH FvwmSaveDesk 1.0 "Jul 20 1995" +.TH FvwmSaveDesk 1 "Jul 20 1995" .UC .SH NAME FvwmSaveDesk \- another FVWM desktop-layout saving module @@ -12,10 +12,10 @@ layout as a fvwm function definition into the file .I .fvwmdesk in your home directory. The function is named -.I StartupFunction -\. This Function can be called in Function +.I StartupFunction. +This Function can be called in Function .I InitFunction -to startup all Programms on all Workspaces. +to startup all Programs on all Workspaces. If fvwm is compiled with the M4 option, you can include this file in .I .fvmrc else you have to insert this file by hand. --- fvwm1-1.24r.orig/modules/FvwmSaveDesk/Imakefile +++ fvwm1-1.24r/modules/FvwmSaveDesk/Imakefile @@ -10,9 +10,13 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmSaveDesk/example/fvwmrc +++ fvwm1-1.24r/modules/FvwmSaveDesk/example/fvwmrc @@ -30,7 +30,7 @@ ButtonStyle 2 50x50 ButtonStyle 4 22x22 -ModulePath /usr/lib/X11/fvwm +ModulePath /usr/lib/fvwm PixmapPath /usr/include/X11/pixmaps IconPath /usr/include/X11/bitmaps --- fvwm1-1.24r.orig/modules/FvwmScroll/FvwmScroll.man +++ fvwm1-1.24r/modules/FvwmScroll/FvwmScroll.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmScroll.1 4/14/94 -.TH FvwmScroll 1.20 "April 14 1994" +.TH FvwmScroll 1 "April 14 1994" .UC .SH NAME FvwmScroll \- the FVWM scroll-bar module --- fvwm1-1.24r.orig/modules/FvwmScroll/GrabWindow.c +++ fvwm1-1.24r/modules/FvwmScroll/GrabWindow.c @@ -38,10 +38,10 @@ #include #include "FvwmScroll.h" -char *MyName; +extern char *MyName; -Display *dpy; /* which display are we talking to */ -int x_fd,fd_width; +extern Display *dpy; /* which display are we talking to */ +extern int x_fd,fd_width; int Width = 300, Height = 300; int target_width, target_height; int target_x_offset = 0, target_y_offset = 0; @@ -55,9 +55,9 @@ #define PAD_WIDTH2 3 #define PAD_WIDTH3 5 -Window Root; -int screen; -int d_depth; +extern Window Root; +extern int screen; +extern int d_depth; Window main_win,holder_win; Pixel back_pix, fore_pix, hilite_pix,shadow_pix; --- fvwm1-1.24r.orig/modules/FvwmScroll/Imakefile +++ fvwm1-1.24r/modules/FvwmScroll/Imakefile @@ -10,9 +10,13 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmWinList/FvwmWinList.man +++ fvwm1-1.24r/modules/FvwmWinList/FvwmWinList.man @@ -1,6 +1,6 @@ .\" t .\" @(#)FvwmWinList.1 5/9/94 -.TH FvwmWinList 0.4g "May 9th, 1994" +.TH FvwmWinList 1 "May 9th, 1994" .UC .SH NAME FvwmWinList \- the FVWM window list module --- fvwm1-1.24r.orig/modules/FvwmWinList/Imakefile +++ fvwm1-1.24r/modules/FvwmWinList/Imakefile @@ -12,9 +12,13 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/modules/FvwmWinList/Mallocs.c +++ fvwm1-1.24r/modules/FvwmWinList/Mallocs.c @@ -18,6 +18,7 @@ * own risk. Permission to use this program for any purpose is given, * as long as the copyright is kept intact. */ +#include "Mallocs.h" #include "../../configure.h" #include #include --- fvwm1-1.24r.orig/modules/GoodStuff/GoodStuff.man +++ fvwm1-1.24r/modules/GoodStuff/GoodStuff.man @@ -1,6 +1,6 @@ .\" t .\" @(#)GoodStuff.1 1/28/94 -.TH GoodStuff 1.20 "Jan 28 1994" +.TH GoodStuff 1 "Jan 28 1994" .UC .SH NAME GoodStuff \- the FVWM button panel module @@ -117,7 +117,7 @@ ############################################################## # Load any modules which should be started during # fvwm initialization -ModulePath /usr/lib/X11/fvwm:/usr/bin/X11 +ModulePath /usr/lib/fvwm:/usr/bin/X11 Module GoodStuff # Make goodstuff title-bar-less, sticky, and give it an icon --- fvwm1-1.24r.orig/modules/GoodStuff/Imakefile +++ fvwm1-1.24r/modules/GoodStuff/Imakefile @@ -10,13 +10,17 @@ COMPILER +CCOPTIONS = $(shell dpkg-buildflags --get CFLAGS) +LOCAL_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) + #ifdef XPM XPMLIB = XPMLIBRARY #endif DEPLIBS = $(DEPXLIB) ../../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -ldnet_stub -L../../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -L../../libs -lfvwmlib --- fvwm1-1.24r.orig/sample.fvwmrc/minimal.fvwmrc +++ fvwm1-1.24r/sample.fvwmrc/minimal.fvwmrc @@ -145,7 +145,7 @@ # Setup paths for icons and modules # # ModulePath is a colon-separated list, just like regular unix PATH -ModulePath /local/homes/dsp/nation/modules:/usr/lib/X11/fvwm +ModulePath /local/homes/dsp/nation/modules:/usr/lib/fvwm # Icon paths IconPath /usr/include/X11/bitmaps/ --- fvwm1-1.24r.orig/sample.fvwmrc/mwm.fvwmrc +++ fvwm1-1.24r/sample.fvwmrc/mwm.fvwmrc @@ -94,7 +94,7 @@ # Assorted paths to important files # # ModulePath is a colon-separated list, just like regular unix PATH -ModulePath /usr/lib/X11/fvwm +ModulePath /usr/lib/fvwm # Pixmap and icon paths are also colon separated lists PixmapPath /usr/include/X11/pixmaps --- fvwm1-1.24r.orig/sample.fvwmrc/system.fvwmrc +++ fvwm1-1.24r/sample.fvwmrc/system.fvwmrc @@ -176,7 +176,7 @@ # Module path and paths to the icons # # ModulePath is a colon-separated list, just like regular unix PATH -ModulePath /usr/lib/X11/fvwm +ModulePath /usr/lib/fvwm PixmapPath /usr/include/X11/pixmaps/ IconPath /usr/include/X11/bitmaps/ --- fvwm1-1.24r.orig/xpmroot/Imakefile +++ fvwm1-1.24r/xpmroot/Imakefile @@ -15,7 +15,8 @@ DEPLIBS = $(DEPXLIB) ../libs/libfvwmlib.a -#ifdef AlphaArchitecture +/* #ifdef AlphaArchitecture */ +#if 0 LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -ldnet_stub -L../libs -lfvwmlib #else LOCAL_LIBRARIES = $(XPMLIB) $(XLIB) -L../libs -lfvwmlib