From 14fdddf2db420ed74cab55d2a01a44f175dcc318 Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Mon, 23 Oct 2006 19:30:19 +0000 Subject: [PATCH 01/57] Initialize branch FC-6 for wmx --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..d5b6362 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +FC-6 From db80549ea7dffb5b08ca0b357956d53bc8fc98fb Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Thu, 15 Nov 2007 01:48:40 +0000 Subject: [PATCH 02/57] wmx updated default menu --- .cvsignore | 2 +- sources | 2 +- wmx-6pl1-64b.patch | 31 ---- wmx-6pl1-cfgbug.patch | 32 ---- ...060602.patch => wmx-6pl1-cvs20071113.patch | 157 ++++++++++++------ wmx.spec | 22 ++- xnodecor.c | 141 ++++++++++++++++ 7 files changed, 263 insertions(+), 124 deletions(-) delete mode 100644 wmx-6pl1-64b.patch delete mode 100644 wmx-6pl1-cfgbug.patch rename wmx-6pl1-cvs20060602.patch => wmx-6pl1-cvs20071113.patch (92%) create mode 100644 xnodecor.c diff --git a/.cvsignore b/.cvsignore index 879b07e..36498b8 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ wmx-6pl1.tar.gz -wmx-defaults.tar.gz +wmx-defaults-1.tar.gz diff --git a/sources b/sources index 185bab4..22294be 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 212297d70acef90bbc9dac254de39cb8 wmx-6pl1.tar.gz -2cf73db613197fcc27304f71e188eb19 wmx-defaults.tar.gz +a5f221d36884276cbf331414d4f2a761 wmx-defaults-1.tar.gz diff --git a/wmx-6pl1-64b.patch b/wmx-6pl1-64b.patch deleted file mode 100644 index 7a81e60..0000000 --- a/wmx-6pl1-64b.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- wmx-6pl1/Client.C.64b 2006-02-16 11:07:31.909626084 -0600 -+++ wmx-6pl1/Client.C 2006-02-16 11:08:02.499956573 -0600 -@@ -663,7 +663,7 @@ - } - - --int Client::getAtomProperty(Atom a, Atom type) -+size_t Client::getAtomProperty(Atom a, Atom type) - { - char **p, *x; - if (getProperty_aux(display(), m_window, a, type, 1L, -@@ -673,7 +673,7 @@ - - x = *p; - XFree((void *)p); -- return (int)x; -+ return (size_t)x; - } - - ---- wmx-6pl1/Client.h.64b 2006-02-16 11:07:37.465322869 -0600 -+++ wmx-6pl1/Client.h 2006-02-16 11:08:19.883007902 -0600 -@@ -184,7 +184,7 @@ - WindowManager *const m_windowManager; - - char *getProperty(Atom); -- int getAtomProperty(Atom, Atom); -+ size_t getAtomProperty(Atom, Atom); - int getIntegerProperty(Atom); - - // accessors diff --git a/wmx-6pl1-cfgbug.patch b/wmx-6pl1-cfgbug.patch deleted file mode 100644 index 2ed40a6..0000000 --- a/wmx-6pl1-cfgbug.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -NarU5 wmx-6pl1.orig/Config.C wmx-6pl1/Config.C ---- wmx-6pl1.orig/Config.C 2006-06-04 14:23:33.000000000 -0400 -+++ wmx-6pl1/Config.C 2006-06-04 14:25:03.000000000 -0400 -@@ -149,13 +149,25 @@ - if (OPTION("off")) m_impl->rightBt = 0; - else if (OPTION("circulate")) m_impl->rightBt = 1; - else if (OPTION("lower")) m_impl->rightBt = 2; - else if (OPTION("toggleheight")) m_impl->rightBt = 4; - -- if (OPTION("tabfg:")) strncpy(m_impl->tabfg, s, COLOR_LEN); -- if (OPTION("tabbg:")) strncpy(m_impl->tabbg, s, COLOR_LEN); -- if (OPTION("framebg:")) strncpy(m_impl->framebg, s, COLOR_LEN); -+ if (OPTION("tabfg:")) { -+ strncpy(m_impl->tabfg, s, COLOR_LEN); -+ m_impl->tabfg[COLOR_LEN-1] = '\0'; // prevent unterminated string -+ s += strlen(m_impl->tabfg); // avoid error message below -+ } -+ if (OPTION("tabbg:")) { -+ strncpy(m_impl->tabbg, s, COLOR_LEN); -+ m_impl->tabbg[COLOR_LEN-1] = '\0'; -+ s += strlen(m_impl->tabbg); -+ } -+ if (OPTION("framebg:")) { -+ strncpy(m_impl->framebg, s, COLOR_LEN); -+ m_impl->framebg[COLOR_LEN-1] = '\0'; -+ s += strlen(m_impl->framebg); -+ } - - if (*s != '\0') { - fprintf(stderr, "\nwmx: Dynamic configuration error: " - "`%s' @ position %d", s, string - s); - } diff --git a/wmx-6pl1-cvs20060602.patch b/wmx-6pl1-cvs20071113.patch similarity index 92% rename from wmx-6pl1-cvs20060602.patch rename to wmx-6pl1-cvs20071113.patch index ee2cf1b..fd48839 100644 --- a/wmx-6pl1-cvs20060602.patch +++ b/wmx-6pl1-cvs20071113.patch @@ -1,6 +1,6 @@ -diff -NarU5 wmx-6pl1/Border.C wmx-cvs-2006-06-02/Border.C +diff -NarU5 wmx-6pl1/Border.C wmx-cvs-2007-11-13/Border.C --- wmx-6pl1/Border.C 2001-04-04 05:02:34.000000000 -0400 -+++ wmx-cvs-2006-06-02/Border.C 2003-08-14 08:54:22.000000000 -0400 ++++ wmx-cvs-2007-11-13/Border.C 2003-08-14 08:54:22.000000000 -0400 @@ -84,13 +84,15 @@ if (!m_parent) fprintf(stderr,"wmx: zero parent in Border::~Border\n"); else { @@ -39,9 +39,9 @@ diff -NarU5 wmx-6pl1/Border.C wmx-cvs-2006-06-02/Border.C 0, 0, rl.xrectangles(), rl.count(), visible ? ShapeUnion : ShapeSubtract, YXSorted); rl.remove_all(); -diff -NarU5 wmx-6pl1/Buttons.C wmx-cvs-2006-06-02/Buttons.C +diff -NarU5 wmx-6pl1/Buttons.C wmx-cvs-2007-11-13/Buttons.C --- wmx-6pl1/Buttons.C 2001-04-24 04:56:39.000000000 -0400 -+++ wmx-cvs-2006-06-02/Buttons.C 2003-08-14 09:07:12.000000000 -0400 ++++ wmx-cvs-2007-11-13/Buttons.C 2003-08-14 09:07:12.000000000 -0400 @@ -16,18 +16,18 @@ enum {Vertical, Maximum, Horizontal}; setScreenFromPointer(); @@ -358,9 +358,9 @@ diff -NarU5 wmx-6pl1/Buttons.C wmx-cvs-2006-06-02/Buttons.C if (vertical && horizontal) { m_w = x - m_x; -diff -NarU5 wmx-6pl1/Buttons.C.rej wmx-cvs-2006-06-02/Buttons.C.rej +diff -NarU5 wmx-6pl1/Buttons.C.rej wmx-cvs-2007-11-13/Buttons.C.rej --- wmx-6pl1/Buttons.C.rej 2001-04-24 04:58:31.000000000 -0400 -+++ wmx-cvs-2006-06-02/Buttons.C.rej 1969-12-31 19:00:00.000000000 -0500 ++++ wmx-cvs-2007-11-13/Buttons.C.rej 1969-12-31 19:00:00.000000000 -0500 @@ -1,75 +0,0 @@ -*************** -*** 173,179 **** @@ -437,9 +437,9 @@ diff -NarU5 wmx-6pl1/Buttons.C.rej wmx-cvs-2006-06-02/Buttons.C.rej - #if CONFIG_WANT_SUNPOWERKEY - if (key == SunXK_PowerSwitch) { - pid_t pid = fork(); -diff -NarU5 wmx-6pl1/Channel.C wmx-cvs-2006-06-02/Channel.C +diff -NarU5 wmx-6pl1/Channel.C wmx-cvs-2007-11-13/Channel.C --- wmx-6pl1/Channel.C 2001-04-24 04:58:31.000000000 -0400 -+++ wmx-cvs-2006-06-02/Channel.C 2003-08-17 09:56:59.000000000 -0400 ++++ wmx-cvs-2007-11-13/Channel.C 2003-08-17 09:56:59.000000000 -0400 @@ -42,13 +42,14 @@ XSetWindowAttributes wa; wa.background_pixel = nearest.pixel; @@ -488,9 +488,9 @@ diff -NarU5 wmx-6pl1/Channel.C wmx-cvs-2006-06-02/Channel.C || (push && push->hasWindow(considering.item(i)->groupParent())) #endif -diff -NarU5 wmx-6pl1/Channel.C.orig wmx-cvs-2006-06-02/Channel.C.orig +diff -NarU5 wmx-6pl1/Channel.C.orig wmx-cvs-2007-11-13/Channel.C.orig --- wmx-6pl1/Channel.C.orig 2000-05-24 11:46:14.000000000 -0400 -+++ wmx-cvs-2006-06-02/Channel.C.orig 1969-12-31 19:00:00.000000000 -0500 ++++ wmx-cvs-2007-11-13/Channel.C.orig 1969-12-31 19:00:00.000000000 -0500 @@ -1,220 +0,0 @@ - -#include "Manager.h" @@ -712,9 +712,9 @@ diff -NarU5 wmx-6pl1/Channel.C.orig wmx-cvs-2006-06-02/Channel.C.orig - } - } -} -diff -NarU5 wmx-6pl1/Client.C wmx-cvs-2006-06-02/Client.C +diff -NarU5 wmx-6pl1/Client.C wmx-cvs-2007-11-13/Client.C --- wmx-6pl1/Client.C 2000-05-12 03:40:20.000000000 -0400 -+++ wmx-cvs-2006-06-02/Client.C 2003-08-12 10:50:47.000000000 -0400 ++++ wmx-cvs-2007-11-13/Client.C 2007-10-11 11:10:32.000000000 -0400 @@ -73,11 +73,11 @@ } @@ -803,7 +803,39 @@ diff -NarU5 wmx-6pl1/Client.C wmx-cvs-2006-06-02/Client.C installColormap(); // new! } -@@ -1213,10 +1219,13 @@ +@@ -660,31 +666,10 @@ + return NULL; + } + return (char *)p; + } + +- +-int Client::getAtomProperty(Atom a, Atom type) +-{ +- char **p, *x; +- if (getProperty_aux(display(), m_window, a, type, 1L, +- (unsigned char **)&p) <= 0) { +- return 0; +- } +- +- x = *p; +- XFree((void *)p); +- return (int)x; +-} +- +- +-int Client::getIntegerProperty(Atom a) +-{ +- return getAtomProperty(a, XA_INTEGER); +-} +- +- + void Client::setState(int state) + { + m_state = state; + + long data[2]; +@@ -1213,10 +1198,13 @@ if (CONFIG_MAD_FEEDBACK) { removeFeedback(isNormal()); // mostly it won't be there anyway, but... } @@ -817,9 +849,9 @@ diff -NarU5 wmx-6pl1/Client.C wmx-cvs-2006-06-02/Client.C withdraw(False); return; -diff -NarU5 wmx-6pl1/Client.h wmx-cvs-2006-06-02/Client.h +diff -NarU5 wmx-6pl1/Client.h wmx-cvs-2007-11-13/Client.h --- wmx-6pl1/Client.h 2001-04-24 04:58:31.000000000 -0400 -+++ wmx-cvs-2006-06-02/Client.h 2003-08-12 10:49:35.000000000 -0400 ++++ wmx-cvs-2007-11-13/Client.h 2007-10-11 11:10:33.000000000 -0400 @@ -136,11 +136,11 @@ int m_w; int m_h; @@ -833,9 +865,22 @@ diff -NarU5 wmx-6pl1/Client.h wmx-cvs-2006-06-02/Client.h int m_channel; Boolean m_unmappedForChannel; Boolean m_sticky; -diff -NarU5 wmx-6pl1/Config.C wmx-cvs-2006-06-02/Config.C +@@ -182,12 +182,10 @@ + Colormap *m_windowColormaps; + + WindowManager *const m_windowManager; + + char *getProperty(Atom); +- int getAtomProperty(Atom, Atom); +- int getIntegerProperty(Atom); + + // accessors + Boolean getState(int *); + void setState(int); + +diff -NarU5 wmx-6pl1/Config.C wmx-cvs-2007-11-13/Config.C --- wmx-6pl1/Config.C 2000-03-02 08:56:35.000000000 -0500 -+++ wmx-cvs-2006-06-02/Config.C 2003-08-14 09:07:12.000000000 -0400 ++++ wmx-cvs-2007-11-13/Config.C 2006-06-19 07:08:35.000000000 -0400 @@ -5,11 +5,14 @@ #include #include @@ -894,15 +939,27 @@ diff -NarU5 wmx-6pl1/Config.C wmx-cvs-2006-06-02/Config.C { char temp[1000]; memset(temp, 0, 1000); -@@ -137,16 +149,20 @@ +@@ -137,16 +149,32 @@ if (OPTION("off")) m_impl->rightBt = 0; else if (OPTION("circulate")) m_impl->rightBt = 1; else if (OPTION("lower")) m_impl->rightBt = 2; else if (OPTION("toggleheight")) m_impl->rightBt = 4; -+ if (OPTION("tabfg:")) strncpy(m_impl->tabfg, s, COLOR_LEN); -+ if (OPTION("tabbg:")) strncpy(m_impl->tabbg, s, COLOR_LEN); -+ if (OPTION("framebg:")) strncpy(m_impl->framebg, s, COLOR_LEN); ++ if (OPTION("tabfg:")) { ++ strncpy(m_impl->tabfg, s, COLOR_LEN); ++ m_impl->tabfg[COLOR_LEN-1] = '\0'; // prevent unterminated string ++ s += strlen(m_impl->tabfg); // avoid error message below ++ } ++ if (OPTION("tabbg:")) { ++ strncpy(m_impl->tabbg, s, COLOR_LEN); ++ m_impl->tabbg[COLOR_LEN-1] = '\0'; ++ s += strlen(m_impl->tabbg); ++ } ++ if (OPTION("framebg:")) { ++ strncpy(m_impl->framebg, s, COLOR_LEN); ++ m_impl->framebg[COLOR_LEN-1] = '\0'; ++ s += strlen(m_impl->framebg); ++ } + if (*s != '\0') { fprintf(stderr, "\nwmx: Dynamic configuration error: " @@ -916,9 +973,9 @@ diff -NarU5 wmx-6pl1/Config.C wmx-cvs-2006-06-02/Config.C #undef OPTION } -diff -NarU5 wmx-6pl1/config.cache wmx-cvs-2006-06-02/config.cache +diff -NarU5 wmx-6pl1/config.cache wmx-cvs-2007-11-13/config.cache --- wmx-6pl1/config.cache 2001-04-23 08:09:21.000000000 -0400 -+++ wmx-cvs-2006-06-02/config.cache 1969-12-31 19:00:00.000000000 -0500 ++++ wmx-cvs-2007-11-13/config.cache 1969-12-31 19:00:00.000000000 -0500 @@ -1,26 +0,0 @@ -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure @@ -946,9 +1003,9 @@ diff -NarU5 wmx-6pl1/config.cache wmx-cvs-2006-06-02/config.cache -ac_cv_prog_cxx_works=${ac_cv_prog_cxx_works='yes'} -ac_cv_prog_gxx=${ac_cv_prog_gxx='yes'} -ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set='yes'} -diff -NarU5 wmx-6pl1/Config.h wmx-cvs-2006-06-02/Config.h +diff -NarU5 wmx-6pl1/Config.h wmx-cvs-2007-11-13/Config.h --- wmx-6pl1/Config.h 2001-04-23 11:48:31.000000000 -0400 -+++ wmx-cvs-2006-06-02/Config.h 2003-08-14 09:07:12.000000000 -0400 ++++ wmx-cvs-2007-11-13/Config.h 2003-08-14 09:07:12.000000000 -0400 @@ -49,41 +49,42 @@ int feedbackDelay(); char disableNew(); @@ -1129,9 +1186,9 @@ diff -NarU5 wmx-6pl1/Config.h wmx-cvs-2006-06-02/Config.h // and when you press CONFIG_ALT_KEY_MASK and the number key // all the windows of that group are raised. -diff -NarU5 wmx-6pl1/config.log wmx-cvs-2006-06-02/config.log +diff -NarU5 wmx-6pl1/config.log wmx-cvs-2007-11-13/config.log --- wmx-6pl1/config.log 2001-04-24 04:58:56.000000000 -0400 -+++ wmx-cvs-2006-06-02/config.log 1969-12-31 19:00:00.000000000 -0500 ++++ wmx-cvs-2007-11-13/config.log 1969-12-31 19:00:00.000000000 -0500 @@ -1,17 +0,0 @@ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. @@ -1150,9 +1207,9 @@ diff -NarU5 wmx-6pl1/config.log wmx-cvs-2006-06-02/config.log -configure:1099: checking for XpmCreatePixmapFromData in -lXpm -configure:1154: checking for twm -configure:1193: checking whether you're still watching -diff -NarU5 wmx-6pl1/config.status wmx-cvs-2006-06-02/config.status +diff -NarU5 wmx-6pl1/config.status wmx-cvs-2007-11-13/config.status --- wmx-6pl1/config.status 2001-04-24 04:58:56.000000000 -0400 -+++ wmx-cvs-2006-06-02/config.status 1969-12-31 19:00:00.000000000 -0500 ++++ wmx-cvs-2007-11-13/config.status 1969-12-31 19:00:00.000000000 -0500 @@ -1,153 +0,0 @@ -#! /bin/sh -# Generated automatically by configure. @@ -1307,18 +1364,18 @@ diff -NarU5 wmx-6pl1/config.status wmx-cvs-2006-06-02/config.status - - -exit 0 -diff -NarU5 wmx-6pl1/CVS/Entries wmx-cvs-2006-06-02/CVS/Entries +diff -NarU5 wmx-6pl1/CVS/Entries wmx-cvs-2007-11-13/CVS/Entries --- wmx-6pl1/CVS/Entries 1969-12-31 19:00:00.000000000 -0500 -+++ wmx-cvs-2006-06-02/CVS/Entries 2006-06-02 10:50:25.000000000 -0400 ++++ wmx-cvs-2007-11-13/CVS/Entries 2007-11-13 20:50:32.000000000 -0500 @@ -0,0 +1,29 @@ +/ANNOYING-BUGS/1.1/Tue Aug 12 13:24:10 2003// +/Border.C/1.9/Thu Aug 14 12:54:22 2003// +/Border.h/1.4/Tue Aug 12 13:11:19 2003// +/Buttons.C/1.14/Thu Aug 14 13:07:12 2003// +/Channel.C/1.11/Sun Aug 17 13:56:59 2003// -+/Client.C/1.11/Tue Aug 12 14:50:47 2003// -+/Client.h/1.9/Tue Aug 12 14:49:35 2003// -+/Config.C/1.4/Thu Aug 14 13:07:12 2003// ++/Client.C/1.12/Thu Oct 11 15:10:32 2007// ++/Client.h/1.10/Thu Oct 11 15:10:33 2007// ++/Config.C/1.5/Mon Jun 19 11:08:35 2006// +/Config.h/1.15/Thu Aug 14 13:07:12 2003// +/Cursors.h/1.1/Tue Aug 12 12:55:17 2003// +/Events.C/1.9/Thu Aug 14 13:07:12 2003// @@ -1340,19 +1397,19 @@ diff -NarU5 wmx-6pl1/CVS/Entries wmx-cvs-2006-06-02/CVS/Entries +/configure.in/1.1/Tue Aug 12 13:11:19 2003// +/listmacro.h/1.1/Tue Aug 12 13:07:39 2003// +D -diff -NarU5 wmx-6pl1/CVS/Repository wmx-cvs-2006-06-02/CVS/Repository +diff -NarU5 wmx-6pl1/CVS/Repository wmx-cvs-2007-11-13/CVS/Repository --- wmx-6pl1/CVS/Repository 1969-12-31 19:00:00.000000000 -0500 -+++ wmx-cvs-2006-06-02/CVS/Repository 2006-06-02 10:50:25.000000000 -0400 ++++ wmx-cvs-2007-11-13/CVS/Repository 2007-11-13 20:50:32.000000000 -0500 @@ -0,0 +1 @@ +wmx -diff -NarU5 wmx-6pl1/CVS/Root wmx-cvs-2006-06-02/CVS/Root +diff -NarU5 wmx-6pl1/CVS/Root wmx-cvs-2007-11-13/CVS/Root --- wmx-6pl1/CVS/Root 1969-12-31 19:00:00.000000000 -0500 -+++ wmx-cvs-2006-06-02/CVS/Root 2006-06-02 10:50:25.000000000 -0400 ++++ wmx-cvs-2007-11-13/CVS/Root 2007-11-13 20:50:32.000000000 -0500 @@ -0,0 +1 @@ +:pserver:anonymous@wm2.cvs.sourceforge.net:/cvsroot/wm2 -diff -NarU5 wmx-6pl1/Events.C wmx-cvs-2006-06-02/Events.C +diff -NarU5 wmx-6pl1/Events.C wmx-cvs-2007-11-13/Events.C --- wmx-6pl1/Events.C 2001-08-31 04:02:49.000000000 -0400 -+++ wmx-cvs-2006-06-02/Events.C 2003-08-14 09:07:12.000000000 -0400 ++++ wmx-cvs-2007-11-13/Events.C 2003-08-14 09:07:12.000000000 -0400 @@ -244,11 +244,11 @@ void WindowManager::checkDelaysForFocus() @@ -1379,9 +1436,9 @@ diff -NarU5 wmx-6pl1/Events.C wmx-cvs-2006-06-02/Events.C // if (m_focusCandidate->isNormal()) m_focusCandidate->mapRaised(); // stopConsideringFocus(); -diff -NarU5 wmx-6pl1/Makefile wmx-cvs-2006-06-02/Makefile +diff -NarU5 wmx-6pl1/Makefile wmx-cvs-2007-11-13/Makefile --- wmx-6pl1/Makefile 2001-04-24 04:58:56.000000000 -0400 -+++ wmx-cvs-2006-06-02/Makefile 1969-12-31 19:00:00.000000000 -0500 ++++ wmx-cvs-2007-11-13/Makefile 1969-12-31 19:00:00.000000000 -0500 @@ -1,69 +0,0 @@ -# Generated automatically from Makefile.in by configure. - @@ -1452,9 +1509,9 @@ diff -NarU5 wmx-6pl1/Makefile wmx-cvs-2006-06-02/Makefile - Client.h Border.h Rotated.h -Rotated.o: Rotated.C Config.h Rotated.h -Session.o: Session.C Manager.h General.h Config.h listmacro.h -diff -NarU5 wmx-6pl1/Manager.C wmx-cvs-2006-06-02/Manager.C +diff -NarU5 wmx-6pl1/Manager.C wmx-cvs-2007-11-13/Manager.C --- wmx-6pl1/Manager.C 2001-04-23 05:10:42.000000000 -0400 -+++ wmx-cvs-2006-06-02/Manager.C 2003-08-14 09:07:12.000000000 -0400 ++++ wmx-cvs-2007-11-13/Manager.C 2003-08-14 09:07:12.000000000 -0400 @@ -53,18 +53,19 @@ m_altModMask(0) // later { @@ -1549,9 +1606,9 @@ diff -NarU5 wmx-6pl1/Manager.C wmx-cvs-2006-06-02/Manager.C static Window w = 0; Client *active = activeClient(); -diff -NarU5 wmx-6pl1/Manager.h wmx-cvs-2006-06-02/Manager.h +diff -NarU5 wmx-6pl1/Manager.h wmx-cvs-2007-11-13/Manager.h --- wmx-6pl1/Manager.h 2001-04-24 04:58:31.000000000 -0400 -+++ wmx-cvs-2006-06-02/Manager.h 2003-08-12 10:50:47.000000000 -0400 ++++ wmx-cvs-2007-11-13/Manager.h 2003-08-12 10:50:47.000000000 -0400 @@ -25,11 +25,11 @@ Client *activeClient() { return m_activeClient; } Boolean raiseTransients(Client *); // true if raised any @@ -1565,9 +1622,9 @@ diff -NarU5 wmx-6pl1/Manager.h wmx-cvs-2006-06-02/Manager.h void removeFromHiddenList(Client *); void skipInRevert(Client *, Client *); -diff -NarU5 wmx-6pl1/Menu.C wmx-cvs-2006-06-02/Menu.C +diff -NarU5 wmx-6pl1/Menu.C wmx-cvs-2007-11-13/Menu.C --- wmx-6pl1/Menu.C 2001-10-05 09:01:21.000000000 -0400 -+++ wmx-cvs-2006-06-02/Menu.C 2003-08-14 09:07:12.000000000 -0400 ++++ wmx-cvs-2007-11-13/Menu.C 2003-08-14 09:07:12.000000000 -0400 @@ -25,12 +25,13 @@ #define STRLEN_MITEMS(i) strlen(m_items[(i)]) #endif @@ -1611,9 +1668,9 @@ diff -NarU5 wmx-6pl1/Menu.C wmx-cvs-2006-06-02/Menu.C const char *home = getenv("HOME"); const char *wmxdir = getenv("WMXDIR"); -diff -NarU5 wmx-6pl1/UPDATES wmx-cvs-2006-06-02/UPDATES +diff -NarU5 wmx-6pl1/UPDATES wmx-cvs-2007-11-13/UPDATES --- wmx-6pl1/UPDATES 2000-05-11 12:42:30.000000000 -0400 -+++ wmx-cvs-2006-06-02/UPDATES 2003-08-12 10:49:35.000000000 -0400 ++++ wmx-cvs-2007-11-13/UPDATES 2003-08-12 10:49:35.000000000 -0400 @@ -1,7 +1,12 @@ /* vim:set ts=4 ai: ,e to add info */ diff --git a/wmx.spec b/wmx.spec index 2646b6b..554f744 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,19 +1,18 @@ Name: wmx Version: 6pl1 -Release: 14%{?dist} +Release: 15%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X URL: http://www.all-day-breakfast.com/wmx/ Source0: http://www.all-day-breakfast.com/wmx/%{name}-%{version}.tar.gz -Source1: wmx-defaults.tar.gz +Source1: wmx-defaults-1.tar.gz Source2: background.xpm Source3: wmx.desktop Source4: Xclients.wmx.sh -Patch0: wmx-6pl1-cvs20060602.patch -Patch1: wmx-6pl1-64b.patch -Patch2: wmx-6pl1-cfgbug.patch -Patch3: wmx-6pl1-cfg.patch +Source5: xnodecor.c +Patch0: wmx-6pl1-cvs20071113.patch +Patch1: wmx-6pl1-cfg.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel @@ -27,18 +26,18 @@ configurable options. %{__install} -p %{SOURCE2} . %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 %build %configure --x-libraries=%{_libdir} --x-includes=%{_includedir}/X11 %{__make} %{?_smp_mflags} +%{__cc} -o xnodecor %{SOURCE5} -Werror -lX11 %install %{__rm} -rf %{buildroot} %{__install} -D -m 0755 wmx %{buildroot}%{_bindir}/wmx +%{__install} -D -m 0755 xnodecor %{buildroot}%{_bindir}/xnodecor %{__install} -d -m 0755 %{buildroot}%{_datadir}/%{name} -%{__install} -m 0755 wmx-defaults/* %{buildroot}%{_datadir}/%{name} +%{__install} -m 0755 wmx-defaults-1/* %{buildroot}%{_datadir}/%{name} %{__chmod} 0644 %{buildroot}%{_datadir}/%{name}/startup %{__install} -D -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/xsessions/wmx.desktop %{__install} -D -m 0755 %{SOURCE4} %{buildroot}%{_sysconfdir}/X11/xinit/Xclients.d/Xclients.wmx.sh @@ -54,6 +53,11 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Tue Nov 13 2007 Gabriel Somlo 6pl1-15 +- patch containing latest cvs fixes +- added xnodecor.c from ftp://ftp.42.org/pub/wmx/contrib/xnodecor.c +- updated default menu entries + * Fri Sep 08 2006 Gabriel Somlo 6pl1-14 - rebuilt for FC6MassRebuild diff --git a/xnodecor.c b/xnodecor.c new file mode 100644 index 0000000..91ed79c --- /dev/null +++ b/xnodecor.c @@ -0,0 +1,141 @@ +/* Copyright 1998 by Vadim Kolontsov + * All rights reserved + * + * Distribute freely, except: don't remove my name from the source or + * documentation (don't take credit for my work), mark your changes (don't + * get me blamed for your possible bugs), don't alter or remove this + * notice. May be sold if buildable source is provided to buyer. No + * warrantee of any kind, express or implied, is included with this + * software; use at your own risk, responsibility for damages (if any) to + * anyone resulting from the use of this software rests entirely with the + * user. + * + * Send bug reports, bug fixes, enhancements, requests, flames, etc., and + * I'll try to keep a version up to date. I can be reached as follows: + * + * Vadim Kolontsov + *----------------------------------------------------------------------- + * This program sets attribute "override_redirect" to True for any window + * you've specified (using window name). Window Managers should ignore + * such windows; it's useful, for example, if you're using wmx Window Manager, + * and want to have a clock on every virtual screen and without any + * borders. Just add the following string to your X-startfile (after + * starting watch app): + * + * xnodecor -w watch + * + * (assuming that your watch application has a window named "watch") + * + * For details see http://sb.123.org/xnodecor.html + * + * Tested on FreeBSD 2.2.2, XFree86 3.2, wmx-4 + * + * Compilation: + * + * gcc -o xnodecor xnodecor.c -L/usr/X11R6/lib -I/usr/X11R6/include -lX11 */ + +#include +#include +#include +#include +#include +#include + +#define WAIT_DEFAULT 0 +#define WAIT_TIMEOUT 15 +#define VERBOSE_DEFAULT 0 + +int main(int argc, char *argv[]) +{ + Display *d; + Window w1, w2, *wins; + int c; + XSetWindowAttributes a; + char *name, *program_name, *display_name = NULL; + unsigned int i, n, found = 0, + f_wait = WAIT_DEFAULT, + f_verbose = VERBOSE_DEFAULT, + delay = WAIT_TIMEOUT; + + if (argv && argv[0] && *argv[0]) + program_name = (program_name = rindex(argv[0], '/')) ? + (*++program_name ? program_name : "xnodecor") : argv[0]; + + while ((c = getopt(argc, argv, "vd:wt:h")) != EOF) + switch (c) + { + case 'd': + display_name = strdup(optarg); + break; + + case 'w': + f_wait = f_wait ? 0 : 1; + break; + + case 'v': + f_verbose = f_verbose ? 0 : 1; + break; + + case 't': + delay = atoi(optarg); + break; + + case 'h': + default: + fprintf(stderr, "Usage: %s [options] window-name\n\n" + " -d display specify alternative display\n" + " -w wait for specified window (default: %swait)\n" + " -t n timeout for waiting (default: %d sec)\n" + " -v verbose mode (default: %s)\n" + " -h this help\n\n", program_name, + f_wait ? "" : "no ", delay, + f_verbose ? "on" : "off"); + exit(0); + } + + argc -= optind; + argv += optind; + + if (argc != 1) + { + fprintf(stderr, "%s: Window name not specified\n", program_name); + exit(1); + } + + d = XOpenDisplay(display_name); + if (!d) + { + fprintf(stderr, "%s: Can't open display\n", program_name); + exit(1); + } + + do + { + if (XQueryTree(d, RootWindow(d, 0), &w1, &w2, &wins, &n) == 0) + { + fprintf(stderr, "%s: XQueryTree failed\n", program_name); + exit(1); + } + + found = 0; + for (i = 0; i < n; i++) + if (XFetchName(d, wins[i], &name)) + { + if (f_verbose) printf("%s\n", name); + if (!strcmp(name, argv[0])) + { + if (f_verbose) printf("(found!)\n"); + + a.override_redirect = 1; + XChangeWindowAttributes(d, wins[i], CWOverrideRedirect, &a); + found = 1; + } + } + + if (f_wait) + sleep(1); + } while (f_wait && delay-- && !found); + + XCloseDisplay(d); +} + From 22d824c36403bc407ba6bd63cfa37ade166c7103 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Sun, 18 Nov 2007 03:30:05 +0000 Subject: [PATCH 03/57] rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 554f744..baabc70 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 6pl1 -Release: 15%{?dist} +Release: 16%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -53,6 +53,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Nov 17 2007 Gabriel Somlo 6pl1-16 +- rebuild + * Tue Nov 13 2007 Gabriel Somlo 6pl1-15 - patch containing latest cvs fixes - added xnodecor.c from ftp://ftp.42.org/pub/wmx/contrib/xnodecor.c From ae2e9697b10233d2a618bd014a385c34be75fa29 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Tue, 25 Dec 2007 23:25:13 +0000 Subject: [PATCH 04/57] changed build config option to use default X cursor fonts --- wmx-6pl1-cfg.patch | 17 +++++++++++++++-- wmx.spec | 5 ++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/wmx-6pl1-cfg.patch b/wmx-6pl1-cfg.patch index 1e0020a..dc168f6 100644 --- a/wmx-6pl1-cfg.patch +++ b/wmx-6pl1-cfg.patch @@ -1,6 +1,6 @@ diff -NarU5 wmx-6pl1.orig/Config.h wmx-6pl1/Config.h ---- wmx-6pl1.orig/Config.h 2006-06-04 13:57:06.000000000 -0400 -+++ wmx-6pl1/Config.h 2006-06-04 13:59:12.000000000 -0400 +--- wmx-6pl1.orig/Config.h 2007-12-25 17:08:03.000000000 -0500 ++++ wmx-6pl1/Config.h 2007-12-25 17:10:44.000000000 -0500 @@ -75,11 +75,10 @@ #define CONFIG_EXEC_USING_SHELL False @@ -52,6 +52,19 @@ diff -NarU5 wmx-6pl1.orig/Config.h wmx-6pl1/Config.h // modifier is pressed; they're keysyms as defined in // and +@@ -284,11 +283,11 @@ + // standard X cursor font; otherwise it will install its own. You may + // wish to set this if your X client and server are on different + // endian machines, or if you've aliased the cursor font to something + // else you like better, or if you just prefer the plain X cursors + +-#define CONFIG_USE_PLAIN_X_CURSORS False ++#define CONFIG_USE_PLAIN_X_CURSORS True + + // Colours for window decorations. The BORDERS one is for the + // one-pixel border around the edge of each piece of decoration, not + // for the whole decoration + @@ -304,11 +303,11 @@ #define CONFIG_MENU_BORDERS "black" diff --git a/wmx.spec b/wmx.spec index baabc70..b207514 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 6pl1 -Release: 16%{?dist} +Release: 17%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -53,6 +53,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Tue Dec 25 2007 Gabriel Somlo 6pl1-17 +- changed build config option to use default X cursor fonts + * Sat Nov 17 2007 Gabriel Somlo 6pl1-16 - rebuild From 8e1946f93f1779b5981c16b94d5847a90e398db3 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Wed, 20 Feb 2008 00:42:55 +0000 Subject: [PATCH 05/57] - Autorebuild for GCC 4.3 --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index b207514..b2a7464 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 6pl1 -Release: 17%{?dist} +Release: 18%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -53,6 +53,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Tue Feb 19 2008 Fedora Release Engineering - 6pl1-18 +- Autorebuild for GCC 4.3 + * Tue Dec 25 2007 Gabriel Somlo 6pl1-17 - changed build config option to use default X cursor fonts From 31fa191b094c84d98deb394d058ef0e8fec89270 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Mon, 12 Jan 2009 18:35:08 +0000 Subject: [PATCH 06/57] update to wmx-7 --- .cvsignore | 2 +- background.xpm | 2 +- import.log | 1 + sources | 2 +- wmx-6pl1-cvs20071113.patch | 1686 ------------------------- wmx-6pl1-cfg.patch => wmx-7-cfg.patch | 49 +- wmx.spec | 23 +- 7 files changed, 28 insertions(+), 1737 deletions(-) create mode 100644 import.log delete mode 100644 wmx-6pl1-cvs20071113.patch rename wmx-6pl1-cfg.patch => wmx-7-cfg.patch (56%) diff --git a/.cvsignore b/.cvsignore index 36498b8..d5912b7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -wmx-6pl1.tar.gz wmx-defaults-1.tar.gz +wmx-7.tar.gz diff --git a/background.xpm b/background.xpm index 377bdf7..cc36fa1 100644 --- a/background.xpm +++ b/background.xpm @@ -1,5 +1,5 @@ /* XPM */ -static char *background[] = { +static const char *background[] = { /* width height num_colors chars_per_pixel */ " 80 80 27 1", /* colors */ diff --git a/import.log b/import.log new file mode 100644 index 0000000..324f196 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +wmx-7-1_fc10:HEAD:wmx-7-1.fc10.src.rpm:1231785276 diff --git a/sources b/sources index 22294be..decc05b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -212297d70acef90bbc9dac254de39cb8 wmx-6pl1.tar.gz a5f221d36884276cbf331414d4f2a761 wmx-defaults-1.tar.gz +e8eda438f5dda09d11ba7de1dcf9e501 wmx-7.tar.gz diff --git a/wmx-6pl1-cvs20071113.patch b/wmx-6pl1-cvs20071113.patch deleted file mode 100644 index fd48839..0000000 --- a/wmx-6pl1-cvs20071113.patch +++ /dev/null @@ -1,1686 +0,0 @@ -diff -NarU5 wmx-6pl1/Border.C wmx-cvs-2007-11-13/Border.C ---- wmx-6pl1/Border.C 2001-04-04 05:02:34.000000000 -0400 -+++ wmx-cvs-2007-11-13/Border.C 2003-08-14 08:54:22.000000000 -0400 -@@ -84,13 +84,15 @@ - if (!m_parent) fprintf(stderr,"wmx: zero parent in Border::~Border\n"); - else { - XDestroyWindow(display(), m_tab); - XDestroyWindow(display(), m_button); - XDestroyWindow(display(), m_parent); -- -- // bad window if its parent has already gone: - XDestroyWindow(display(), m_resize); -+ -+ if (m_feedback) { -+ XDestroyWindow(display(), m_feedback); -+ } - } - } - - if (m_label) free(m_label); - } -@@ -748,15 +750,14 @@ - rl.append(rl.item(rl.count()-2)); - rl.remove(rl.count()-3); - } - - int final = rl.count(); -- rl.append(rl.item(final-1)); -- rl.item(final).x -= 1; -- rl.item(final).y += rl.item(final).height; -- rl.item(final).width += 1; -- rl.item(final).height = h - rl.item(final).height + 2; -+ rl.append(rl.item(final-1).x - 1, -+ rl.item(final-1).y + rl.item(final-1).height, -+ rl.item(final-1).width + 1, -+ h - rl.item(final-1).height + 2); - - XShapeCombineRectangles(display(), m_parent, ShapeBounding, - 0, 0, rl.xrectangles(), rl.count(), - visible ? ShapeUnion : ShapeSubtract, YXSorted); - rl.remove_all(); -diff -NarU5 wmx-6pl1/Buttons.C wmx-cvs-2007-11-13/Buttons.C ---- wmx-6pl1/Buttons.C 2001-04-24 04:56:39.000000000 -0400 -+++ wmx-cvs-2007-11-13/Buttons.C 2003-08-14 09:07:12.000000000 -0400 -@@ -16,18 +16,18 @@ - enum {Vertical, Maximum, Horizontal}; - setScreenFromPointer(); - Client *c = windowToClient(e->window); - - #if CONFIG_GNOME_BUTTON_COMPLIANCE == False -- if (e->button == Button3 && m_channelChangeTime == 0) { -- if (dConfig.rightCirculate()) -+ if (e->button == CONFIG_CIRCULATE_BUTTON && m_channelChangeTime == 0) { -+ if (DynamicConfig::config.rightCirculate()) - circulate(e->window == e->root); -- else if (dConfig.rightLower()) -+ else if (DynamicConfig::config.rightLower()) - { - if (e->window != e->root && c) c->lower(); - } -- else if (dConfig.rightToggleHeight()) -+ else if (DynamicConfig::config.rightToggleHeight()) - { - if (e->window != e->root && c) { - if (c->isFullHeight()) { - c->unmaximise(Vertical); - } else { -@@ -37,73 +37,73 @@ - } - return; - } - #endif - -- if (e->button == Button4 && CONFIG_CHANNEL_SURF) { -+ if (e->button == CONFIG_NEXTCHANNEL_BUTTON && CONFIG_CHANNEL_SURF) { - // wheel "up" - increase channel - flipChannel(False, False, True, c); - return ; -- } else if (e->button == Button5 && CONFIG_CHANNEL_SURF) { -+ } else if (e->button == CONFIG_PREVCHANNEL_BUTTON && CONFIG_CHANNEL_SURF) { - // wheel "down" - decrease channel - flipChannel(False, True, True, c); - return ; - } - - if (e->window == e->root) { - - #if CONFIG_GNOME_BUTTON_COMPLIANCE != False -- if ((e->button == Button1 || e->button == Button3) -+ if ((e->button == CONFIG_CLIENTMENU_BUTTON || e->button == CONFIG_CIRCULATE_BUTTON) - && m_channelChangeTime == 0) { - - XUngrabPointer(m_display, CurrentTime); - XSendEvent(m_display, gnome_win, False, SubstructureNotifyMask, ev); - return; - } - -- if (e->button == Button2 && m_channelChangeTime == 0) { -+ if (e->button == CONFIG_COMMANDMENU_BUTTON && m_channelChangeTime == 0) { - ClientMenu menu(this, (XEvent *)e); - return; - } - #endif - -- if (e->button == Button1 && m_channelChangeTime == 0) { -+ if (e->button == CONFIG_CLIENTMENU_BUTTON && m_channelChangeTime == 0) { - ClientMenu menu(this, (XEvent *)e); - - } else if (e->x > DisplayWidth(display(), screen()) - - CONFIG_CHANNEL_CLICK_SIZE && - e->y < CONFIG_CHANNEL_CLICK_SIZE) { - -- if (e->button == Button2) { -+ if (e->button == CONFIG_COMMANDMENU_BUTTON) { - #if CONFIG_USE_CHANNEL_MENU - ChannelMenu(this, (XEvent *)e); - #else - if (m_channelChangeTime == 0) flipChannel(True, False, False, 0); - else flipChannel(False, False, False, 0); - -- } else if (e->button == Button1 && m_channelChangeTime != 0) { -+ } else if (e->button == CONFIG_CLIENTMENU_BUTTON && m_channelChangeTime != 0) { - - flipChannel(False, True, False, 0); - #endif - } - -- } else if (e->button == Button2 && m_channelChangeTime == 0) { -- dConfig.scan(); -+ } else if (e->button == CONFIG_COMMANDMENU_BUTTON && m_channelChangeTime == 0) { -+ DynamicConfig::config.scan(); - CommandMenu menu(this, (XEvent *)e); - } - - } else if (c) { - -- if (e->button == Button2 && CONFIG_CHANNEL_SURF) { -+ if (e->button == CONFIG_COMMANDMENU_BUTTON && CONFIG_CHANNEL_SURF) { - #if CONFIG_USE_CHANNEL_MENU - ChannelMenu menu(this, (XEvent *)e); - #else - if (m_channelChangeTime == 0) flipChannel(True, False, False, 0); - else flipChannel(False, False, False, c); - #endif - return; -- } else if (e->button == Button1 && m_channelChangeTime != 0) { -+ } else if (e->button == CONFIG_CLIENTMENU_BUTTON && m_channelChangeTime != 0) { - // allow left-button to push down a channel --cc 19991001 - flipChannel(False, True, False, c); - return; - } - -@@ -230,11 +230,11 @@ - - if (ev->state & m_altModMask) { - - if (!m_altPressed) { - // oops! bug -- fprintf(stderr, "wmx: Alt key record in inconsistent state\n"); -+// fprintf(stderr, "wmx: Alt key record in inconsistent state\n"); - m_altPressed = True; - m_altStateRetained = False; - // fprintf(stderr, "state is %ld, mask is %ld\n", - // (long)ev->state, (long)m_altModMask); - } -@@ -252,15 +252,15 @@ - // when adding a key it must be added in both places - - switch (key) { - - case CONFIG_FLIP_DOWN_KEY: -- flipChannel(False, True, False, 0); -+ flipChannel(False, True, True, 0); - break; - - case CONFIG_FLIP_UP_KEY: -- flipChannel(False, False, False, 0); -+ flipChannel(False, False, True, 0); - break; - - case CONFIG_CIRCULATE_KEY: - circulate(False); - break; -@@ -463,19 +463,23 @@ - - Boolean wasTop = windowManager()->isTop(this); - - mapRaised(); - -- if (e->button == Button1) { -+ if (e->button == CONFIG_CLIENTMENU_BUTTON) { - if (m_border->hasWindow(e->window)) { -- - m_border->eventButton(e); -+ } else { -+ e->x += m_border->xIndent(); -+ e->y += m_border->yIndent(); -+ move(e); - } - } - -- if (CONFIG_RAISELOWER_ON_CLICK && wasTop && !doSomething) -+ if (CONFIG_RAISELOWER_ON_CLICK && wasTop && !m_doSomething) { - lower(); -+ } - - if (!isNormal() || isActive() || e->send_event) return; - activate(); - } - -@@ -560,11 +564,11 @@ - - XEvent event; - Boolean found; - struct timeval sleepval; - -- doSomething = False; -+ m_doSomething = False; - while (!done) { - - found = False; - - while (XCheckMaskEvent(display(), DragMask | ExposureMask, &event)) { -@@ -572,11 +576,11 @@ - if (event.type != MotionNotify) break; - } - - if (!found) { - sleepval.tv_sec = 0; -- sleepval.tv_usec = 50000; -+ sleepval.tv_usec = 1000; - select(0, 0, 0, 0, &sleepval); - continue; - } - - switch (event.type) { -@@ -591,17 +595,17 @@ - break; - - case ButtonPress: - // don't like this - XUngrabPointer(display(), event.xbutton.time); -- doSomething = False; -+ m_doSomething = False; - done = True; - break; - - case ButtonRelease: - -- if (!nobuttons(&event.xbutton)) doSomething = False; -+ if (!nobuttons(&event.xbutton)) m_doSomething = False; - - m_windowManager->releaseGrab(&event.xbutton); - done = True; - break; - -@@ -610,11 +614,11 @@ - int nx = event.xbutton.x - e->x; - int ny = event.xbutton.y - e->y; - - if (nx != x || ny != y) { - -- if (doSomething) { // so x,y have sensible values already -+ if (m_doSomething) { // so x,y have sensible values already - - // bumping! - - if (nx < x && nx <= 0 && nx > -CONFIG_BUMP_DISTANCE) nx = 0; - if (ny < y && ny <= 0 && ny > -CONFIG_BUMP_DISTANCE) ny = 0; -@@ -630,19 +634,19 @@ - x = nx; - y = ny; - - geometry.update(x, y); - m_border->moveTo(x + xi, y + yi); -- doSomething = True; -+ m_doSomething = True; - } - break; - } - } - - geometry.remove(); - -- if (doSomething) { -+ if (m_doSomething) { - m_x = x + xi; - m_y = y + yi; - } - - if (CONFIG_CLICK_TO_FOCUS) activate(); -@@ -710,11 +714,11 @@ - XEvent event; - Boolean found; - Boolean done = False; - struct timeval sleepval; - -- doSomething = False; -+ m_doSomething = False; - while (!done) { - - found = False; - - while (XCheckMaskEvent(display(), DragMask | ExposureMask, &event)) { -@@ -722,11 +726,11 @@ - if (event.type != MotionNotify) break; - } - - if (!found) { - sleepval.tv_sec = 0; -- sleepval.tv_usec = 50000; -+ sleepval.tv_usec = 10000; - select(0, 0, 0, 0, &sleepval); - continue; - } - - switch (event.type) { -@@ -766,38 +770,38 @@ - if (h == prevH && w == prevW) break; - m_border->configure(m_x, m_y, w, h, CWWidth | CWHeight, 0); - if (CONFIG_RESIZE_UPDATE) - XResizeWindow(display(), m_window, w, h); - geometry.update(dw, dh); -- doSomething = True; -+ m_doSomething = True; - - } else if (vertical) { - prevH = h; h = y - m_y; - fixResizeDimensions(w, h, dw, dh); - if (h == prevH) break; - m_border->configure(m_x, m_y, w, h, CWHeight, 0); - if (CONFIG_RESIZE_UPDATE) - XResizeWindow(display(), m_window, w, h); - geometry.update(dw, dh); -- doSomething = True; -+ m_doSomething = True; - - } else { - prevW = w; w = x - m_x; - fixResizeDimensions(w, h, dw, dh); - if (w == prevW) break; - m_border->configure(m_x, m_y, w, h, CWWidth, 0); - if (CONFIG_RESIZE_UPDATE) - XResizeWindow(display(), m_window, w, h); - geometry.update(dw, dh); -- doSomething = True; -+ m_doSomething = True; - } - - break; - } - } - -- if (doSomething) { -+ if (m_doSomething) { - - geometry.remove(); - - if (vertical && horizontal) { - m_w = x - m_x; -diff -NarU5 wmx-6pl1/Buttons.C.rej wmx-cvs-2007-11-13/Buttons.C.rej ---- wmx-6pl1/Buttons.C.rej 2001-04-24 04:58:31.000000000 -0400 -+++ wmx-cvs-2007-11-13/Buttons.C.rej 1969-12-31 19:00:00.000000000 -0500 -@@ -1,75 +0,0 @@ --*************** --*** 173,179 **** -- m_altStateRetained = False; -- } -- --! #ifdef CONFIG_WANT_SUNKEYS -- #ifdef CONFIG_QUICKRAISE_KEY -- if (key == CONFIG_QUICKRAISE_KEY && c) { -- ----- 173,179 ---- -- m_altStateRetained = False; -- } -- --! #if CONFIG_WANT_SUNKEYS -- #ifdef CONFIG_QUICKRAISE_KEY -- if (key == CONFIG_QUICKRAISE_KEY && c) { -- --*************** --*** 184,202 **** -- } -- -- } else --! #endif CONFIG_QUICKRAISE_KEY -- #ifdef CONFIG_QUICKHIDE_KEY -- if (key == CONFIG_QUICKHIDE_KEY && c) { -- c->hide(); -- -- } else --! #endif CONFIG_QUICKHIDE_KEY -- #ifdef CONFIG_QUICKCLOSE_KEY -- if (key == CONFIG_QUICKCLOSE_KEY && c) { -- c->kill(); -- -- } else --! #endif CONFIG_QUICKCLOSE_KEY -- #ifdef CONFIG_QUICKHEIGHT_KEY -- if (key == CONFIG_QUICKHEIGHT_KEY && c) { -- ----- 184,202 ---- -- } -- -- } else --! #endif // CONFIG_QUICKRAISE_KEY -- #ifdef CONFIG_QUICKHIDE_KEY -- if (key == CONFIG_QUICKHIDE_KEY && c) { -- c->hide(); -- -- } else --! #endif // CONFIG_QUICKHIDE_KEY -- #ifdef CONFIG_QUICKCLOSE_KEY -- if (key == CONFIG_QUICKCLOSE_KEY && c) { -- c->kill(); -- -- } else --! #endif // CONFIG_QUICKCLOSE_KEY -- #ifdef CONFIG_QUICKHEIGHT_KEY -- if (key == CONFIG_QUICKHEIGHT_KEY && c) { -- --*************** --*** 207,213 **** -- } -- -- } else --! #endif //CONFIG_QUICKHEIGHT_KEY -- #if CONFIG_WANT_SUNPOWERKEY -- if (key == SunXK_PowerSwitch) { -- pid_t pid = fork(); ----- 207,213 ---- -- } -- -- } else --! #endif // CONFIG_QUICKHEIGHT_KEY -- #if CONFIG_WANT_SUNPOWERKEY -- if (key == SunXK_PowerSwitch) { -- pid_t pid = fork(); -diff -NarU5 wmx-6pl1/Channel.C wmx-cvs-2007-11-13/Channel.C ---- wmx-6pl1/Channel.C 2001-04-24 04:58:31.000000000 -0400 -+++ wmx-cvs-2007-11-13/Channel.C 2003-08-17 09:56:59.000000000 -0400 -@@ -42,13 +42,14 @@ - XSetWindowAttributes wa; - wa.background_pixel = nearest.pixel; - wa.override_redirect = True; - - m_channelWindow[sc] = XCreateWindow -- (display(), mroot(sc), 0, 0, 1, 1, 0, CopyFromParent, CopyFromParent, -+ (display(), mroot(sc), -+ 0, 0, 1, 1, 0, CopyFromParent, CopyFromParent, - CopyFromParent, CWOverrideRedirect | CWBackPixel, &wa); -- } -+ } - } - - - int nextChannel; - -@@ -66,11 +67,11 @@ - XRectangle r; - Boolean first = True; - char number[7]; - sprintf(number, "%d", nextChannel); - -- for (i = 0; i < strlen(number); ++i) { -+ for (i = 0; i < (int)strlen(number); ++i) { - for (y = 0; y < 7; ++y) { - for (x = 0; x < 5; ++x) { - if (numerals[number[i]-'0'][y][x] != ' ') { - /* - r.x = i * 110 + x * 20; r.y = y * 20; -@@ -109,15 +110,15 @@ - - if (!statusOnly) { - - ClientList considering; - -- for (i = m_orderedClients.count()-1; i >= 0; --i) { -+ for (i = (int)m_orderedClients.count()-1; i >= 0; --i) { - considering.append(m_orderedClients.item(i)); - } - -- for (i = 0; i < considering.count(); ++i) { -+ for (i = 0; i < (int)considering.count(); ++i) { - if (considering.item(i) == push || considering.item(i)->isSticky() - #if CONFIG_USE_WINDOW_GROUPS - || (push && - push->hasWindow(considering.item(i)->groupParent())) - #endif -diff -NarU5 wmx-6pl1/Channel.C.orig wmx-cvs-2007-11-13/Channel.C.orig ---- wmx-6pl1/Channel.C.orig 2000-05-24 11:46:14.000000000 -0400 -+++ wmx-cvs-2007-11-13/Channel.C.orig 1969-12-31 19:00:00.000000000 -0500 -@@ -1,220 +0,0 @@ -- --#include "Manager.h" --#include "Client.h" --#include -- --static char *numerals[10][7] = { -- { " ### ", "# #", "# ##", "# # #", "## #", "# #", " ### " }, -- { " # ", " ## ", " # ", " # ", " # ", " # ", " ### " }, -- { " ### ", "# #", " #", " ## ", " # ", "# ", "#####" }, -- { "#####", " # ", " # ", " ### ", " #", " #", "#### " }, -- { " # ", " ## ", " # # ", "# # ", "#####", " # ", " # " }, -- { "#####", "# ", "#### ", " #", " #", " #", "#### " }, -- { " ## ", " # ", "# ", "#### ", "# #", "# #", " ### " }, -- { "#####", " #", " # ", " # ", " # ", " # ", " # " }, -- { " ### ", "# #", "# #", " ### ", "# #", "# #", " ### " }, -- { " ### ", "# #", "# #", " ####", " #", " # ", " ## " } --}; -- -- --void WindowManager::flipChannel(Boolean statusOnly, Boolean flipDown, -- Boolean quickFlip, Client *push) --{ -- int x, y, i, sc; -- if (!CONFIG_CHANNEL_SURF) return; -- -- for(sc = 0; sc < screensTotal(); sc++) -- { -- if (!m_channelWindow[sc]) { -- -- XColor nearest, ideal; -- -- if (!XAllocNamedColor(display(), DefaultColormap(display(), sc), -- CONFIG_CHANNEL_NUMBER, &nearest, &ideal)) { -- -- if (!XAllocNamedColor(display(), DefaultColormap(display(), sc), -- "black", &nearest, &ideal)) { -- -- fatal("Couldn't allocate green or black"); -- } -- } -- -- XSetWindowAttributes wa; -- wa.background_pixel = nearest.pixel; -- wa.override_redirect = True; -- -- m_channelWindow[sc] = XCreateWindow -- (display(), mroot(sc), 0, 0, 1, 1, 0, CopyFromParent, CopyFromParent, -- CopyFromParent, CWOverrideRedirect | CWBackPixel, &wa); -- } -- } -- -- -- int nextChannel; -- -- if (statusOnly) nextChannel = m_currentChannel; -- else { -- if (!flipDown) { -- nextChannel = m_currentChannel + 1; -- if (nextChannel > m_channels) nextChannel = 1; -- } else { -- nextChannel = m_currentChannel - 1; -- if (nextChannel < 1) nextChannel = m_channels; -- } -- } -- -- XRectangle r; -- Boolean first = True; -- char number[7]; -- sprintf(number, "%d", nextChannel); -- -- for (i = 0; i < strlen(number); ++i) { -- for (y = 0; y < 7; ++y) { -- for (x = 0; x < 5; ++x) { -- if (numerals[number[i]-'0'][y][x] != ' ') { --/* -- r.x = i * 110 + x * 20; r.y = y * 20; -- r.width = r.height = 20; -- */ -- r.x = 10 + (i * 6 + x) * CONFIG_CHANNEL_NUMBER_SIZE; -- r.y = y * CONFIG_CHANNEL_NUMBER_SIZE; -- r.width = r.height = CONFIG_CHANNEL_NUMBER_SIZE; -- for(sc = 0; sc < screensTotal(); sc++) -- { -- XShapeCombineRectangles -- (display(), m_channelWindow[sc], ShapeBounding, -- 0, 0, &r, 1, first ? ShapeSet : ShapeUnion, -- YXBanded); -- } -- first = False; -- } -- } -- } -- } -- -- for(sc = 0; sc < screensTotal(); sc++) -- { --/* -- XMoveResizeWindow(display(), m_channelWindow[sc], -- DisplayWidth(display(), sc) - 30 - -- 110 * strlen(number), 30, 500, 160); -- */ -- -- XMoveResizeWindow(display(), m_channelWindow[sc], -- DisplayWidth(display(), sc) - 30 - -- (5 * CONFIG_CHANNEL_NUMBER_SIZE + 10) * -- strlen(number), 30, 500, 160); -- XMapRaised(display(), m_channelWindow[sc]); -- } -- -- if (!statusOnly) { -- -- ClientList considering; -- -- for (i = m_orderedClients.count()-1; i >= 0; --i) { -- considering.append(m_orderedClients.item(i)); -- } -- -- for (i = 0; i < considering.count(); ++i) { -- if (considering.item(i) == push || considering.item(i)->isSticky() --#ifdef CONFIG_USE_WINDOW_GROUPS -- || (push && -- push->hasWindow(considering.item(i)->groupParent())) --#endif -- ) { -- considering.item(i)->setChannel(nextChannel); -- } else { -- considering.item(i)->flipChannel(True, nextChannel); -- } -- } -- -- considering.remove_all(); -- } -- -- m_currentChannel = nextChannel; -- m_channelChangeTime = timestamp(True) + -- (quickFlip ? CONFIG_QUICK_FLIP_DELAY : CONFIG_FLIP_DELAY); -- --#if CONFIG_GNOME_COMPLIANCE != False -- gnomeUpdateChannelList(); --#endif --} -- -- --void WindowManager::instateChannel() --{ -- int i; -- m_channelChangeTime = 0; -- for(i = 0; i < screensTotal(); i++) -- { -- XUnmapWindow(display(), m_channelWindow[i]); -- } -- -- ClientList considering; -- -- for (i = m_orderedClients.count()-1; i >= 0; --i) { -- considering.append(m_orderedClients.item(i)); -- } -- -- for (i = 0; i < considering.count(); ++i) { -- considering.item(i)->flipChannel(False, m_currentChannel); -- if (considering.item(i)->channel() == m_channels && -- !considering.item(i)->isSticky()) createNewChannel(); -- } -- -- if (m_activeClient && m_activeClient->channel() != channel()) { -- m_activeClient = 0; -- } -- -- checkChannel(m_channels-1); --} -- -- --void WindowManager::checkChannel(int ch) --{ -- if (m_channels <= 2 || ch < m_channels - 1) return; -- -- for (int i = m_orderedClients.count()-1; i >= 0; --i) { -- if (m_orderedClients.item(i)->channel() == ch) return; -- } -- -- --m_channels; -- --#if CONFIG_GNOME_COMPLIANCE != False -- gnomeUpdateChannelList(); --#endif -- -- if (m_currentChannel > m_channels) m_currentChannel = m_channels; -- -- checkChannel(ch - 1); --} -- -- --void WindowManager::createNewChannel() --{ -- ++m_channels; --#if CONFIG_GNOME_COMPLIANCE != False -- gnomeUpdateChannelList(); --#endif -- --} -- --void WindowManager::gotoChannel(int channel, Client *push) --{ -- if (channel == m_currentChannel) { -- flipChannel(True, False, False, 0); -- return; -- } -- -- if (channel > 0 && channel <= m_channels) { -- -- while (m_currentChannel != channel) { -- if (m_channels < channel) { -- flipChannel(False, False, True, push); -- } else { -- flipChannel(False, True, True, push); -- } -- XSync(display(), False); -- } -- } --} -diff -NarU5 wmx-6pl1/Client.C wmx-cvs-2007-11-13/Client.C ---- wmx-6pl1/Client.C 2000-05-12 03:40:20.000000000 -0400 -+++ wmx-cvs-2007-11-13/Client.C 2007-10-11 11:10:32.000000000 -0400 -@@ -73,11 +73,11 @@ - } - - - Client::~Client() - { -- // empty -+ delete m_border; - } - - - Boolean Client::hasWindow(Window w) - { -@@ -107,13 +107,10 @@ - windowManager()->skipInRevert(this, m_revert); - - if (isHidden()) unhide(False); - windowManager()->removeFromOrderedList(this); - -- delete m_border; -- m_window = None; -- - if (isActive()) { - if (CONFIG_CLICK_TO_FOCUS) { - if (m_revert) { - windowManager()->setActiveClient(m_revert); - m_revert->activate(); -@@ -121,10 +118,12 @@ - } else { - windowManager()->setActiveClient(0); - } - } - -+ m_window = None; -+ - if (m_colormapWinCount > 0) { - XFree((char *)m_colormapWindows); - free((char *)m_windowColormaps); // not allocated through X - } - -@@ -212,10 +211,15 @@ - }; - - XGrabKey(display(), XKeysymToKeycode(display(), CONFIG_ALT_KEY), - 0, m_window, True, GrabModeAsync, GrabModeAsync); - -+ // for dragging windows from anywhere with Alt pressed -+ XGrabButton(display(), Button1, -+ m_windowManager->altModMask(), m_window, False, 0, -+ GrabModeAsync, GrabModeSync, None, None); -+ - for (i = 0; i < sizeof(keys)/sizeof(keys[0]); ++i) { - keycode = XKeysymToKeycode(display(), keys[i]); - if (keycode) { - XGrabKey(display(), keycode, - m_windowManager->altModMask()|LockMask|Mod2Mask, -@@ -513,15 +517,17 @@ - if (isActive()) { - decorate(True); - if (CONFIG_AUTO_RAISE || CONFIG_RAISE_ON_FOCUS) mapRaised(); - return; - } -- -+/*!!! - if (activeClient()) { - activeClient()->deactivate(); - // & some other-screen business - } -+*/ -+ windowManager()->setActiveClient(this); // deactivates any other - - XUngrabButton(display(), AnyButton, AnyModifier, parent()); - - XSetInputFocus(display(), m_window, RevertToPointerRoot, - windowManager()->timestamp(False)); -@@ -536,11 +542,11 @@ - windowManager()->skipInRevert(this, m_revert); - - m_revert = activeClient(); - while (m_revert && !m_revert->isNormal()) m_revert = m_revert->revertTo(); - -- windowManager()->setActiveClient(this); -+//!!! windowManager()->setActiveClient(this); - decorate(True); - - installColormap(); // new! - } - -@@ -660,31 +666,10 @@ - return NULL; - } - return (char *)p; - } - -- --int Client::getAtomProperty(Atom a, Atom type) --{ -- char **p, *x; -- if (getProperty_aux(display(), m_window, a, type, 1L, -- (unsigned char **)&p) <= 0) { -- return 0; -- } -- -- x = *p; -- XFree((void *)p); -- return (int)x; --} -- -- --int Client::getIntegerProperty(Atom a) --{ -- return getAtomProperty(a, XA_INTEGER); --} -- -- - void Client::setState(int state) - { - m_state = state; - - long data[2]; -@@ -1213,10 +1198,13 @@ - if (CONFIG_MAD_FEEDBACK) { - removeFeedback(isNormal()); // mostly it won't be there anyway, but... - } - - if (!isNormal()) return; -+ if (activeClient() == this) { -+ windowManager()->setActiveClient(0); -+ } - m_unmappedForChannel = True; - XUnmapWindow(display(), m_window); - withdraw(False); - return; - -diff -NarU5 wmx-6pl1/Client.h wmx-cvs-2007-11-13/Client.h ---- wmx-6pl1/Client.h 2001-04-24 04:58:31.000000000 -0400 -+++ wmx-cvs-2007-11-13/Client.h 2007-10-11 11:10:33.000000000 -0400 -@@ -136,11 +136,11 @@ - int m_w; - int m_h; - int m_bw; - Window m_wroot; - int m_screen; -- Boolean doSomething; // Become true if move() or resize() made -+ Boolean m_doSomething; // Become true if move() or resize() made - // effect to this client. - - int m_channel; - Boolean m_unmappedForChannel; - Boolean m_sticky; -@@ -182,12 +182,10 @@ - Colormap *m_windowColormaps; - - WindowManager *const m_windowManager; - - char *getProperty(Atom); -- int getAtomProperty(Atom, Atom); -- int getIntegerProperty(Atom); - - // accessors - Boolean getState(int *); - void setState(int); - -diff -NarU5 wmx-6pl1/Config.C wmx-cvs-2007-11-13/Config.C ---- wmx-6pl1/Config.C 2000-03-02 08:56:35.000000000 -0500 -+++ wmx-cvs-2007-11-13/Config.C 2006-06-19 07:08:35.000000000 -0400 -@@ -5,11 +5,14 @@ - #include - #include - #include - #include - --DynamicConfig DynamicConfig::dynamicConfig; -+// 32 is enough to fit even "light goldenrod yellow" comfortably -+#define COLOR_LEN 32 -+ -+DynamicConfig DynamicConfig::config; - - struct DynamicConfigImpl - { - char options[1000]; // Old options-string - char path[1000]; // Path to Options-Link -@@ -19,10 +22,13 @@ - char menu; // 0 = no unmapped, 1 = everything - char feedback; // 0 = no , 1 = yes - int feeddelay; - char disable; // 0 = New Window option, 1 = no New - char rightBt; // 0 = disable, 1 = circulate, 2 = lower, 4 = height -+ char tabfg[COLOR_LEN]; // black -+ char tabbg[COLOR_LEN]; // gray80 -+ char framebg[COLOR_LEN]; // gray95 - }; - - DynamicConfig::DynamicConfig() : m_impl(new DynamicConfigImpl) - { - strcpy(m_impl->options, ""); -@@ -55,10 +61,13 @@ - m_impl->menu = 1; // 0 = no unmapped, 1 = everything - m_impl->feedback = 1; // 0 = no , 1 = yes - m_impl->feeddelay = 300; - m_impl->disable = 0; // 0 = allow New window, 1 = don't - m_impl->rightBt = 1; // 0 = disable, 1 = circulate, 2 = lower -+ strcpy(m_impl->tabfg, "black"); -+ strcpy(m_impl->tabbg, "gray80"); -+ strcpy(m_impl->framebg, "gray95"); - - scan(1); - } - - DynamicConfig::~DynamicConfig() -@@ -76,10 +85,13 @@ - int DynamicConfig::feedbackDelay() { return m_impl->feeddelay; } - char DynamicConfig::disableNew() { return m_impl->disable & 1; } - char DynamicConfig::rightCirculate() { return m_impl->rightBt & 1; } - char DynamicConfig::rightLower() { return m_impl->rightBt & 2; } - char DynamicConfig::rightToggleHeight() { return m_impl->rightBt & 4; } -+char *DynamicConfig::tabForeground() { return m_impl->tabfg; } -+char *DynamicConfig::tabBackground() { return m_impl->tabbg; } -+char *DynamicConfig::frameBackground() { return m_impl->framebg; } - - void DynamicConfig::scan(char startup) - { - char temp[1000]; - memset(temp, 0, 1000); -@@ -137,16 +149,32 @@ - if (OPTION("off")) m_impl->rightBt = 0; - else if (OPTION("circulate")) m_impl->rightBt = 1; - else if (OPTION("lower")) m_impl->rightBt = 2; - else if (OPTION("toggleheight")) m_impl->rightBt = 4; - -+ if (OPTION("tabfg:")) { -+ strncpy(m_impl->tabfg, s, COLOR_LEN); -+ m_impl->tabfg[COLOR_LEN-1] = '\0'; // prevent unterminated string -+ s += strlen(m_impl->tabfg); // avoid error message below -+ } -+ if (OPTION("tabbg:")) { -+ strncpy(m_impl->tabbg, s, COLOR_LEN); -+ m_impl->tabbg[COLOR_LEN-1] = '\0'; -+ s += strlen(m_impl->tabbg); -+ } -+ if (OPTION("framebg:")) { -+ strncpy(m_impl->framebg, s, COLOR_LEN); -+ m_impl->framebg[COLOR_LEN-1] = '\0'; -+ s += strlen(m_impl->framebg); -+ } -+ - if (*s != '\0') { - fprintf(stderr, "\nwmx: Dynamic configuration error: " - "`%s' @ position %d", s, string - s); - } - -- } while (s = strtok(NULL, "/")); -+ } while ((s = strtok(NULL, "/"))); - - fprintf(stderr, "\n"); - - #undef OPTION - } -diff -NarU5 wmx-6pl1/config.cache wmx-cvs-2007-11-13/config.cache ---- wmx-6pl1/config.cache 2001-04-23 08:09:21.000000000 -0400 -+++ wmx-cvs-2007-11-13/config.cache 1969-12-31 19:00:00.000000000 -0500 -@@ -1,26 +0,0 @@ --# This file is a shell script that caches the results of configure --# tests run on this system so they can be shared between configure --# scripts and configure runs. It is not useful on other systems. --# If it contains results you don't want to keep, you may remove or edit it. --# --# By default, configure uses ./config.cache as the cache file, --# creating it if it does not exist already. You can give configure --# the --cache-file=FILE option to use a different cache file; that is --# what configure does when it calls configure scripts in --# subdirectories, so they share the cache. --# Giving --cache-file=/dev/null disables caching, for debugging configure. --# config.status only pays attention to the cache file if you give it the --# --recheck option to rerun configure. --# --ac_cv_have_x=${ac_cv_have_x='have_x=yes ac_x_includes=/usr/X11R6/include ac_x_libraries=/usr/X11R6/lib'} --ac_cv_lib_X11_XOpenDisplay=${ac_cv_lib_X11_XOpenDisplay='yes'} --ac_cv_lib_Xext_XShapeQueryExtension=${ac_cv_lib_Xext_XShapeQueryExtension='yes'} --ac_cv_lib_Xpm_XpmCreatePixmapFromData=${ac_cv_lib_Xpm_XpmCreatePixmapFromData='yes'} --ac_cv_path_TWM=${ac_cv_path_TWM='/usr/X11R6/bin/twm'} --ac_cv_prog_CXX=${ac_cv_prog_CXX='c++'} --ac_cv_prog_CXXCPP=${ac_cv_prog_CXXCPP='c++ -E'} --ac_cv_prog_cxx_cross=${ac_cv_prog_cxx_cross='no'} --ac_cv_prog_cxx_g=${ac_cv_prog_cxx_g='yes'} --ac_cv_prog_cxx_works=${ac_cv_prog_cxx_works='yes'} --ac_cv_prog_gxx=${ac_cv_prog_gxx='yes'} --ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set='yes'} -diff -NarU5 wmx-6pl1/Config.h wmx-cvs-2007-11-13/Config.h ---- wmx-6pl1/Config.h 2001-04-23 11:48:31.000000000 -0400 -+++ wmx-cvs-2007-11-13/Config.h 2003-08-14 09:07:12.000000000 -0400 -@@ -49,41 +49,42 @@ - int feedbackDelay(); - char disableNew(); - char rightCirculate(); - char rightLower(); - char rightToggleHeight(); -+ char *tabForeground(); -+ char *tabBackground(); -+ char *frameBackground(); - -- static DynamicConfig dynamicConfig; -+ static DynamicConfig config; - - private: - DynamicConfigImpl *m_impl; - void update(char *); - }; - --static DynamicConfig &dConfig = DynamicConfig::dynamicConfig; -- - - // ================================================= - // Section I. Straightforward operational parameters - // ================================================= - - // List visible as well as hidden clients on the root menu? (Visible - // ones will be towards the bottom of the menu, flush-right.) --#define CONFIG_EVERYTHING_ON_ROOT_MENU (dConfig.fullMenu()) -+#define CONFIG_EVERYTHING_ON_ROOT_MENU (DynamicConfig::config.fullMenu()) - - // Spawn a temporary new shell between the wm and each new process? - #define CONFIG_EXEC_USING_SHELL False - - // What to run to get a new window (from the "New" menu option) - #define CONFIG_NEW_WINDOW_LABEL "New" --//#define CONFIG_NEW_WINDOW_COMMAND "xterm" --#define CONFIG_NEW_WINDOW_COMMAND "/home/chris/.wmx/terminal" -+#define CONFIG_NEW_WINDOW_COMMAND "xterm" -+//#define CONFIG_NEW_WINDOW_COMMAND "/home/ccannam/.wmx/terminal" - #define CONFIG_NEW_WINDOW_COMMAND_OPTIONS 0 - // or, for example, - //#define CONFIG_NEW_WINDOW_COMMAND_OPTIONS "-ls","-sb","-sl","1024",0 - // alternatively, --#define CONFIG_DISABLE_NEW_WINDOW_COMMAND (dConfig.disableNew()) -+#define CONFIG_DISABLE_NEW_WINDOW_COMMAND (DynamicConfig::config.disableNew()) - - // Area where [exit wmx] is added (0 -> everywhere -# -> px from other side) - #define CONFIG_EXIT_CLICK_SIZE_X 0 - #define CONFIG_EXIT_CLICK_SIZE_Y -3 - -@@ -101,24 +102,24 @@ - // You can't have CLICK_TO_FOCUS without RAISE_ON_FOCUS, but the other - // combinations should be okay. If you set AUTO_RAISE you must leave - // the other two False; you'll then get focus-follows, auto-raise, and - // a delay on auto-raise as configured in the DELAY settings below. - --#define CONFIG_CLICK_TO_FOCUS (dConfig.clickFocus()) --#define CONFIG_RAISE_ON_FOCUS (dConfig.raiseFocus()) --#define CONFIG_AUTO_RAISE (dConfig.autoRaiseFocus()) -+#define CONFIG_CLICK_TO_FOCUS (DynamicConfig::config.clickFocus()) -+#define CONFIG_RAISE_ON_FOCUS (DynamicConfig::config.raiseFocus()) -+#define CONFIG_AUTO_RAISE (DynamicConfig::config.autoRaiseFocus()) - - // Delays when using AUTO_RAISE focus method - // - // In theory these only apply when using AUTO_RAISE, not when just - // using RAISE_ON_FOCUS without CLICK_TO_FOCUS. First of these is the - // usual delay before raising; second is the delay after the pointer - // has stopped moving (only when over simple X windows such as xvt). - --#define CONFIG_AUTO_RAISE_DELAY (dConfig.raiseDelay()) -+#define CONFIG_AUTO_RAISE_DELAY (DynamicConfig::config.raiseDelay()) - #define CONFIG_POINTER_STOPPED_DELAY 80 --#define CONFIG_DESTROY_WINDOW_DELAY 1000 -+#define CONFIG_DESTROY_WINDOW_DELAY 600 - - // Number of pixels off the screen you have to push a window - // before the manager notices the window is off-screen (the higher - // the value, the easier it is to place windows at the screen edges) - -@@ -171,17 +172,17 @@ - // ======================== - // Section II. Key bindings - // ======================== - - // Allow keyboard control? --#define CONFIG_USE_KEYBOARD (dConfig.useKeyboard()) -+#define CONFIG_USE_KEYBOARD (DynamicConfig::config.useKeyboard()) - - // This is the key for wm controls: e.g. Alt/Left and Alt/Right to - // flip channels, and Alt/Tab to switch windows. (On my 105-key - // PC keyboard, Meta_L corresponds to the left Windows key.) - --#define CONFIG_ALT_KEY XK_Meta_L -+#define CONFIG_ALT_KEY XK_Super_L - - // And these define the rest of the keyboard controls, when the above - // modifier is pressed; they're keysyms as defined in - // and - -@@ -232,10 +233,21 @@ - #define CONFIG_QUICKRAISE_ALSO_LOWERS True - #define CONFIG_SUNPOWER_EXEC "/usr/openwin/bin/sys-suspend" - #define CONFIG_SUNPOWER_OPTIONS "-x","-h",0 - #define CONFIG_SUNPOWER_SHIFTOPTIONS "-x","-n",0 - -+// Mouse Configuration -+// Use this section to remap your mouse button actions. -+// Button1 = LMB, Button2 = MMB, Button3 = RMB -+// Button4 = WheelUp, Button5 = WheelDown -+ -+#define CONFIG_CLIENTMENU_BUTTON Button1 -+#define CONFIG_COMMANDMENU_BUTTON Button2 -+#define CONFIG_CIRCULATE_BUTTON Button3 -+#define CONFIG_PREVCHANNEL_BUTTON Button5 -+#define CONFIG_NEXTCHANNEL_BUTTON Button4 -+ - - // ============================== - // Section III. Colours and fonts - // ============================== - -@@ -261,14 +273,12 @@ - #if I18N - #define CONFIG_NICE_FONT "-*-lucida-bold-r-*-*-14-*-75-75-*-*-*-*,-*-*-medium-r-*-*-14-*-75-75-*-*-*-*" - #define CONFIG_NICE_MENU_FONT "-*-lucida-medium-r-*-*-14-*-75-75-*-*-*-*,-*-*-medium-r-*-*-14-*-75-75-*-*-*-*" - #define CONFIG_NASTY_FONT "fixed,-*-*-*-*-*-*-14-*-75-75-*-*-*-*" - #else --//#define CONFIG_NICE_FONT "-*-lucida-bold-r-*-*-14-*-75-75-*-*-*-*" --//#define CONFIG_NICE_MENU_FONT "-*-lucida-medium-r-*-*-14-*-75-75-*-*-*-*" --#define CONFIG_NICE_FONT "-*-verdana-medium-r-*-*-12-*-*-*-*-*-*-*" --#define CONFIG_NICE_MENU_FONT "-*-verdana-medium-r-*-*-12-*-*-*-*-*-*-*" -+#define CONFIG_NICE_FONT "-*-lucida-bold-r-*-*-14-*-75-75-*-*-*-*" -+#define CONFIG_NICE_MENU_FONT "-*-lucida-medium-r-*-*-14-*-75-75-*-*-*-*" - #define CONFIG_NASTY_FONT "fixed" - #endif - - // If USE_PLAIN_X_CURSORS is True, wmx will use cursors from the - // standard X cursor font; otherwise it will install its own. You may -@@ -280,19 +290,19 @@ - - // Colours for window decorations. The BORDERS one is for the - // one-pixel border around the edge of each piece of decoration, not - // for the whole decoration - --#define CONFIG_TAB_FOREGROUND "black" --#define CONFIG_TAB_BACKGROUND "gray80" --#define CONFIG_FRAME_BACKGROUND "gray95" --#define CONFIG_BUTTON_BACKGROUND "gray95" -+#define CONFIG_TAB_FOREGROUND (DynamicConfig::config.tabForeground()) -+#define CONFIG_TAB_BACKGROUND (DynamicConfig::config.tabBackground()) -+#define CONFIG_FRAME_BACKGROUND (DynamicConfig::config.frameBackground()) -+#define CONFIG_BUTTON_BACKGROUND (DynamicConfig::config.frameBackground()) - #define CONFIG_BORDERS "black" - #define CONFIG_CHANNEL_NUMBER "green" - --#define CONFIG_MENU_FOREGROUND "black" --#define CONFIG_MENU_BACKGROUND "gray80" -+#define CONFIG_MENU_FOREGROUND (DynamicConfig::config.tabForeground()) -+#define CONFIG_MENU_BACKGROUND (DynamicConfig::config.tabBackground()) - #define CONFIG_MENU_BORDERS "black" - - // Pixel width for the bit of frame to the left of the window and the - // sum of the two bits at the top - -@@ -339,12 +349,12 @@ - // post the entire window contents instead; if it's negative, the - // contents will never be posted. Experiment with these -- if your - // machine is fast and you're really hyper, you might even like a - // delay of 0ms. - --#define CONFIG_MAD_FEEDBACK (dConfig.useFeedback()) --#define CONFIG_FEEDBACK_DELAY (dConfig.feedbackDelay()) -+#define CONFIG_MAD_FEEDBACK (DynamicConfig::config.useFeedback()) -+#define CONFIG_FEEDBACK_DELAY (DynamicConfig::config.feedbackDelay()) - - // Groups are fun. you can bind a bunch of windows to a number key - // and when you press CONFIG_ALT_KEY_MASK and the number key - // all the windows of that group are raised. - -diff -NarU5 wmx-6pl1/config.log wmx-cvs-2007-11-13/config.log ---- wmx-6pl1/config.log 2001-04-24 04:58:56.000000000 -0400 -+++ wmx-cvs-2007-11-13/config.log 1969-12-31 19:00:00.000000000 -0500 -@@ -1,17 +0,0 @@ --This file contains any messages produced by compilers while --running configure, to aid debugging if configure makes a mistake. -- --configure:529: checking whether make sets ${MAKE} --configure:560: checking for c++ --configure:592: checking whether the C++ compiler (c++ ) works --configure:608: c++ -o conftest conftest.C 1>&5 --configure:634: checking whether the C++ compiler (c++ ) is a cross-compiler --configure:639: checking whether we are using GNU C++ --configure:667: checking whether c++ accepts -g --configure:707: checking how to run the C++ preprocessor --configure:754: checking for X --configure:997: checking for XOpenDisplay in -lX11 --configure:1048: checking for XShapeQueryExtension in -lXext --configure:1099: checking for XpmCreatePixmapFromData in -lXpm --configure:1154: checking for twm --configure:1193: checking whether you're still watching -diff -NarU5 wmx-6pl1/config.status wmx-cvs-2007-11-13/config.status ---- wmx-6pl1/config.status 2001-04-24 04:58:56.000000000 -0400 -+++ wmx-cvs-2007-11-13/config.status 1969-12-31 19:00:00.000000000 -0500 -@@ -1,153 +0,0 @@ --#! /bin/sh --# Generated automatically by configure. --# Run this file to recreate the current configuration. --# This directory was configured as follows, --# on host amanita: --# --# ./configure --# --# Compiler output produced by configure, useful for debugging --# configure, is in ./config.log if it exists. -- --ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]" --for ac_option --do -- case "$ac_option" in -- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -- echo "running ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion" -- exec ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion ;; -- -version | --version | --versio | --versi | --vers | --ver | --ve | --v) -- echo "./config.status generated by autoconf version 2.13" -- exit 0 ;; -- -help | --help | --hel | --he | --h) -- echo "$ac_cs_usage"; exit 0 ;; -- *) echo "$ac_cs_usage"; exit 1 ;; -- esac --done -- --ac_given_srcdir=. -- --trap 'rm -fr Makefile conftest*; exit 1' 1 2 15 -- --# Protect against being on the right side of a sed subst in config.status. --sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g; -- s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF --/^[ ]*VPATH[ ]*=[^:]*$/d -- --s%@SHELL@%/bin/sh%g --s%@CFLAGS@%%g --s%@CPPFLAGS@%%g --s%@CXXFLAGS@%-g -O2 -I/usr/X11R6/include%g --s%@FFLAGS@%%g --s%@DEFS@% -DHAVE_LIBX11=1 -DHAVE_LIBXEXT=1 -DHAVE_LIBXPM=1 %g --s%@LDFLAGS@% -L/usr/X11R6/lib%g --s%@LIBS@%-lXpm -lXext -lX11 %g --s%@exec_prefix@%${prefix}%g --s%@prefix@%/usr/X11R6%g --s%@program_transform_name@%s,x,x,%g --s%@bindir@%${exec_prefix}/bin%g --s%@sbindir@%${exec_prefix}/sbin%g --s%@libexecdir@%${exec_prefix}/libexec%g --s%@datadir@%${prefix}/share%g --s%@sysconfdir@%${prefix}/etc%g --s%@sharedstatedir@%${prefix}/com%g --s%@localstatedir@%${prefix}/var%g --s%@libdir@%${exec_prefix}/lib%g --s%@includedir@%${prefix}/include%g --s%@oldincludedir@%/usr/include%g --s%@infodir@%${prefix}/info%g --s%@mandir@%${prefix}/man%g --s%@SET_MAKE@%%g --s%@CXX@%c++%g --s%@CXXCPP@%c++ -E%g --s%@TWM@%/usr/X11R6/bin/twm%g -- --CEOF -- --# Split the substitutions into bite-sized pieces for seds with --# small command number limits, like on Digital OSF/1 and HP-UX. --ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. --ac_file=1 # Number of current file. --ac_beg=1 # First line for current file. --ac_end=$ac_max_sed_cmds # Line after last line for current file. --ac_more_lines=: --ac_sed_cmds="" --while $ac_more_lines; do -- if test $ac_beg -gt 1; then -- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file -- else -- sed "${ac_end}q" conftest.subs > conftest.s$ac_file -- fi -- if test ! -s conftest.s$ac_file; then -- ac_more_lines=false -- rm -f conftest.s$ac_file -- else -- if test -z "$ac_sed_cmds"; then -- ac_sed_cmds="sed -f conftest.s$ac_file" -- else -- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" -- fi -- ac_file=`expr $ac_file + 1` -- ac_beg=$ac_end -- ac_end=`expr $ac_end + $ac_max_sed_cmds` -- fi --done --if test -z "$ac_sed_cmds"; then -- ac_sed_cmds=cat --fi -- --CONFIG_FILES=${CONFIG_FILES-"Makefile"} --for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then -- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -- case "$ac_file" in -- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` -- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; -- *) ac_file_in="${ac_file}.in" ;; -- esac -- -- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. -- -- # Remove last slash and all that follows it. Not all systems have dirname. -- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` -- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then -- # The file is in a subdirectory. -- test ! -d "$ac_dir" && mkdir "$ac_dir" -- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" -- # A "../" for each directory in $ac_dir_suffix. -- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` -- else -- ac_dir_suffix= ac_dots= -- fi -- -- case "$ac_given_srcdir" in -- .) srcdir=. -- if test -z "$ac_dots"; then top_srcdir=. -- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; -- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; -- *) # Relative path. -- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" -- top_srcdir="$ac_dots$ac_given_srcdir" ;; -- esac -- -- -- echo creating "$ac_file" -- rm -f "$ac_file" -- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." -- case "$ac_file" in -- *Makefile*) ac_comsub="1i\\ --# $configure_input" ;; -- *) ac_comsub= ;; -- esac -- -- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` -- sed -e "$ac_comsub --s%@configure_input@%$configure_input%g --s%@srcdir@%$srcdir%g --s%@top_srcdir@%$top_srcdir%g --" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file --fi; done --rm -f conftest.s* -- -- -- --exit 0 -diff -NarU5 wmx-6pl1/CVS/Entries wmx-cvs-2007-11-13/CVS/Entries ---- wmx-6pl1/CVS/Entries 1969-12-31 19:00:00.000000000 -0500 -+++ wmx-cvs-2007-11-13/CVS/Entries 2007-11-13 20:50:32.000000000 -0500 -@@ -0,0 +1,29 @@ -+/ANNOYING-BUGS/1.1/Tue Aug 12 13:24:10 2003// -+/Border.C/1.9/Thu Aug 14 12:54:22 2003// -+/Border.h/1.4/Tue Aug 12 13:11:19 2003// -+/Buttons.C/1.14/Thu Aug 14 13:07:12 2003// -+/Channel.C/1.11/Sun Aug 17 13:56:59 2003// -+/Client.C/1.12/Thu Oct 11 15:10:32 2007// -+/Client.h/1.10/Thu Oct 11 15:10:33 2007// -+/Config.C/1.5/Mon Jun 19 11:08:35 2006// -+/Config.h/1.15/Thu Aug 14 13:07:12 2003// -+/Cursors.h/1.1/Tue Aug 12 12:55:17 2003// -+/Events.C/1.9/Thu Aug 14 13:07:12 2003// -+/General.h/1.4/Tue Aug 12 13:11:19 2003// -+/Main.C/1.2/Tue Aug 12 13:07:39 2003// -+/Makefile.in/1.1/Tue Aug 12 13:11:19 2003// -+/Manager.C/1.13/Thu Aug 14 13:07:12 2003// -+/Manager.h/1.13/Tue Aug 12 14:50:47 2003// -+/Menu.C/1.11/Thu Aug 14 13:07:12 2003// -+/Menu.h/1.7/Tue Aug 12 13:16:28 2003// -+/README/1.8/Tue Aug 12 13:21:33 2003// -+/README.contrib/1.1/Tue Aug 12 13:07:39 2003// -+/Rotated.C/1.4/Tue Aug 12 13:16:28 2003// -+/Rotated.h/1.4/Tue Aug 12 13:16:28 2003// -+/Session.C/1.1/Tue Aug 12 13:07:39 2003// -+/UPDATES/1.3/Tue Aug 12 14:49:35 2003// -+/background.xpm/1.2/Tue Aug 12 13:17:29 2003// -+/configure/1.1/Tue Aug 12 13:11:19 2003// -+/configure.in/1.1/Tue Aug 12 13:11:19 2003// -+/listmacro.h/1.1/Tue Aug 12 13:07:39 2003// -+D -diff -NarU5 wmx-6pl1/CVS/Repository wmx-cvs-2007-11-13/CVS/Repository ---- wmx-6pl1/CVS/Repository 1969-12-31 19:00:00.000000000 -0500 -+++ wmx-cvs-2007-11-13/CVS/Repository 2007-11-13 20:50:32.000000000 -0500 -@@ -0,0 +1 @@ -+wmx -diff -NarU5 wmx-6pl1/CVS/Root wmx-cvs-2007-11-13/CVS/Root ---- wmx-6pl1/CVS/Root 1969-12-31 19:00:00.000000000 -0500 -+++ wmx-cvs-2007-11-13/CVS/Root 2007-11-13 20:50:32.000000000 -0500 -@@ -0,0 +1 @@ -+:pserver:anonymous@wm2.cvs.sourceforge.net:/cvsroot/wm2 -diff -NarU5 wmx-6pl1/Events.C wmx-cvs-2007-11-13/Events.C ---- wmx-6pl1/Events.C 2001-08-31 04:02:49.000000000 -0400 -+++ wmx-cvs-2007-11-13/Events.C 2003-08-14 09:07:12.000000000 -0400 -@@ -244,11 +244,11 @@ - - void WindowManager::checkDelaysForFocus() - { - if (!CONFIG_AUTO_RAISE) return; - -- int t = timestamp(True); -+ Time t = timestamp(True); - - if (m_focusPointerMoved) { // only raise when pointer stops - - if (t < m_focusTimestamp || - t - m_focusTimestamp > CONFIG_POINTER_STOPPED_DELAY) { -@@ -262,11 +262,11 @@ - } else m_focusPointerNowStill = True; // until proven false - } - } else { - - if (t < m_focusTimestamp || -- t - m_focusTimestamp > CONFIG_AUTO_RAISE_DELAY) { -+ t - m_focusTimestamp > (Time)CONFIG_AUTO_RAISE_DELAY) { - - m_focusCandidate->focusIfAppropriate(True); - - // if (m_focusCandidate->isNormal()) m_focusCandidate->mapRaised(); - // stopConsideringFocus(); -diff -NarU5 wmx-6pl1/Makefile wmx-cvs-2007-11-13/Makefile ---- wmx-6pl1/Makefile 2001-04-24 04:58:56.000000000 -0400 -+++ wmx-cvs-2007-11-13/Makefile 1969-12-31 19:00:00.000000000 -0500 -@@ -1,69 +0,0 @@ --# Generated automatically from Makefile.in by configure. -- --CCC=c++ --prefix=/usr/X11R6 --exec_prefix=${prefix} -- --# If you're not using background pixmaps, remove -lXpm from the LIBS. --# If your X libraries are somewhere other than /usr/X11/lib, give their --# location here. --#LIBS = -L/usr/X11/lib -lXpm -lXext -lX11 -lXmu -lSM -lICE -lm --LIBS=-lXpm -lXext -lX11 --LDFLAGS= -L/usr/X11R6/lib -- -- --# If your X includes are not in /usr/include/X11, add their location --# as a -I option here (excluding the X11 bit). If you're using I18N --# and Xlocale, please add -DX_LOCALE. --#CFLAGS = -g -O2 -I/usr/include -I/usr/openwin/include --CXXFLAGS=-g -O2 -I/usr/X11R6/include -- --OBJECTS = Border.o Buttons.o Channel.o Client.o Config.o Events.o Main.o Manager.o Menu.o Rotated.o Session.o -- --.C.o: -- $(CCC) -c $(CXXFLAGS) $< -- --all: wmx -- --wmx: $(OBJECTS) -- test -f wmx && mv -f wmx wmx.old || true -- $(CCC) -o wmx $(OBJECTS) $(LDFLAGS) $(LIBS) -- --depend: -- -awk '{print;} /^# DO NOT DELETE/{exit}' Makefile>Makefile.dep -- test -s Makefile.dep -- mv Makefile.dep Makefile;g++ -MM $(CXXFLAGS) *.C>>Makefile -- --clean: -- rm -f *.o core -- --distclean: clean -- rm -f wmx wmx.old *~ *.bak *.org *.orig config.* Makefile -- --install: -- -mv -f ${exec_prefix}/bin/wmx ${exec_prefix}/bin/wmx.old -- cp wmx ${exec_prefix}/bin/wmx -- -chmod 0755 ${exec_prefix}/bin/wmx -- -chown root:wheel ${exec_prefix}/bin/wmx -- -rm -f ${exec_prefix}/bin/wmx.old -- --# DO NOT DELETE -- make depend depends on it --Border.o: Border.C Border.h General.h Config.h Rotated.h Client.h \ -- Manager.h listmacro.h background.xpm --Buttons.o: Buttons.C Manager.h General.h Config.h listmacro.h Client.h \ -- Border.h Rotated.h Menu.h --Channel.o: Channel.C Manager.h General.h Config.h listmacro.h Client.h \ -- Border.h Rotated.h --Client.o: Client.C Manager.h General.h Config.h listmacro.h Client.h \ -- Border.h Rotated.h --Config.o: Config.C Config.h --Events.o: Events.C Manager.h General.h Config.h listmacro.h Client.h \ -- Border.h Rotated.h --Main.o: Main.C Manager.h General.h Config.h listmacro.h Client.h \ -- Border.h Rotated.h --Manager.o: Manager.C Manager.h General.h Config.h listmacro.h Menu.h \ -- Client.h Border.h Rotated.h Cursors.h --Menu.o: Menu.C Menu.h General.h Config.h Manager.h listmacro.h \ -- Client.h Border.h Rotated.h --Rotated.o: Rotated.C Config.h Rotated.h --Session.o: Session.C Manager.h General.h Config.h listmacro.h -diff -NarU5 wmx-6pl1/Manager.C wmx-cvs-2007-11-13/Manager.C ---- wmx-6pl1/Manager.C 2001-04-23 05:10:42.000000000 -0400 -+++ wmx-cvs-2007-11-13/Manager.C 2003-08-14 09:07:12.000000000 -0400 -@@ -53,18 +53,19 @@ - m_altModMask(0) // later - { - char *home = getenv("HOME"); - char *wmxdir = getenv("WMXDIR"); - -- fprintf(stderr, "\nwmx: Copyright (c) 1996-2001 Chris Cannam." -- " Sixth release, April 2001\n" -+ fprintf(stderr, "\nwmx: Copyright (c) 1996-2003 Chris Cannam." -+ " Not a release\n" - " Parts derived from 9wm Copyright (c) 1994-96 David Hogan\n" - " Command menu code Copyright (c) 1997 Jeremy Fitzhardinge\n" - " Japanize code Copyright (c) 1998 Kazushi (Jam) Marukawa\n" - " Original keyboard-menu code Copyright (c) 1998 Nakayama Shintaro\n" - " Dynamic configuration code Copyright (c) 1998 Stefan `Sec' Zehl\n" - " Multihead display code Copyright (c) 2000 Sven Oliver `SvOlli' Moll\n" -+ " See source distribution for other patch contributors\n" - " %s\n Copying and redistribution encouraged. " - "No warranty.\n\n", XV_COPYRIGHT); - - int i; - #if CONFIG_USE_SESSION_MANAGER != False -@@ -515,11 +516,13 @@ - - char error[100]; - sprintf(error, "couldn't load %s colour", desc); - fatal(error); - -- } else return nearest.pixel; -+ } -+ -+ return nearest.pixel; - } - - - void WindowManager::installCursor(RootCursor c) - { -@@ -568,15 +571,16 @@ - m_restart = True; - } - - void WindowManager::scanInitialWindows() - { -- unsigned int i, n, s; -+ unsigned int i, n; -+ int s; - Window w1, w2, *wins; - XWindowAttributes attr; - -- for(s=0;sdeactivate(); -+ } -+ m_activeClient = c; -+} -+ - void WindowManager::clearFocus() - { - static Window w = 0; - Client *active = activeClient(); - -diff -NarU5 wmx-6pl1/Manager.h wmx-cvs-2007-11-13/Manager.h ---- wmx-6pl1/Manager.h 2001-04-24 04:58:31.000000000 -0400 -+++ wmx-cvs-2007-11-13/Manager.h 2003-08-12 10:50:47.000000000 -0400 -@@ -25,11 +25,11 @@ - Client *activeClient() { return m_activeClient; } - Boolean raiseTransients(Client *); // true if raised any - Time timestamp(Boolean reset); - void clearFocus(); - -- void setActiveClient(Client *const c) { m_activeClient = c; } -+ void setActiveClient(Client *const c); - - void addToHiddenList(Client *); - void removeFromHiddenList(Client *); - void skipInRevert(Client *, Client *); - -diff -NarU5 wmx-6pl1/Menu.C wmx-cvs-2007-11-13/Menu.C ---- wmx-6pl1/Menu.C 2001-10-05 09:01:21.000000000 -0400 -+++ wmx-cvs-2007-11-13/Menu.C 2003-08-14 09:07:12.000000000 -0400 -@@ -25,12 +25,13 @@ - #define STRLEN_MITEMS(i) strlen(m_items[(i)]) - #endif - - Menu::Menu(WindowManager *manager, XEvent *e) - : m_items(0), m_nItems(0), m_nHidden(0), -- m_windowManager(manager), m_event(e), -- m_hasSubmenus(False) -+ m_hasSubmenus(False), -+ m_windowManager(manager), -+ m_event(e) - { - if (!m_initialised) - { - XGCValues *values; - XSetWindowAttributes *attr; -@@ -236,11 +237,11 @@ - { - int i; - foundEvent = False; - - if (CONFIG_FEEDBACK_DELAY >= 0 && -- tdiff > CONFIG_FEEDBACK_DELAY && -+ tdiff > (unsigned long)CONFIG_FEEDBACK_DELAY && - !isKeyboardMenu && // removeFeedback didn't seem to work for it - !speculating) { - - if (selecting >= 0 && selecting < m_nItems) { - raiseFeedbackLevel(selecting); -@@ -618,12 +619,11 @@ - { - if (Client *c = checkFeedback(item)) c->raiseFeedbackLevel(); - } - - --CommandMenu::CommandMenu(WindowManager *manager, XEvent *e, -- char* otherdir = NULL) -+CommandMenu::CommandMenu(WindowManager *manager, XEvent *e, char* otherdir) - : Menu(manager, e) - { - const char *home = getenv("HOME"); - const char *wmxdir = getenv("WMXDIR"); - -diff -NarU5 wmx-6pl1/UPDATES wmx-cvs-2007-11-13/UPDATES ---- wmx-6pl1/UPDATES 2000-05-11 12:42:30.000000000 -0400 -+++ wmx-cvs-2007-11-13/UPDATES 2003-08-12 10:49:35.000000000 -0400 -@@ -1,7 +1,12 @@ - /* vim:set ts=4 ai: ,e to add info */ - -+- 2000/05/12 -+ added Zvezdan Petkovic's patch for horizontal and full- -+ screen maximise as well as vertical, and to make maximise -+ and unmaximise optionally use the same key (toggle). -+ - wmx-6pre4: - - - 2000/05/11 - change so as to use alt-modifier keysym instead of - coding the mask straight in to Config.h. now Manager.C diff --git a/wmx-6pl1-cfg.patch b/wmx-7-cfg.patch similarity index 56% rename from wmx-6pl1-cfg.patch rename to wmx-7-cfg.patch index dc168f6..aaaabc8 100644 --- a/wmx-6pl1-cfg.patch +++ b/wmx-7-cfg.patch @@ -1,19 +1,7 @@ -diff -NarU5 wmx-6pl1.orig/Config.h wmx-6pl1/Config.h ---- wmx-6pl1.orig/Config.h 2007-12-25 17:08:03.000000000 -0500 -+++ wmx-6pl1/Config.h 2007-12-25 17:10:44.000000000 -0500 -@@ -75,11 +75,10 @@ - #define CONFIG_EXEC_USING_SHELL False - - // What to run to get a new window (from the "New" menu option) - #define CONFIG_NEW_WINDOW_LABEL "New" - #define CONFIG_NEW_WINDOW_COMMAND "xterm" --//#define CONFIG_NEW_WINDOW_COMMAND "/home/ccannam/.wmx/terminal" - #define CONFIG_NEW_WINDOW_COMMAND_OPTIONS 0 - // or, for example, - //#define CONFIG_NEW_WINDOW_COMMAND_OPTIONS "-ls","-sb","-sl","1024",0 - // alternatively, - #define CONFIG_DISABLE_NEW_WINDOW_COMMAND (DynamicConfig::config.disableNew()) -@@ -90,11 +89,11 @@ +diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h +--- wmx-7.orig/Config.h 2009-01-09 06:18:03.000000000 -0500 ++++ wmx-7/Config.h 2009-01-11 12:22:25.000000000 -0500 +@@ -93,11 +93,11 @@ // Directory under $HOME in which to look for commands for the // middle-button menu @@ -26,7 +14,7 @@ diff -NarU5 wmx-6pl1.orig/Config.h wmx-6pl1/Config.h #define CONFIG_ADD_SCREEN_TO_COMMAND_MENU False // Focus possibilities. -@@ -121,11 +120,11 @@ +@@ -126,11 +126,11 @@ // Number of pixels off the screen you have to push a window // before the manager notices the window is off-screen (the higher @@ -35,11 +23,11 @@ diff -NarU5 wmx-6pl1.orig/Config.h wmx-6pl1/Config.h -#define CONFIG_BUMP_DISTANCE 16 +#define CONFIG_BUMP_DISTANCE 32 - // If CONFIG_PROD_SHAPE is True, all frame element shapes will be - // recalculated afresh every time their focus changes. This will - // probably slow things down hideously, but has been reported as - // necessary on some systems (possibly SunOS 4.x with OpenWindows). -@@ -178,11 +177,11 @@ + // If CONFIG_BUMP_EVERYWHERE is defined, windows will "bump" against + // other window edges as well as the edges of the screen + + #define CONFIG_BUMP_EVERYWHERE True +@@ -185,11 +185,11 @@ // This is the key for wm controls: e.g. Alt/Left and Alt/Right to // flip channels, and Alt/Tab to switch windows. (On my 105-key @@ -52,20 +40,7 @@ diff -NarU5 wmx-6pl1.orig/Config.h wmx-6pl1/Config.h // modifier is pressed; they're keysyms as defined in // and -@@ -284,11 +283,11 @@ - // standard X cursor font; otherwise it will install its own. You may - // wish to set this if your X client and server are on different - // endian machines, or if you've aliased the cursor font to something - // else you like better, or if you just prefer the plain X cursors - --#define CONFIG_USE_PLAIN_X_CURSORS False -+#define CONFIG_USE_PLAIN_X_CURSORS True - - // Colours for window decorations. The BORDERS one is for the - // one-pixel border around the edge of each piece of decoration, not - // for the whole decoration - -@@ -304,11 +303,11 @@ +@@ -329,11 +329,11 @@ #define CONFIG_MENU_BORDERS "black" // Pixel width for the bit of frame to the left of the window and the @@ -78,7 +53,7 @@ diff -NarU5 wmx-6pl1.orig/Config.h wmx-6pl1/Config.h // ======================== // Section IV. Flashy stuff // ======================== -@@ -317,11 +316,11 @@ +@@ -342,11 +342,11 @@ // in ./background.xpm; if USE_PIXMAP_MENUS is also True, the menus // will be too. The latter screws up in palette-based visuals, but // should be okay in true-colour. diff --git a/wmx.spec b/wmx.spec index b2a7464..c7f1169 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx -Version: 6pl1 -Release: 18%{?dist} +Version: 7 +Release: 1%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -11,10 +11,9 @@ Source2: background.xpm Source3: wmx.desktop Source4: Xclients.wmx.sh Source5: xnodecor.c -Patch0: wmx-6pl1-cvs20071113.patch -Patch1: wmx-6pl1-cfg.patch +Patch0: wmx-7-cfg.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel +BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel freetype-devel libXft-devel %description A really simple window manager for X, based on wm2, with a minimal set of @@ -22,10 +21,9 @@ configurable options. %prep %setup -q -%setup -a 1 -%{__install} -p %{SOURCE2} . +%setup -q -a 1 +%{__install} -p -m 0644 %{SOURCE2} . %patch0 -p1 -%patch1 -p1 %build %configure --x-libraries=%{_libdir} --x-includes=%{_includedir}/X11 @@ -47,12 +45,15 @@ configurable options. %files %defattr(-,root,root) -%doc README* UPDATES ANNOYING-BUGS +%doc README* UPDATES TODO.netwm rsharman-patch/ %{_bindir}/* %{_datadir}/* %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jan 10 2009 Gabriel Somlo 7-1 +- update to 7 + * Tue Feb 19 2008 Fedora Release Engineering - 6pl1-18 - Autorebuild for GCC 4.3 @@ -113,8 +114,8 @@ configurable options. * Fri Dec 16 2005 Gabriel Somlo 6pl1-3 - spec file fixes as per P. Lemenkov and I. Vazquez - default menu entries now go in /usr/share/wmx/menu -- example wmx .xsession file added to %doc -- gave up on using /usr/X11R6/bin -- using %{_bindir} instead +- example wmx .xsession file added to doc +- gave up on using /usr/X11R6/bin -- using bindir instead * Wed Dec 14 2005 Gabriel Somlo 6pl1-2 - increased bump-distance parameter for easier placement at edge of screen From 84d28771cadf17e3071cbcd014d2109d577ec24e Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Tue, 13 Jan 2009 18:33:36 +0000 Subject: [PATCH 07/57] re-enabled scroll-wheel-cycles-channels feature --- wmx-7-cfg.patch | 17 ++++++++++++++++- wmx.spec | 5 ++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/wmx-7-cfg.patch b/wmx-7-cfg.patch index aaaabc8..54daec3 100644 --- a/wmx-7-cfg.patch +++ b/wmx-7-cfg.patch @@ -1,6 +1,6 @@ diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h --- wmx-7.orig/Config.h 2009-01-09 06:18:03.000000000 -0500 -+++ wmx-7/Config.h 2009-01-11 12:22:25.000000000 -0500 ++++ wmx-7/Config.h 2009-01-13 13:23:31.000000000 -0500 @@ -93,11 +93,11 @@ // Directory under $HOME in which to look for commands for the @@ -40,6 +40,21 @@ diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h // modifier is pressed; they're keysyms as defined in // and +@@ -253,12 +253,12 @@ + // at all, define it to CONFIG_NO_BUTTON. + #define CONFIG_NO_BUTTON 999 + #define CONFIG_CLIENTMENU_BUTTON Button1 + #define CONFIG_COMMANDMENU_BUTTON Button2 + #define CONFIG_CIRCULATE_BUTTON Button3 // switch window, when over frame +-#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON // flip channel, when over frame +-#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON ++#define CONFIG_PREVCHANNEL_BUTTON Button4 // flip channel, when over frame ++#define CONFIG_NEXTCHANNEL_BUTTON Button5 + //#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON + //#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON + + + // ============================== @@ -329,11 +329,11 @@ #define CONFIG_MENU_BORDERS "black" diff --git a/wmx.spec b/wmx.spec index c7f1169..842a23e 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -51,6 +51,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Tue Jan 13 2009 Gabriel Somlo 7-2 +- re-enabled scroll-wheel-cycles-channels feature + * Sat Jan 10 2009 Gabriel Somlo 7-1 - update to 7 From 9268e81e3131785ddf7146b89a0250bc7fc89ebf Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Wed, 21 Jan 2009 16:08:14 +0000 Subject: [PATCH 08/57] patch and buildreq for libXcomposite --- wmx-7-cfg.patch | 15 --- wmx-7-composite.patch | 227 ++++++++++++++++++++++++++++++++++++++++++ wmx.spec | 18 ++-- 3 files changed, 239 insertions(+), 21 deletions(-) create mode 100644 wmx-7-composite.patch diff --git a/wmx-7-cfg.patch b/wmx-7-cfg.patch index 54daec3..b6ce74b 100644 --- a/wmx-7-cfg.patch +++ b/wmx-7-cfg.patch @@ -40,21 +40,6 @@ diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h // modifier is pressed; they're keysyms as defined in // and -@@ -253,12 +253,12 @@ - // at all, define it to CONFIG_NO_BUTTON. - #define CONFIG_NO_BUTTON 999 - #define CONFIG_CLIENTMENU_BUTTON Button1 - #define CONFIG_COMMANDMENU_BUTTON Button2 - #define CONFIG_CIRCULATE_BUTTON Button3 // switch window, when over frame --#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON // flip channel, when over frame --#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON -+#define CONFIG_PREVCHANNEL_BUTTON Button4 // flip channel, when over frame -+#define CONFIG_NEXTCHANNEL_BUTTON Button5 - //#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON - //#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON - - - // ============================== @@ -329,11 +329,11 @@ #define CONFIG_MENU_BORDERS "black" diff --git a/wmx-7-composite.patch b/wmx-7-composite.patch new file mode 100644 index 0000000..fa9520f --- /dev/null +++ b/wmx-7-composite.patch @@ -0,0 +1,227 @@ +diff -NarU5 wmx-7.orig/Config.h wm2-wmx-trunk/wmx/Config.h +--- wmx-7.orig/Config.h 2009-01-09 06:18:03.000000000 -0500 ++++ wm2-wmx-trunk/wmx/Config.h 2009-01-19 13:49:50.000000000 -0500 +@@ -146,10 +146,18 @@ + // if False, behaviour will be as in wm2 (stretching the background + // image only). + + #define CONFIG_RESIZE_UPDATE True + ++// If USE_COMPOSITE is true, wmx will enable composite redirects for ++// all windows if the Composite extension is present. This should ++// make no difference at all to the appearance or behaviour of wmx, ++// but it may make it substantially faster with modern video cards ++// that optimise rendering more than old-fashioned window operations. ++ ++#define CONFIG_USE_COMPOSITE True ++ + // If RAISELOWER_ON_CLICK is True, clicking on the title of the + // topmost window will lower instead of raising it (patch due to + // Kazushi (Jam) Marukawa) + + #define CONFIG_RAISELOWER_ON_CLICK False +@@ -253,14 +261,12 @@ + // at all, define it to CONFIG_NO_BUTTON. + #define CONFIG_NO_BUTTON 999 + #define CONFIG_CLIENTMENU_BUTTON Button1 + #define CONFIG_COMMANDMENU_BUTTON Button2 + #define CONFIG_CIRCULATE_BUTTON Button3 // switch window, when over frame +-#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON // flip channel, when over frame +-#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON +-//#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON +-//#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON ++#define CONFIG_PREVCHANNEL_BUTTON Button5 // flip channel, when over frame ++#define CONFIG_NEXTCHANNEL_BUTTON Button4 // flip channel, when over frame + + + // ============================== + // Section III. Colours and fonts + // ============================== +diff -NarU5 wmx-7.orig/configure wm2-wmx-trunk/wmx/configure +--- wmx-7.orig/configure 2009-01-09 06:18:03.000000000 -0500 ++++ wm2-wmx-trunk/wmx/configure 2009-01-19 11:57:15.000000000 -0500 +@@ -3018,10 +3018,87 @@ + + fi + + + ++{ echo "$as_me:$LINENO: checking for XCompositeQueryExtension in -lXcomposite" >&5 ++echo $ECHO_N "checking for XCompositeQueryExtension in -lXcomposite... $ECHO_C" >&6; } ++if test "${ac_cv_lib_Xcomposite_XCompositeQueryExtension+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lXcomposite $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char XCompositeQueryExtension (); ++int ++main () ++{ ++return XCompositeQueryExtension (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_cxx_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_Xcomposite_XCompositeQueryExtension=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_Xcomposite_XCompositeQueryExtension=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xcomposite_XCompositeQueryExtension" >&5 ++echo "${ECHO_T}$ac_cv_lib_Xcomposite_XCompositeQueryExtension" >&6; } ++if test $ac_cv_lib_Xcomposite_XCompositeQueryExtension = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBXCOMPOSITE 1 ++_ACEOF ++ ++ LIBS="-lXcomposite $LIBS" ++ ++else ++ ++ echo "Warning: Xcomposite library not found" ++ echo "Please either install the Xcomposite library and headers, or ensure you have CONFIG_USE_COMPOSITE set to False in Config.h" ++ ++fi ++ ++ ++ + { echo "$as_me:$LINENO: checking for SmcOpenConnection in -lSM" >&5 + echo $ECHO_N "checking for SmcOpenConnection in -lSM... $ECHO_C" >&6; } + if test "${ac_cv_lib_SM_SmcOpenConnection+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +diff -NarU5 wmx-7.orig/configure.in wm2-wmx-trunk/wmx/configure.in +--- wmx-7.orig/configure.in 2009-01-09 06:18:03.000000000 -0500 ++++ wm2-wmx-trunk/wmx/configure.in 2009-01-19 11:57:15.000000000 -0500 +@@ -37,10 +37,16 @@ + AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [], [ + echo "Warning: Xpm library not found" + echo "Please either install the Xpm library and headers, or ensure you have CONFIG_USE_PIXMAPS set to False in Config.h" + ]) + ++dnl Composite is necessary if CONFIG_USE_COMPOSITE ++AC_CHECK_LIB(Xcomposite, XCompositeQueryExtension, [], [ ++ echo "Warning: Xcomposite library not found" ++ echo "Please either install the Xcomposite library and headers, or ensure you have CONFIG_USE_COMPOSITE set to False in Config.h" ++ ]) ++ + dnl SM and ICE are necessary if CONFIG_USE_SESSION_MANAGER + AC_CHECK_LIB(SM, SmcOpenConnection) + AC_CHECK_LIB(ICE, IceConnectionNumber) + + dnl Freetype: actually only needed if CONFIG_USE_XFT +diff -NarU5 wmx-7.orig/Makefile.in wm2-wmx-trunk/wmx/Makefile.in +--- wmx-7.orig/Makefile.in 2009-01-09 06:18:03.000000000 -0500 ++++ wm2-wmx-trunk/wmx/Makefile.in 2009-01-19 14:12:30.000000000 -0500 +@@ -43,10 +43,15 @@ + cp wmx @bindir@/wmx + -chmod 0755 @bindir@/wmx + -chown root:wheel @bindir@/wmx + -rm -f @bindir@/wmx.old + ++install-rpm: ++ mkdir -p $(DESTDIR)/usr/bin/ ++ cp wmx $(DESTDIR)/usr/bin/wmx ++ ++ + # DO NOT DELETE -- make depend depends on it + Border.o: Border.C Border.h General.h Config.h Rotated.h Client.h \ + Manager.h listmacro.h background.xpm + Buttons.o: Buttons.C Manager.h General.h Config.h listmacro.h Client.h \ + Border.h Rotated.h Menu.h +diff -NarU5 wmx-7.orig/Manager.C wm2-wmx-trunk/wmx/Manager.C +--- wmx-7.orig/Manager.C 2009-01-09 06:18:03.000000000 -0500 ++++ wm2-wmx-trunk/wmx/Manager.C 2009-01-19 13:49:50.000000000 -0500 +@@ -13,10 +13,14 @@ + #include + + #include "Cursors.h" + #include + ++#ifdef CONFIG_USE_COMPOSITE ++#include ++#endif ++ + Atom Atoms::wm_state; + Atom Atoms::wm_changeState; + Atom Atoms::wm_protocols; + Atom Atoms::wm_delete; + Atom Atoms::wm_takeFocus; +@@ -242,10 +246,21 @@ + if (!m_display) fatal("can't open display"); + + m_shell = (char *)getenv("SHELL"); + if (!m_shell) m_shell = NewString("/bin/sh"); + ++#ifdef CONFIG_USE_COMPOSITE ++ int ev, er; ++ if (XCompositeQueryExtension(m_display, &ev, &er)) { ++ fprintf(stderr, "\n Enabling composite extension.\n"); ++ for (int i = 0; i < m_screensTotal; ++i) { ++ XCompositeRedirectSubwindows(m_display, RootWindow(m_display, i), ++ CompositeRedirectAutomatic); ++ } ++ } ++#endif ++ + // find out what the Alt keycode and thus modifier mask are + int kpk = 0; + int kmin = 0; + int kmax = 0; + XDisplayKeycodes(m_display, &kmin, &kmax); +diff -NarU5 wmx-7.orig/Menu.C wm2-wmx-trunk/wmx/Menu.C +--- wmx-7.orig/Menu.C 2009-01-09 06:18:03.000000000 -0500 ++++ wm2-wmx-trunk/wmx/Menu.C 2009-01-19 14:12:30.000000000 -0500 +@@ -54,10 +54,14 @@ + tokstr = 0; + + FcPattern *pattern = FcPatternCreate(); + FcPatternAddString(pattern, FC_FAMILY, (FcChar8 *)fi); + FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); ++ ++#ifndef FC_WEIGHT_REGULAR ++#define FC_WEIGHT_REGULAR FC_WEIGHT_MEDIUM ++#endif + FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_REGULAR); + FcPatternAddInteger(pattern, FC_PIXEL_SIZE, CONFIG_MENU_FONT_SIZE); + FcConfigSubstitute(FcConfigGetCurrent(), pattern, FcMatchPattern); + + FcResult result = FcResultMatch; diff --git a/wmx.spec b/wmx.spec index 842a23e..d5e3237 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -11,9 +11,10 @@ Source2: background.xpm Source3: wmx.desktop Source4: Xclients.wmx.sh Source5: xnodecor.c -Patch0: wmx-7-cfg.patch +Patch0: wmx-7-composite.patch +Patch1: wmx-7-cfg.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel freetype-devel libXft-devel +BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel libXcomposite-devel freetype-devel libXft-devel %description A really simple window manager for X, based on wm2, with a minimal set of @@ -24,6 +25,7 @@ configurable options. %setup -q -a 1 %{__install} -p -m 0644 %{SOURCE2} . %patch0 -p1 +%patch1 -p1 %build %configure --x-libraries=%{_libdir} --x-includes=%{_includedir}/X11 @@ -51,10 +53,14 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog -* Tue Jan 13 2009 Gabriel Somlo 7-2 +* Mon Jan 19 2009 Gabriel Somlo 7-3 +- applied patch for use of compositing offscreen storage to speed up rendering +- added buildreq for libxcomposite-devel + +* Tue Jan 13 2009 Gabriel Somlo 7-2 - re-enabled scroll-wheel-cycles-channels feature -* Sat Jan 10 2009 Gabriel Somlo 7-1 +* Sat Jan 10 2009 Gabriel Somlo 7-1 - update to 7 * Tue Feb 19 2008 Fedora Release Engineering - 6pl1-18 @@ -118,7 +124,7 @@ configurable options. - spec file fixes as per P. Lemenkov and I. Vazquez - default menu entries now go in /usr/share/wmx/menu - example wmx .xsession file added to doc -- gave up on using /usr/X11R6/bin -- using bindir instead +- gave up on using /usr/X11R6/bin -- using bindir instead * Wed Dec 14 2005 Gabriel Somlo 6pl1-2 - increased bump-distance parameter for easier placement at edge of screen From 7037473eed166fa6b425d8bbd222e2783a1e2b64 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Wed, 25 Feb 2009 18:58:10 +0000 Subject: [PATCH 09/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index d5e3237..f8a7420 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 7 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -53,6 +53,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Wed Feb 25 2009 Fedora Release Engineering - 7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Mon Jan 19 2009 Gabriel Somlo 7-3 - applied patch for use of compositing offscreen storage to speed up rendering - added buildreq for libxcomposite-devel From 7cb411e3b1ddb37cfe0e0f67e442fa69aa18eb03 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Mon, 27 Jul 2009 07:21:31 +0000 Subject: [PATCH 10/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index f8a7420..51b80cb 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 7 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -53,6 +53,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Mon Jul 27 2009 Fedora Release Engineering - 7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Wed Feb 25 2009 Fedora Release Engineering - 7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild From dd6f1b6268ef1c44b5c46c93129d610f830f0637 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 22:43:15 +0000 Subject: [PATCH 11/57] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8cca39f..cf137eb 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := wmx SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 484f2e440e1b972f5dcf81007896077c8be54bc2 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:17:59 +0000 Subject: [PATCH 12/57] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8cca39f..cf137eb 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := wmx SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From dd9b4a031a34d24779bd0d928fd867a96fbc1d71 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Tue, 2 Mar 2010 01:06:16 +0000 Subject: [PATCH 13/57] fixed directory ownership (BZ 569408) --- wmx.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wmx.spec b/wmx.spec index 51b80cb..10663a3 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 7 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -49,10 +49,14 @@ configurable options. %defattr(-,root,root) %doc README* UPDATES TODO.netwm rsharman-patch/ %{_bindir}/* -%{_datadir}/* +%{_datadir}/%{name} +%{_datadir}/xsessions/* %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Mon Mar 01 2010 Gabriel Somlo 7-6 +- fixed directory ownership (BZ 569408) + * Mon Jul 27 2009 Fedora Release Engineering - 7-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From 8b9bf9e09bb8573a771d770d9744b490e75a1780 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 15:23:19 +0000 Subject: [PATCH 14/57] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- import.log | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index cf137eb..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: wmx -# $Id$ -NAME := wmx -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/import.log b/import.log deleted file mode 100644 index 324f196..0000000 --- a/import.log +++ /dev/null @@ -1 +0,0 @@ -wmx-7-1_fc10:HEAD:wmx-7-1.fc10.src.rpm:1231785276 From 15c9fccff690b50bf8f57db67b113ef21b62a8e4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 15:23:22 +0000 Subject: [PATCH 15/57] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index cf137eb..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: wmx -# $Id$ -NAME := wmx -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index d5b6362..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -FC-6 From 700b0fb3252e405e54b642ad9bfa6495170d6840 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Tue, 7 Dec 2010 13:59:28 -0500 Subject: [PATCH 16/57] explicitly link against libfontconfig (BZ 660741) --- .gitignore | 2 ++ Xclients.wmx.sh | 0 sources | 2 +- wmx.spec | 7 +++++-- 4 files changed, 8 insertions(+), 3 deletions(-) mode change 100755 => 100644 Xclients.wmx.sh diff --git a/.gitignore b/.gitignore index d5912b7..9394757 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ wmx-defaults-1.tar.gz wmx-7.tar.gz +/wmx-7.tar.gz +/wmx-defaults-1.tar.gz diff --git a/Xclients.wmx.sh b/Xclients.wmx.sh old mode 100755 new mode 100644 diff --git a/sources b/sources index decc05b..2fbb285 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -a5f221d36884276cbf331414d4f2a761 wmx-defaults-1.tar.gz e8eda438f5dda09d11ba7de1dcf9e501 wmx-7.tar.gz +a5f221d36884276cbf331414d4f2a761 wmx-defaults-1.tar.gz diff --git a/wmx.spec b/wmx.spec index 10663a3..93ac183 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 7 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -28,7 +28,7 @@ configurable options. %patch1 -p1 %build -%configure --x-libraries=%{_libdir} --x-includes=%{_includedir}/X11 +%configure --x-libraries=%{_libdir} --x-includes=%{_includedir}/X11 LIBS=-lfontconfig %{__make} %{?_smp_mflags} %{__cc} -o xnodecor %{SOURCE5} -Werror -lX11 @@ -54,6 +54,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Tue Dec 07 2010 Gabriel Somlo 7-7 +- explicitly link against libfontconfig (BZ 660741) + * Mon Mar 01 2010 Gabriel Somlo 7-6 - fixed directory ownership (BZ 569408) From ec81a16f00dde5d3d68710a1576aeae9d7e5468c Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Mon, 7 Feb 2011 20:55:39 -0600 Subject: [PATCH 17/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 93ac183..3bdd964 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 7 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -54,6 +54,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Mon Feb 07 2011 Fedora Release Engineering - 7-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Tue Dec 07 2010 Gabriel Somlo 7-7 - explicitly link against libfontconfig (BZ 660741) From 0358deff303ff31374a3f4a93ef83c97a9ac839b Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Mon, 9 Jan 2012 16:27:49 -0500 Subject: [PATCH 18/57] update to latest svn checkout --- .gitignore | 1 + sources | 2 +- wmx-7-20120109svn.patch | 612 ++++++++++++++++++++++++++++++++++++++++ wmx-7-cfg.patch | 27 +- wmx-7-composite.patch | 227 --------------- wmx.spec | 20 +- xnodecor.c | 141 --------- 7 files changed, 647 insertions(+), 383 deletions(-) create mode 100644 wmx-7-20120109svn.patch delete mode 100644 wmx-7-composite.patch delete mode 100644 xnodecor.c diff --git a/.gitignore b/.gitignore index 9394757..f7ed618 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ wmx-defaults-1.tar.gz wmx-7.tar.gz /wmx-7.tar.gz /wmx-defaults-1.tar.gz +/wmx-defaults-2.tar.gz diff --git a/sources b/sources index 2fbb285..00e81f9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ e8eda438f5dda09d11ba7de1dcf9e501 wmx-7.tar.gz -a5f221d36884276cbf331414d4f2a761 wmx-defaults-1.tar.gz +70892929426891facc252520784d9840 wmx-defaults-2.tar.gz diff --git a/wmx-7-20120109svn.patch b/wmx-7-20120109svn.patch new file mode 100644 index 0000000..9883625 --- /dev/null +++ b/wmx-7-20120109svn.patch @@ -0,0 +1,612 @@ +diff -NarU5 wmx-7/Channel.C SVN/wm2-2012-01-09/trunk/wmx/Channel.C +--- wmx-7/Channel.C 2009-01-09 06:18:03.000000000 -0500 ++++ SVN/wm2-2012-01-09/trunk/wmx/Channel.C 2012-01-09 11:05:39.676384280 -0500 +@@ -16,96 +16,102 @@ + { " ### ", "# #", "# #", " ### ", "# #", "# #", " ### " }, + { " ### ", "# #", "# #", " ####", " #", " # ", " ## " } + }; + + +-void WindowManager::flipChannel(Boolean statusOnly, Boolean flipDown, +- Boolean quickFlip, Client *push) ++Window WindowManager::createNumberWindow(int screen, const char *colour) + { +- int x, y, i, sc; +- if (!CONFIG_CHANNEL_SURF) return; +- +- for (sc = 0; sc < screensTotal(); sc++) +- { +- if (!m_channelWindow[sc]) { +- +- XColor nearest, ideal; +- +- if (!XAllocNamedColor(display(), DefaultColormap(display(), sc), +- CONFIG_CHANNEL_NUMBER, &nearest, &ideal)) { ++ XColor nearest, ideal; ++ ++ if (!XAllocNamedColor(display(), DefaultColormap(display(), screen), ++ colour, &nearest, &ideal)) { + +- if (!XAllocNamedColor(display(), DefaultColormap(display(), sc), +- "black", &nearest, &ideal)) { ++ if (!XAllocNamedColor(display(), DefaultColormap(display(), screen), ++ "black", &nearest, &ideal)) { + +- fatal("Couldn't allocate green or black"); +- } +- } +- +- XSetWindowAttributes wa; +- wa.background_pixel = nearest.pixel; +- wa.override_redirect = True; +- +- m_channelWindow[sc] = XCreateWindow +- (display(), mroot(sc), +- 0, 0, 1, 1, 0, CopyFromParent, CopyFromParent, +- CopyFromParent, CWOverrideRedirect | CWBackPixel, &wa); +- } ++ fatal("Couldn't allocate requested numeral colour or black"); ++ } + } ++ ++ XSetWindowAttributes wa; ++ wa.background_pixel = nearest.pixel; ++ wa.override_redirect = True; ++ ++ Window w = XCreateWindow ++ (display(), mroot(screen), ++ 0, 0, 1, 1, 0, CopyFromParent, CopyFromParent, ++ CopyFromParent, CWOverrideRedirect | CWBackPixel, &wa); + +- int nextChannel; ++ return w; ++} + +- if (statusOnly) nextChannel = m_currentChannel; +- else { +- if (!flipDown) { +- nextChannel = m_currentChannel + 1; +- if (nextChannel > m_channels) nextChannel = 1; +- } else { +- nextChannel = m_currentChannel - 1; +- if (nextChannel < 1) nextChannel = m_channels; +- } +- } + ++int WindowManager::shapeNumberWindow(Window w, int n, int minDigits) ++{ ++ int i, x, y; + XRectangle r; + Boolean first = True; + char number[7]; +- sprintf(number, "%d", nextChannel); ++ sprintf(number, "%0*d", minDigits, n); + + for (i = 0; i < (int)strlen(number); ++i) { + for (y = 0; y < 7; ++y) { + for (x = 0; x < 5; ++x) { + if (numerals[number[i]-'0'][y][x] != ' ') { +-/* +- r.x = i * 110 + x * 20; r.y = y * 20; +- r.width = r.height = 20; +- */ ++ + r.x = 10 + (i * 6 + x) * CONFIG_CHANNEL_NUMBER_SIZE; + r.y = y * CONFIG_CHANNEL_NUMBER_SIZE; + r.width = r.height = CONFIG_CHANNEL_NUMBER_SIZE; +- for(sc = 0; sc < screensTotal(); sc++) +- { ++ + XShapeCombineRectangles +- (display(), m_channelWindow[sc], ShapeBounding, ++ (display(), w, ShapeBounding, + 0, 0, &r, 1, first ? ShapeSet : ShapeUnion, + YXBanded); +- } ++ + first = False; + } + } + } + } + +- for(sc = 0; sc < screensTotal(); sc++) { +-/* +- XMoveResizeWindow(display(), m_channelWindow[sc], +- DisplayWidth(display(), sc) - 30 - +- 110 * strlen(number), 30, 500, 160); +- */ ++ return (5 * CONFIG_CHANNEL_NUMBER_SIZE + 10) * strlen(number); ++} ++ ++ ++void WindowManager::flipChannel(Boolean statusOnly, Boolean flipDown, ++ Boolean quickFlip, Client *push) ++{ ++ int wid, i, sc; ++ if (!CONFIG_CHANNEL_SURF) return; ++ ++ for (sc = 0; sc < screensTotal(); sc++) { ++ if (!m_channelWindow[sc]) { ++ m_channelWindow[sc] = createNumberWindow(sc, CONFIG_CHANNEL_NUMBER); ++ } ++ } ++ ++ int nextChannel; ++ ++ if (statusOnly) nextChannel = m_currentChannel; ++ else { ++ if (!flipDown) { ++ nextChannel = m_currentChannel + 1; ++ if (nextChannel > m_channels) nextChannel = 1; ++ } else { ++ nextChannel = m_currentChannel - 1; ++ if (nextChannel < 1) nextChannel = m_channels; ++ } ++ } ++ ++ for (sc = 0; sc < screensTotal(); sc++) { ++ ++ wid = shapeNumberWindow(m_channelWindow[sc], nextChannel, 1); + + XMoveResizeWindow(display(), m_channelWindow[sc], +- DisplayWidth(display(), sc) - 30 - +- (5 * CONFIG_CHANNEL_NUMBER_SIZE + 10) * +- strlen(number), 30, 500, 160); ++ DisplayWidth(display(), sc) - 30 - wid, ++ 30, 500, 160); ++ + XMapRaised(display(), m_channelWindow[sc]); + } + + if (!statusOnly) { + +@@ -228,5 +234,38 @@ + if (m_channels <= channel) { + m_channels = channel + 1; + netwmUpdateChannelList(); + } + } ++ ++void ++WindowManager::updateClock() ++{ ++ time_t t; ++ struct tm *lt; ++ ++ fprintf(stderr, "updateClock\n"); ++ ++ time(&t); ++ lt = localtime(&t); ++ ++ if (!m_clockWindow[0]) { ++ m_clockWindow[0] = createNumberWindow(0, CONFIG_CLOCK_NUMBER); ++ m_clockWindow[1] = createNumberWindow(0, CONFIG_CLOCK_NUMBER); ++ } ++ ++ shapeNumberWindow(m_clockWindow[0], lt->tm_hour, 2); ++ shapeNumberWindow(m_clockWindow[1], lt->tm_min, 2); ++ ++ XMoveResizeWindow(display(), m_clockWindow[0], ++ 30, 30, 500, 160); ++ ++ XMoveResizeWindow(display(), m_clockWindow[1], ++ 30, 9 * CONFIG_CHANNEL_NUMBER_SIZE + 30, 500, 160); ++ ++ XMapWindow(display(), m_clockWindow[0]); ++ XLowerWindow(display(), m_clockWindow[0]); ++ ++ XMapWindow(display(), m_clockWindow[1]); ++ XLowerWindow(display(), m_clockWindow[1]); ++} ++ +diff -NarU5 wmx-7/Config.h SVN/wm2-2012-01-09/trunk/wmx/Config.h +--- wmx-7/Config.h 2009-01-09 06:18:03.000000000 -0500 ++++ SVN/wm2-2012-01-09/trunk/wmx/Config.h 2012-01-09 11:05:39.679384449 -0500 +@@ -77,12 +77,11 @@ + // Spawn a temporary new shell between the wm and each new process? + #define CONFIG_EXEC_USING_SHELL False + + // What to run to get a new window (from the "New" menu option) + #define CONFIG_NEW_WINDOW_LABEL "New" +-#define CONFIG_NEW_WINDOW_COMMAND "xterm" +-//#define CONFIG_NEW_WINDOW_COMMAND "/home/ccannam/.wmx/terminal" ++#define CONFIG_NEW_WINDOW_COMMAND "x-terminal-emulator" + #define CONFIG_NEW_WINDOW_COMMAND_OPTIONS 0 + // or, for example, + //#define CONFIG_NEW_WINDOW_COMMAND_OPTIONS "-ls","-sb","-sl","1024",0 + // alternatively, + #define CONFIG_DISABLE_NEW_WINDOW_COMMAND (DynamicConfig::config.disableNew()) +@@ -146,10 +145,18 @@ + // if False, behaviour will be as in wm2 (stretching the background + // image only). + + #define CONFIG_RESIZE_UPDATE True + ++// If USE_COMPOSITE is true, wmx will enable composite redirects for ++// all windows if the Composite extension is present. This should ++// make no difference at all to the appearance or behaviour of wmx, ++// but it may make it substantially faster with modern video cards ++// that optimise rendering more than old-fashioned window operations. ++ ++#define CONFIG_USE_COMPOSITE True ++ + // If RAISELOWER_ON_CLICK is True, clicking on the title of the + // topmost window will lower instead of raising it (patch due to + // Kazushi (Jam) Marukawa) + + #define CONFIG_RAISELOWER_ON_CLICK False +@@ -253,14 +260,12 @@ + // at all, define it to CONFIG_NO_BUTTON. + #define CONFIG_NO_BUTTON 999 + #define CONFIG_CLIENTMENU_BUTTON Button1 + #define CONFIG_COMMANDMENU_BUTTON Button2 + #define CONFIG_CIRCULATE_BUTTON Button3 // switch window, when over frame +-#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON // flip channel, when over frame +-#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON +-//#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON +-//#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON ++#define CONFIG_PREVCHANNEL_BUTTON Button5 // flip channel, when over frame ++#define CONFIG_NEXTCHANNEL_BUTTON Button4 // flip channel, when over frame + + + // ============================== + // Section III. Colours and fonts + // ============================== +@@ -321,10 +326,11 @@ + #define CONFIG_TAB_BACKGROUND (DynamicConfig::config.tabBackground()) + #define CONFIG_FRAME_BACKGROUND (DynamicConfig::config.frameBackground()) + #define CONFIG_BUTTON_BACKGROUND (DynamicConfig::config.frameBackground()) + #define CONFIG_BORDERS "black" + #define CONFIG_CHANNEL_NUMBER "green" ++#define CONFIG_CLOCK_NUMBER "gray90" + + #define CONFIG_MENU_FOREGROUND (DynamicConfig::config.tabForeground()) + #define CONFIG_MENU_BACKGROUND (DynamicConfig::config.tabBackground()) + #define CONFIG_MENU_BORDERS "black" + +@@ -361,14 +367,14 @@ + #define CONFIG_USE_CHANNEL_MENU False + + // FLIP_DELAY is the length of time the big green number stays in the + // top-right when flipping channels, before the windows reappear. + // QUICK_FLIP_DELAY is the equivalent figure used when flipping with +-// the Alt-Fn keys. Milliseconds. ++// the Alt-Fn keys or mouse wheel. Milliseconds. + + #define CONFIG_FLIP_DELAY 1000 +-#define CONFIG_QUICK_FLIP_DELAY 200 ++#define CONFIG_QUICK_FLIP_DELAY 500 + + // Set MAD_FEEDBACK for skeletal representations of windows when + // flicking through the client menu and changing channels. The DELAY + // is how long skeletal feedback has to persist before wmx decides to + // post the entire window contents instead; if it's negative, the +@@ -377,30 +383,36 @@ + // delay of 0ms. + + #define CONFIG_MAD_FEEDBACK (DynamicConfig::config.useFeedback()) + #define CONFIG_FEEDBACK_DELAY (DynamicConfig::config.feedbackDelay()) + +-// Groups are fun. you can bind a bunch of windows to a number key +-// and when you press CONFIG_ALT_KEY_MASK and the number key +-// all the windows of that group are raised. +- + // Position of the geometry window: + // X < 0 left, X > 0 right, X = 0 center + // Y < 0 top, Y > 0 bottom, Y = 0 center + #define CONFIG_GEOMETRY_X_POS 0 + #define CONFIG_GEOMETRY_Y_POS 0 + ++// Groups are fun. you can bind a bunch of windows to a number key ++// and when you press CONFIG_ALT_KEY_MASK and the number key ++// all the windows of that group are raised. ++ + // You bind a window to a group by pressing the + // CONFIG_ALT_KEY_MASK + CONFIG_GROUP_ADD + a number key + + // if you press CONFIG_ALT_KEY_MASK + CONFIG_GROUP_REMOVE_ALL + // + a number key that group is cleared of all windows. + + #define CONFIG_GROUPS True + #define CONFIG_GROUP_ADD ControlMask + #define CONFIG_GROUP_REMOVE_ALL ShiftMask + ++// Set CLOCK if you want wmx to display a clock permanently in the ++// background at top-left of screen 0. Use CONFIG_CLOCK_NUMBER ++// to control the colour of the clock digits. ++ ++#define CONFIG_CLOCK False ++ + // This lets you choose whether to keep the regular wmx + // mouse button behaviour, or go w/ the GNOME-described one. + // If this is True, the left mouse button (button1) lets you + // select 1 or more gmc 'icons' and drag them around etc, + // the right mouse button (button3) pops up the GNOME +diff -NarU5 wmx-7/configure SVN/wm2-2012-01-09/trunk/wmx/configure +--- wmx-7/configure 2009-01-09 06:18:03.000000000 -0500 ++++ SVN/wm2-2012-01-09/trunk/wmx/configure 2012-01-09 11:05:39.668383824 -0500 +@@ -3018,10 +3018,87 @@ + + fi + + + ++{ echo "$as_me:$LINENO: checking for XCompositeQueryExtension in -lXcomposite" >&5 ++echo $ECHO_N "checking for XCompositeQueryExtension in -lXcomposite... $ECHO_C" >&6; } ++if test "${ac_cv_lib_Xcomposite_XCompositeQueryExtension+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lXcomposite $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char XCompositeQueryExtension (); ++int ++main () ++{ ++return XCompositeQueryExtension (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_cxx_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_Xcomposite_XCompositeQueryExtension=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_Xcomposite_XCompositeQueryExtension=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xcomposite_XCompositeQueryExtension" >&5 ++echo "${ECHO_T}$ac_cv_lib_Xcomposite_XCompositeQueryExtension" >&6; } ++if test $ac_cv_lib_Xcomposite_XCompositeQueryExtension = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBXCOMPOSITE 1 ++_ACEOF ++ ++ LIBS="-lXcomposite $LIBS" ++ ++else ++ ++ echo "Warning: Xcomposite library not found" ++ echo "Please either install the Xcomposite library and headers, or ensure you have CONFIG_USE_COMPOSITE set to False in Config.h" ++ ++fi ++ ++ ++ + { echo "$as_me:$LINENO: checking for SmcOpenConnection in -lSM" >&5 + echo $ECHO_N "checking for SmcOpenConnection in -lSM... $ECHO_C" >&6; } + if test "${ac_cv_lib_SM_SmcOpenConnection+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +diff -NarU5 wmx-7/configure.in SVN/wm2-2012-01-09/trunk/wmx/configure.in +--- wmx-7/configure.in 2009-01-09 06:18:03.000000000 -0500 ++++ SVN/wm2-2012-01-09/trunk/wmx/configure.in 2012-01-09 11:05:39.674384166 -0500 +@@ -37,10 +37,16 @@ + AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [], [ + echo "Warning: Xpm library not found" + echo "Please either install the Xpm library and headers, or ensure you have CONFIG_USE_PIXMAPS set to False in Config.h" + ]) + ++dnl Composite is necessary if CONFIG_USE_COMPOSITE ++AC_CHECK_LIB(Xcomposite, XCompositeQueryExtension, [], [ ++ echo "Warning: Xcomposite library not found" ++ echo "Please either install the Xcomposite library and headers, or ensure you have CONFIG_USE_COMPOSITE set to False in Config.h" ++ ]) ++ + dnl SM and ICE are necessary if CONFIG_USE_SESSION_MANAGER + AC_CHECK_LIB(SM, SmcOpenConnection) + AC_CHECK_LIB(ICE, IceConnectionNumber) + + dnl Freetype: actually only needed if CONFIG_USE_XFT +diff -NarU5 wmx-7/Events.C SVN/wm2-2012-01-09/trunk/wmx/Events.C +--- wmx-7/Events.C 2009-01-09 06:18:03.000000000 -0500 ++++ SVN/wm2-2012-01-09/trunk/wmx/Events.C 2012-01-09 11:05:39.672384052 -0500 +@@ -142,15 +142,23 @@ + + if (!m_signalled) { + + waiting: + +- if (m_channelChangeTime > 0) { ++ if (m_channelChangeTime > 0 || CONFIG_CLOCK) { ++ + Time t = timestamp(True); +- if (t >= m_channelChangeTime) { ++ ++ if (m_channelChangeTime > 0 && t >= m_channelChangeTime) { + instateChannel(); + } ++ ++ if (CONFIG_CLOCK && (m_clockUpdateTime == CurrentTime || ++ t >= m_clockUpdateTime + 60000)) { ++ m_clockUpdateTime = t; ++ updateClock(); ++ } + } + + if (QLength(m_display) > 0) { + XNextEvent(m_display, e); + return; +diff -NarU5 wmx-7/Makefile.in SVN/wm2-2012-01-09/trunk/wmx/Makefile.in +--- wmx-7/Makefile.in 2009-01-09 06:18:03.000000000 -0500 ++++ SVN/wm2-2012-01-09/trunk/wmx/Makefile.in 2012-01-09 11:05:39.670383938 -0500 +@@ -43,10 +43,15 @@ + cp wmx @bindir@/wmx + -chmod 0755 @bindir@/wmx + -chown root:wheel @bindir@/wmx + -rm -f @bindir@/wmx.old + ++install-rpm: ++ mkdir -p $(DESTDIR)/usr/bin/ ++ cp wmx $(DESTDIR)/usr/bin/wmx ++ ++ + # DO NOT DELETE -- make depend depends on it + Border.o: Border.C Border.h General.h Config.h Rotated.h Client.h \ + Manager.h listmacro.h background.xpm + Buttons.o: Buttons.C Manager.h General.h Config.h listmacro.h Client.h \ + Border.h Rotated.h Menu.h +diff -NarU5 wmx-7/Manager.C SVN/wm2-2012-01-09/trunk/wmx/Manager.C +--- wmx-7/Manager.C 2009-01-09 06:18:03.000000000 -0500 ++++ SVN/wm2-2012-01-09/trunk/wmx/Manager.C 2012-01-09 11:05:39.678384393 -0500 +@@ -13,10 +13,14 @@ + #include + + #include "Cursors.h" + #include + ++#ifdef CONFIG_USE_COMPOSITE ++#include ++#endif ++ + Atom Atoms::wm_state; + Atom Atoms::wm_changeState; + Atom Atoms::wm_protocols; + Atom Atoms::wm_delete; + Atom Atoms::wm_takeFocus; +@@ -285,10 +289,12 @@ + + m_channels = 2; + m_currentChannel = 1; + m_channelChangeTime = 0; + m_channelWindow = 0; ++ m_clockWindow = 0; ++ m_clockUpdateTime = CurrentTime; + + Atoms::wm_state = XInternAtom(m_display, "WM_STATE", False); + Atoms::wm_changeState= XInternAtom(m_display, "WM_CHANGE_STATE", False); + Atoms::wm_protocols = XInternAtom(m_display, "WM_PROTOCOLS", False); + Atoms::wm_delete = XInternAtom(m_display, "WM_DELETE_WINDOW", False); +@@ -338,11 +344,22 @@ + + initialiseScreen(); + if (m_screensTotal > 1) { + fprintf(stderr, "\n Detected %d screens.", m_screensTotal); + } +- ++ ++#ifdef CONFIG_USE_COMPOSITE ++ int ev, er; ++ if (XCompositeQueryExtension(m_display, &ev, &er)) { ++ fprintf(stderr, "\n Enabling composite extension.\n"); ++ for (int i = 0; i < m_screensTotal; ++i) { ++ XCompositeRedirectSubwindows(m_display, RootWindow(m_display, i), ++ CompositeRedirectAutomatic); ++ } ++ } ++#endif ++ + XSetSelectionOwner(m_display, Atoms::wmx_running, + None, timestamp(True)); // used to have m_menuWindow + XSync(m_display, False); + m_initialising = False; + m_returnCode = 0; +@@ -517,11 +534,12 @@ + + m_root = (Window *) malloc(m_screensTotal * sizeof(Window)); + m_defaultColormap = (Colormap *) malloc(m_screensTotal * sizeof(Colormap)); + // m_minimumColormaps = (int *) malloc(m_screensTotal * sizeof(int)); + m_channelWindow = (Window *) malloc(m_screensTotal * sizeof(Window)); +- ++ m_clockWindow = (Window *) malloc(2 * sizeof(Window)); ++ + for (i = 0 ; i < m_screensTotal ; i++) { + + m_screenNumber = i; + m_channelWindow[i] = 0; + +@@ -570,10 +588,14 @@ + + XChangeWindowAttributes(m_display, m_root[i], CWCursor | CWEventMask, &attr); + XSync(m_display, False); + } + ++ for (i = 0; i < 2; ++i) { ++ m_clockWindow[i] = 0; ++ } ++ + m_screenNumber = 0; + } + + + unsigned long WindowManager::allocateColour(int screen, const char *name, +diff -NarU5 wmx-7/Manager.h SVN/wm2-2012-01-09/trunk/wmx/Manager.h +--- wmx-7/Manager.h 2009-01-09 06:18:03.000000000 -0500 ++++ SVN/wm2-2012-01-09/trunk/wmx/Manager.h 2012-01-09 11:05:39.682384620 -0500 +@@ -150,16 +150,22 @@ + + int m_channels; + int m_currentChannel; // from 1 to ... + void flipChannel(Boolean statusOnly, Boolean flipDown, + Boolean quickFlip, Client *push); // bleah! ++ Window createNumberWindow(int screen, const char *colour); ++ int shapeNumberWindow(Window w, int number, int minDigits); // returns width in pixels + void instateChannel(); + void createNewChannel(); + void checkChannel(int); + Time m_channelChangeTime; + Window *m_channelWindow; + ++ void updateClock(); ++ Window *m_clockWindow; ++ Time m_clockUpdateTime; ++ + Boolean m_looping; + int m_returnCode; + + static Boolean m_initialising; + static int errorHandler(Display *, XErrorEvent *); +diff -NarU5 wmx-7/Menu.C SVN/wm2-2012-01-09/trunk/wmx/Menu.C +--- wmx-7/Menu.C 2009-01-09 06:18:03.000000000 -0500 ++++ SVN/wm2-2012-01-09/trunk/wmx/Menu.C 2012-01-09 11:05:39.673384109 -0500 +@@ -54,10 +54,14 @@ + tokstr = 0; + + FcPattern *pattern = FcPatternCreate(); + FcPatternAddString(pattern, FC_FAMILY, (FcChar8 *)fi); + FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); ++ ++#ifndef FC_WEIGHT_REGULAR ++#define FC_WEIGHT_REGULAR FC_WEIGHT_MEDIUM ++#endif + FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_REGULAR); + FcPatternAddInteger(pattern, FC_PIXEL_SIZE, CONFIG_MENU_FONT_SIZE); + FcConfigSubstitute(FcConfigGetCurrent(), pattern, FcMatchPattern); + + FcResult result = FcResultMatch; diff --git a/wmx-7-cfg.patch b/wmx-7-cfg.patch index b6ce74b..be40c73 100644 --- a/wmx-7-cfg.patch +++ b/wmx-7-cfg.patch @@ -1,7 +1,20 @@ diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h ---- wmx-7.orig/Config.h 2009-01-09 06:18:03.000000000 -0500 -+++ wmx-7/Config.h 2009-01-13 13:23:31.000000000 -0500 -@@ -93,11 +93,11 @@ +--- wmx-7.orig/Config.h 2012-01-09 16:07:03.610039637 -0500 ++++ wmx-7/Config.h 2012-01-09 16:07:46.408474496 -0500 +@@ -77,11 +77,11 @@ + // Spawn a temporary new shell between the wm and each new process? + #define CONFIG_EXEC_USING_SHELL False + + // What to run to get a new window (from the "New" menu option) + #define CONFIG_NEW_WINDOW_LABEL "New" +-#define CONFIG_NEW_WINDOW_COMMAND "x-terminal-emulator" ++#define CONFIG_NEW_WINDOW_COMMAND "/usr/bin/xterm" + #define CONFIG_NEW_WINDOW_COMMAND_OPTIONS 0 + // or, for example, + //#define CONFIG_NEW_WINDOW_COMMAND_OPTIONS "-ls","-sb","-sl","1024",0 + // alternatively, + #define CONFIG_DISABLE_NEW_WINDOW_COMMAND (DynamicConfig::config.disableNew()) +@@ -92,11 +92,11 @@ // Directory under $HOME in which to look for commands for the // middle-button menu @@ -14,7 +27,7 @@ diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h #define CONFIG_ADD_SCREEN_TO_COMMAND_MENU False // Focus possibilities. -@@ -126,11 +126,11 @@ +@@ -125,11 +125,11 @@ // Number of pixels off the screen you have to push a window // before the manager notices the window is off-screen (the higher @@ -27,7 +40,7 @@ diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h // other window edges as well as the edges of the screen #define CONFIG_BUMP_EVERYWHERE True -@@ -185,11 +185,11 @@ +@@ -192,11 +192,11 @@ // This is the key for wm controls: e.g. Alt/Left and Alt/Right to // flip channels, and Alt/Tab to switch windows. (On my 105-key @@ -40,7 +53,7 @@ diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h // modifier is pressed; they're keysyms as defined in // and -@@ -329,11 +329,11 @@ +@@ -335,11 +335,11 @@ #define CONFIG_MENU_BORDERS "black" // Pixel width for the bit of frame to the left of the window and the @@ -53,7 +66,7 @@ diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h // ======================== // Section IV. Flashy stuff // ======================== -@@ -342,11 +342,11 @@ +@@ -348,11 +348,11 @@ // in ./background.xpm; if USE_PIXMAP_MENUS is also True, the menus // will be too. The latter screws up in palette-based visuals, but // should be okay in true-colour. diff --git a/wmx-7-composite.patch b/wmx-7-composite.patch deleted file mode 100644 index fa9520f..0000000 --- a/wmx-7-composite.patch +++ /dev/null @@ -1,227 +0,0 @@ -diff -NarU5 wmx-7.orig/Config.h wm2-wmx-trunk/wmx/Config.h ---- wmx-7.orig/Config.h 2009-01-09 06:18:03.000000000 -0500 -+++ wm2-wmx-trunk/wmx/Config.h 2009-01-19 13:49:50.000000000 -0500 -@@ -146,10 +146,18 @@ - // if False, behaviour will be as in wm2 (stretching the background - // image only). - - #define CONFIG_RESIZE_UPDATE True - -+// If USE_COMPOSITE is true, wmx will enable composite redirects for -+// all windows if the Composite extension is present. This should -+// make no difference at all to the appearance or behaviour of wmx, -+// but it may make it substantially faster with modern video cards -+// that optimise rendering more than old-fashioned window operations. -+ -+#define CONFIG_USE_COMPOSITE True -+ - // If RAISELOWER_ON_CLICK is True, clicking on the title of the - // topmost window will lower instead of raising it (patch due to - // Kazushi (Jam) Marukawa) - - #define CONFIG_RAISELOWER_ON_CLICK False -@@ -253,14 +261,12 @@ - // at all, define it to CONFIG_NO_BUTTON. - #define CONFIG_NO_BUTTON 999 - #define CONFIG_CLIENTMENU_BUTTON Button1 - #define CONFIG_COMMANDMENU_BUTTON Button2 - #define CONFIG_CIRCULATE_BUTTON Button3 // switch window, when over frame --#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON // flip channel, when over frame --#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON --//#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON --//#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON -+#define CONFIG_PREVCHANNEL_BUTTON Button5 // flip channel, when over frame -+#define CONFIG_NEXTCHANNEL_BUTTON Button4 // flip channel, when over frame - - - // ============================== - // Section III. Colours and fonts - // ============================== -diff -NarU5 wmx-7.orig/configure wm2-wmx-trunk/wmx/configure ---- wmx-7.orig/configure 2009-01-09 06:18:03.000000000 -0500 -+++ wm2-wmx-trunk/wmx/configure 2009-01-19 11:57:15.000000000 -0500 -@@ -3018,10 +3018,87 @@ - - fi - - - -+{ echo "$as_me:$LINENO: checking for XCompositeQueryExtension in -lXcomposite" >&5 -+echo $ECHO_N "checking for XCompositeQueryExtension in -lXcomposite... $ECHO_C" >&6; } -+if test "${ac_cv_lib_Xcomposite_XCompositeQueryExtension+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lXcomposite $LIBS" -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char XCompositeQueryExtension (); -+int -+main () -+{ -+return XCompositeQueryExtension (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && -+ $as_test_x conftest$ac_exeext; then -+ ac_cv_lib_Xcomposite_XCompositeQueryExtension=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_cv_lib_Xcomposite_XCompositeQueryExtension=no -+fi -+ -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xcomposite_XCompositeQueryExtension" >&5 -+echo "${ECHO_T}$ac_cv_lib_Xcomposite_XCompositeQueryExtension" >&6; } -+if test $ac_cv_lib_Xcomposite_XCompositeQueryExtension = yes; then -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_LIBXCOMPOSITE 1 -+_ACEOF -+ -+ LIBS="-lXcomposite $LIBS" -+ -+else -+ -+ echo "Warning: Xcomposite library not found" -+ echo "Please either install the Xcomposite library and headers, or ensure you have CONFIG_USE_COMPOSITE set to False in Config.h" -+ -+fi -+ -+ -+ - { echo "$as_me:$LINENO: checking for SmcOpenConnection in -lSM" >&5 - echo $ECHO_N "checking for SmcOpenConnection in -lSM... $ECHO_C" >&6; } - if test "${ac_cv_lib_SM_SmcOpenConnection+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -diff -NarU5 wmx-7.orig/configure.in wm2-wmx-trunk/wmx/configure.in ---- wmx-7.orig/configure.in 2009-01-09 06:18:03.000000000 -0500 -+++ wm2-wmx-trunk/wmx/configure.in 2009-01-19 11:57:15.000000000 -0500 -@@ -37,10 +37,16 @@ - AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [], [ - echo "Warning: Xpm library not found" - echo "Please either install the Xpm library and headers, or ensure you have CONFIG_USE_PIXMAPS set to False in Config.h" - ]) - -+dnl Composite is necessary if CONFIG_USE_COMPOSITE -+AC_CHECK_LIB(Xcomposite, XCompositeQueryExtension, [], [ -+ echo "Warning: Xcomposite library not found" -+ echo "Please either install the Xcomposite library and headers, or ensure you have CONFIG_USE_COMPOSITE set to False in Config.h" -+ ]) -+ - dnl SM and ICE are necessary if CONFIG_USE_SESSION_MANAGER - AC_CHECK_LIB(SM, SmcOpenConnection) - AC_CHECK_LIB(ICE, IceConnectionNumber) - - dnl Freetype: actually only needed if CONFIG_USE_XFT -diff -NarU5 wmx-7.orig/Makefile.in wm2-wmx-trunk/wmx/Makefile.in ---- wmx-7.orig/Makefile.in 2009-01-09 06:18:03.000000000 -0500 -+++ wm2-wmx-trunk/wmx/Makefile.in 2009-01-19 14:12:30.000000000 -0500 -@@ -43,10 +43,15 @@ - cp wmx @bindir@/wmx - -chmod 0755 @bindir@/wmx - -chown root:wheel @bindir@/wmx - -rm -f @bindir@/wmx.old - -+install-rpm: -+ mkdir -p $(DESTDIR)/usr/bin/ -+ cp wmx $(DESTDIR)/usr/bin/wmx -+ -+ - # DO NOT DELETE -- make depend depends on it - Border.o: Border.C Border.h General.h Config.h Rotated.h Client.h \ - Manager.h listmacro.h background.xpm - Buttons.o: Buttons.C Manager.h General.h Config.h listmacro.h Client.h \ - Border.h Rotated.h Menu.h -diff -NarU5 wmx-7.orig/Manager.C wm2-wmx-trunk/wmx/Manager.C ---- wmx-7.orig/Manager.C 2009-01-09 06:18:03.000000000 -0500 -+++ wm2-wmx-trunk/wmx/Manager.C 2009-01-19 13:49:50.000000000 -0500 -@@ -13,10 +13,14 @@ - #include - - #include "Cursors.h" - #include - -+#ifdef CONFIG_USE_COMPOSITE -+#include -+#endif -+ - Atom Atoms::wm_state; - Atom Atoms::wm_changeState; - Atom Atoms::wm_protocols; - Atom Atoms::wm_delete; - Atom Atoms::wm_takeFocus; -@@ -242,10 +246,21 @@ - if (!m_display) fatal("can't open display"); - - m_shell = (char *)getenv("SHELL"); - if (!m_shell) m_shell = NewString("/bin/sh"); - -+#ifdef CONFIG_USE_COMPOSITE -+ int ev, er; -+ if (XCompositeQueryExtension(m_display, &ev, &er)) { -+ fprintf(stderr, "\n Enabling composite extension.\n"); -+ for (int i = 0; i < m_screensTotal; ++i) { -+ XCompositeRedirectSubwindows(m_display, RootWindow(m_display, i), -+ CompositeRedirectAutomatic); -+ } -+ } -+#endif -+ - // find out what the Alt keycode and thus modifier mask are - int kpk = 0; - int kmin = 0; - int kmax = 0; - XDisplayKeycodes(m_display, &kmin, &kmax); -diff -NarU5 wmx-7.orig/Menu.C wm2-wmx-trunk/wmx/Menu.C ---- wmx-7.orig/Menu.C 2009-01-09 06:18:03.000000000 -0500 -+++ wm2-wmx-trunk/wmx/Menu.C 2009-01-19 14:12:30.000000000 -0500 -@@ -54,10 +54,14 @@ - tokstr = 0; - - FcPattern *pattern = FcPatternCreate(); - FcPatternAddString(pattern, FC_FAMILY, (FcChar8 *)fi); - FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); -+ -+#ifndef FC_WEIGHT_REGULAR -+#define FC_WEIGHT_REGULAR FC_WEIGHT_MEDIUM -+#endif - FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_REGULAR); - FcPatternAddInteger(pattern, FC_PIXEL_SIZE, CONFIG_MENU_FONT_SIZE); - FcConfigSubstitute(FcConfigGetCurrent(), pattern, FcMatchPattern); - - FcResult result = FcResultMatch; diff --git a/wmx.spec b/wmx.spec index 3bdd964..8672162 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,18 +1,21 @@ +%define checkout 20120109svn + Name: wmx Version: 7 -Release: 8%{?dist} +Release: 9.%{checkout}%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X URL: http://www.all-day-breakfast.com/wmx/ Source0: http://www.all-day-breakfast.com/wmx/%{name}-%{version}.tar.gz -Source1: wmx-defaults-1.tar.gz +Source1: wmx-defaults-2.tar.gz Source2: background.xpm Source3: wmx.desktop Source4: Xclients.wmx.sh -Source5: xnodecor.c -Patch0: wmx-7-composite.patch +Patch0: wmx-7-20120109svn.patch Patch1: wmx-7-cfg.patch +#wmx's 'New' button is hardcoded to start an xterm, better make sure we have it: +Requires: xterm BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel libXcomposite-devel freetype-devel libXft-devel @@ -30,14 +33,12 @@ configurable options. %build %configure --x-libraries=%{_libdir} --x-includes=%{_includedir}/X11 LIBS=-lfontconfig %{__make} %{?_smp_mflags} -%{__cc} -o xnodecor %{SOURCE5} -Werror -lX11 %install %{__rm} -rf %{buildroot} %{__install} -D -m 0755 wmx %{buildroot}%{_bindir}/wmx -%{__install} -D -m 0755 xnodecor %{buildroot}%{_bindir}/xnodecor %{__install} -d -m 0755 %{buildroot}%{_datadir}/%{name} -%{__install} -m 0755 wmx-defaults-1/* %{buildroot}%{_datadir}/%{name} +%{__install} -m 0755 wmx-defaults-2/* %{buildroot}%{_datadir}/%{name} %{__chmod} 0644 %{buildroot}%{_datadir}/%{name}/startup %{__install} -D -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/xsessions/wmx.desktop %{__install} -D -m 0755 %{SOURCE4} %{buildroot}%{_sysconfdir}/X11/xinit/Xclients.d/Xclients.wmx.sh @@ -54,6 +55,11 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Mon Jan 09 2012 Gabriel Somlo 7-9.20120109svn +- upgrade to latest svn checkout +- updated defaults +- dropped xnodecor + * Mon Feb 07 2011 Fedora Release Engineering - 7-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/xnodecor.c b/xnodecor.c deleted file mode 100644 index 91ed79c..0000000 --- a/xnodecor.c +++ /dev/null @@ -1,141 +0,0 @@ -/* Copyright 1998 by Vadim Kolontsov - * All rights reserved - * - * Distribute freely, except: don't remove my name from the source or - * documentation (don't take credit for my work), mark your changes (don't - * get me blamed for your possible bugs), don't alter or remove this - * notice. May be sold if buildable source is provided to buyer. No - * warrantee of any kind, express or implied, is included with this - * software; use at your own risk, responsibility for damages (if any) to - * anyone resulting from the use of this software rests entirely with the - * user. - * - * Send bug reports, bug fixes, enhancements, requests, flames, etc., and - * I'll try to keep a version up to date. I can be reached as follows: - * - * Vadim Kolontsov - *----------------------------------------------------------------------- - * This program sets attribute "override_redirect" to True for any window - * you've specified (using window name). Window Managers should ignore - * such windows; it's useful, for example, if you're using wmx Window Manager, - * and want to have a clock on every virtual screen and without any - * borders. Just add the following string to your X-startfile (after - * starting watch app): - * - * xnodecor -w watch - * - * (assuming that your watch application has a window named "watch") - * - * For details see http://sb.123.org/xnodecor.html - * - * Tested on FreeBSD 2.2.2, XFree86 3.2, wmx-4 - * - * Compilation: - * - * gcc -o xnodecor xnodecor.c -L/usr/X11R6/lib -I/usr/X11R6/include -lX11 */ - -#include -#include -#include -#include -#include -#include - -#define WAIT_DEFAULT 0 -#define WAIT_TIMEOUT 15 -#define VERBOSE_DEFAULT 0 - -int main(int argc, char *argv[]) -{ - Display *d; - Window w1, w2, *wins; - int c; - XSetWindowAttributes a; - char *name, *program_name, *display_name = NULL; - unsigned int i, n, found = 0, - f_wait = WAIT_DEFAULT, - f_verbose = VERBOSE_DEFAULT, - delay = WAIT_TIMEOUT; - - if (argv && argv[0] && *argv[0]) - program_name = (program_name = rindex(argv[0], '/')) ? - (*++program_name ? program_name : "xnodecor") : argv[0]; - - while ((c = getopt(argc, argv, "vd:wt:h")) != EOF) - switch (c) - { - case 'd': - display_name = strdup(optarg); - break; - - case 'w': - f_wait = f_wait ? 0 : 1; - break; - - case 'v': - f_verbose = f_verbose ? 0 : 1; - break; - - case 't': - delay = atoi(optarg); - break; - - case 'h': - default: - fprintf(stderr, "Usage: %s [options] window-name\n\n" - " -d display specify alternative display\n" - " -w wait for specified window (default: %swait)\n" - " -t n timeout for waiting (default: %d sec)\n" - " -v verbose mode (default: %s)\n" - " -h this help\n\n", program_name, - f_wait ? "" : "no ", delay, - f_verbose ? "on" : "off"); - exit(0); - } - - argc -= optind; - argv += optind; - - if (argc != 1) - { - fprintf(stderr, "%s: Window name not specified\n", program_name); - exit(1); - } - - d = XOpenDisplay(display_name); - if (!d) - { - fprintf(stderr, "%s: Can't open display\n", program_name); - exit(1); - } - - do - { - if (XQueryTree(d, RootWindow(d, 0), &w1, &w2, &wins, &n) == 0) - { - fprintf(stderr, "%s: XQueryTree failed\n", program_name); - exit(1); - } - - found = 0; - for (i = 0; i < n; i++) - if (XFetchName(d, wins[i], &name)) - { - if (f_verbose) printf("%s\n", name); - if (!strcmp(name, argv[0])) - { - if (f_verbose) printf("(found!)\n"); - - a.override_redirect = 1; - XChangeWindowAttributes(d, wins[i], CWOverrideRedirect, &a); - found = 1; - } - } - - if (f_wait) - sleep(1); - } while (f_wait && delay-- && !found); - - XCloseDisplay(d); -} - From c334304acda1ac216971361e518d758b3ab254a4 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 21 Jul 2012 22:52:26 -0500 Subject: [PATCH 19/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 8672162..52c30b5 100644 --- a/wmx.spec +++ b/wmx.spec @@ -2,7 +2,7 @@ Name: wmx Version: 7 -Release: 9.%{checkout}%{?dist} +Release: 10.%{checkout}%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -55,6 +55,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sun Jul 22 2012 Fedora Release Engineering - 7-10.20120109svn +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Mon Jan 09 2012 Gabriel Somlo 7-9.20120109svn - upgrade to latest svn checkout - updated defaults From 3b2d013ef82c509fd8389eb1179f20a5b122214e Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 14 Feb 2013 21:14:45 -0600 Subject: [PATCH 20/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 52c30b5..ff11968 100644 --- a/wmx.spec +++ b/wmx.spec @@ -2,7 +2,7 @@ Name: wmx Version: 7 -Release: 10.%{checkout}%{?dist} +Release: 11.%{checkout}%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -55,6 +55,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Fri Feb 15 2013 Fedora Release Engineering - 7-11.20120109svn +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Sun Jul 22 2012 Fedora Release Engineering - 7-10.20120109svn - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild From f389ade6727ee933e745bf8c0545c97aaab0a134 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sun, 4 Aug 2013 02:08:46 -0500 Subject: [PATCH 21/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index ff11968..8fbc5a0 100644 --- a/wmx.spec +++ b/wmx.spec @@ -2,7 +2,7 @@ Name: wmx Version: 7 -Release: 11.%{checkout}%{?dist} +Release: 12.%{checkout}%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -55,6 +55,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sun Aug 04 2013 Fedora Release Engineering - 7-12.20120109svn +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Fri Feb 15 2013 Fedora Release Engineering - 7-11.20120109svn - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild From 94b368b4acd2affd3ffe72f50b2a1098ff9a2509 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 23:45:28 -0500 Subject: [PATCH 22/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 8fbc5a0..c21209e 100644 --- a/wmx.spec +++ b/wmx.spec @@ -2,7 +2,7 @@ Name: wmx Version: 7 -Release: 12.%{checkout}%{?dist} +Release: 13.%{checkout}%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -55,6 +55,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sun Jun 08 2014 Fedora Release Engineering - 7-13.20120109svn +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Sun Aug 04 2013 Fedora Release Engineering - 7-12.20120109svn - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild From 9769845764fd53385b57b24689de59514623296b Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 18 Aug 2014 08:51:05 +0000 Subject: [PATCH 23/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index c21209e..64c15f6 100644 --- a/wmx.spec +++ b/wmx.spec @@ -2,7 +2,7 @@ Name: wmx Version: 7 -Release: 13.%{checkout}%{?dist} +Release: 14.%{checkout}%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -55,6 +55,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Mon Aug 18 2014 Fedora Release Engineering - 7-14.20120109svn +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Sun Jun 08 2014 Fedora Release Engineering - 7-13.20120109svn - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From 2ff6abbebdb6c93804484ebf396fa3749977a871 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Thu, 20 Nov 2014 11:40:38 -0500 Subject: [PATCH 24/57] update to version 8 --- .gitignore | 2 + sources | 4 +- wmx-7-20120109svn.patch | 612 ----------------------------- wmx-7-cfg.patch => wmx-8-cfg.patch | 6 +- wmx.spec | 23 +- 5 files changed, 18 insertions(+), 629 deletions(-) delete mode 100644 wmx-7-20120109svn.patch rename wmx-7-cfg.patch => wmx-8-cfg.patch (94%) diff --git a/.gitignore b/.gitignore index f7ed618..197070b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ wmx-7.tar.gz /wmx-7.tar.gz /wmx-defaults-1.tar.gz /wmx-defaults-2.tar.gz +/wmx-8.tar.gz +/wmx-defaults-3.tar.gz diff --git a/sources b/sources index 00e81f9..b43253b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -e8eda438f5dda09d11ba7de1dcf9e501 wmx-7.tar.gz -70892929426891facc252520784d9840 wmx-defaults-2.tar.gz +52a0e31b9a77e227eb6dc732f7941f15 wmx-8.tar.gz +d5d5e760039fce77133abff54ce97cc1 wmx-defaults-3.tar.gz diff --git a/wmx-7-20120109svn.patch b/wmx-7-20120109svn.patch deleted file mode 100644 index 9883625..0000000 --- a/wmx-7-20120109svn.patch +++ /dev/null @@ -1,612 +0,0 @@ -diff -NarU5 wmx-7/Channel.C SVN/wm2-2012-01-09/trunk/wmx/Channel.C ---- wmx-7/Channel.C 2009-01-09 06:18:03.000000000 -0500 -+++ SVN/wm2-2012-01-09/trunk/wmx/Channel.C 2012-01-09 11:05:39.676384280 -0500 -@@ -16,96 +16,102 @@ - { " ### ", "# #", "# #", " ### ", "# #", "# #", " ### " }, - { " ### ", "# #", "# #", " ####", " #", " # ", " ## " } - }; - - --void WindowManager::flipChannel(Boolean statusOnly, Boolean flipDown, -- Boolean quickFlip, Client *push) -+Window WindowManager::createNumberWindow(int screen, const char *colour) - { -- int x, y, i, sc; -- if (!CONFIG_CHANNEL_SURF) return; -- -- for (sc = 0; sc < screensTotal(); sc++) -- { -- if (!m_channelWindow[sc]) { -- -- XColor nearest, ideal; -- -- if (!XAllocNamedColor(display(), DefaultColormap(display(), sc), -- CONFIG_CHANNEL_NUMBER, &nearest, &ideal)) { -+ XColor nearest, ideal; -+ -+ if (!XAllocNamedColor(display(), DefaultColormap(display(), screen), -+ colour, &nearest, &ideal)) { - -- if (!XAllocNamedColor(display(), DefaultColormap(display(), sc), -- "black", &nearest, &ideal)) { -+ if (!XAllocNamedColor(display(), DefaultColormap(display(), screen), -+ "black", &nearest, &ideal)) { - -- fatal("Couldn't allocate green or black"); -- } -- } -- -- XSetWindowAttributes wa; -- wa.background_pixel = nearest.pixel; -- wa.override_redirect = True; -- -- m_channelWindow[sc] = XCreateWindow -- (display(), mroot(sc), -- 0, 0, 1, 1, 0, CopyFromParent, CopyFromParent, -- CopyFromParent, CWOverrideRedirect | CWBackPixel, &wa); -- } -+ fatal("Couldn't allocate requested numeral colour or black"); -+ } - } -+ -+ XSetWindowAttributes wa; -+ wa.background_pixel = nearest.pixel; -+ wa.override_redirect = True; -+ -+ Window w = XCreateWindow -+ (display(), mroot(screen), -+ 0, 0, 1, 1, 0, CopyFromParent, CopyFromParent, -+ CopyFromParent, CWOverrideRedirect | CWBackPixel, &wa); - -- int nextChannel; -+ return w; -+} - -- if (statusOnly) nextChannel = m_currentChannel; -- else { -- if (!flipDown) { -- nextChannel = m_currentChannel + 1; -- if (nextChannel > m_channels) nextChannel = 1; -- } else { -- nextChannel = m_currentChannel - 1; -- if (nextChannel < 1) nextChannel = m_channels; -- } -- } - -+int WindowManager::shapeNumberWindow(Window w, int n, int minDigits) -+{ -+ int i, x, y; - XRectangle r; - Boolean first = True; - char number[7]; -- sprintf(number, "%d", nextChannel); -+ sprintf(number, "%0*d", minDigits, n); - - for (i = 0; i < (int)strlen(number); ++i) { - for (y = 0; y < 7; ++y) { - for (x = 0; x < 5; ++x) { - if (numerals[number[i]-'0'][y][x] != ' ') { --/* -- r.x = i * 110 + x * 20; r.y = y * 20; -- r.width = r.height = 20; -- */ -+ - r.x = 10 + (i * 6 + x) * CONFIG_CHANNEL_NUMBER_SIZE; - r.y = y * CONFIG_CHANNEL_NUMBER_SIZE; - r.width = r.height = CONFIG_CHANNEL_NUMBER_SIZE; -- for(sc = 0; sc < screensTotal(); sc++) -- { -+ - XShapeCombineRectangles -- (display(), m_channelWindow[sc], ShapeBounding, -+ (display(), w, ShapeBounding, - 0, 0, &r, 1, first ? ShapeSet : ShapeUnion, - YXBanded); -- } -+ - first = False; - } - } - } - } - -- for(sc = 0; sc < screensTotal(); sc++) { --/* -- XMoveResizeWindow(display(), m_channelWindow[sc], -- DisplayWidth(display(), sc) - 30 - -- 110 * strlen(number), 30, 500, 160); -- */ -+ return (5 * CONFIG_CHANNEL_NUMBER_SIZE + 10) * strlen(number); -+} -+ -+ -+void WindowManager::flipChannel(Boolean statusOnly, Boolean flipDown, -+ Boolean quickFlip, Client *push) -+{ -+ int wid, i, sc; -+ if (!CONFIG_CHANNEL_SURF) return; -+ -+ for (sc = 0; sc < screensTotal(); sc++) { -+ if (!m_channelWindow[sc]) { -+ m_channelWindow[sc] = createNumberWindow(sc, CONFIG_CHANNEL_NUMBER); -+ } -+ } -+ -+ int nextChannel; -+ -+ if (statusOnly) nextChannel = m_currentChannel; -+ else { -+ if (!flipDown) { -+ nextChannel = m_currentChannel + 1; -+ if (nextChannel > m_channels) nextChannel = 1; -+ } else { -+ nextChannel = m_currentChannel - 1; -+ if (nextChannel < 1) nextChannel = m_channels; -+ } -+ } -+ -+ for (sc = 0; sc < screensTotal(); sc++) { -+ -+ wid = shapeNumberWindow(m_channelWindow[sc], nextChannel, 1); - - XMoveResizeWindow(display(), m_channelWindow[sc], -- DisplayWidth(display(), sc) - 30 - -- (5 * CONFIG_CHANNEL_NUMBER_SIZE + 10) * -- strlen(number), 30, 500, 160); -+ DisplayWidth(display(), sc) - 30 - wid, -+ 30, 500, 160); -+ - XMapRaised(display(), m_channelWindow[sc]); - } - - if (!statusOnly) { - -@@ -228,5 +234,38 @@ - if (m_channels <= channel) { - m_channels = channel + 1; - netwmUpdateChannelList(); - } - } -+ -+void -+WindowManager::updateClock() -+{ -+ time_t t; -+ struct tm *lt; -+ -+ fprintf(stderr, "updateClock\n"); -+ -+ time(&t); -+ lt = localtime(&t); -+ -+ if (!m_clockWindow[0]) { -+ m_clockWindow[0] = createNumberWindow(0, CONFIG_CLOCK_NUMBER); -+ m_clockWindow[1] = createNumberWindow(0, CONFIG_CLOCK_NUMBER); -+ } -+ -+ shapeNumberWindow(m_clockWindow[0], lt->tm_hour, 2); -+ shapeNumberWindow(m_clockWindow[1], lt->tm_min, 2); -+ -+ XMoveResizeWindow(display(), m_clockWindow[0], -+ 30, 30, 500, 160); -+ -+ XMoveResizeWindow(display(), m_clockWindow[1], -+ 30, 9 * CONFIG_CHANNEL_NUMBER_SIZE + 30, 500, 160); -+ -+ XMapWindow(display(), m_clockWindow[0]); -+ XLowerWindow(display(), m_clockWindow[0]); -+ -+ XMapWindow(display(), m_clockWindow[1]); -+ XLowerWindow(display(), m_clockWindow[1]); -+} -+ -diff -NarU5 wmx-7/Config.h SVN/wm2-2012-01-09/trunk/wmx/Config.h ---- wmx-7/Config.h 2009-01-09 06:18:03.000000000 -0500 -+++ SVN/wm2-2012-01-09/trunk/wmx/Config.h 2012-01-09 11:05:39.679384449 -0500 -@@ -77,12 +77,11 @@ - // Spawn a temporary new shell between the wm and each new process? - #define CONFIG_EXEC_USING_SHELL False - - // What to run to get a new window (from the "New" menu option) - #define CONFIG_NEW_WINDOW_LABEL "New" --#define CONFIG_NEW_WINDOW_COMMAND "xterm" --//#define CONFIG_NEW_WINDOW_COMMAND "/home/ccannam/.wmx/terminal" -+#define CONFIG_NEW_WINDOW_COMMAND "x-terminal-emulator" - #define CONFIG_NEW_WINDOW_COMMAND_OPTIONS 0 - // or, for example, - //#define CONFIG_NEW_WINDOW_COMMAND_OPTIONS "-ls","-sb","-sl","1024",0 - // alternatively, - #define CONFIG_DISABLE_NEW_WINDOW_COMMAND (DynamicConfig::config.disableNew()) -@@ -146,10 +145,18 @@ - // if False, behaviour will be as in wm2 (stretching the background - // image only). - - #define CONFIG_RESIZE_UPDATE True - -+// If USE_COMPOSITE is true, wmx will enable composite redirects for -+// all windows if the Composite extension is present. This should -+// make no difference at all to the appearance or behaviour of wmx, -+// but it may make it substantially faster with modern video cards -+// that optimise rendering more than old-fashioned window operations. -+ -+#define CONFIG_USE_COMPOSITE True -+ - // If RAISELOWER_ON_CLICK is True, clicking on the title of the - // topmost window will lower instead of raising it (patch due to - // Kazushi (Jam) Marukawa) - - #define CONFIG_RAISELOWER_ON_CLICK False -@@ -253,14 +260,12 @@ - // at all, define it to CONFIG_NO_BUTTON. - #define CONFIG_NO_BUTTON 999 - #define CONFIG_CLIENTMENU_BUTTON Button1 - #define CONFIG_COMMANDMENU_BUTTON Button2 - #define CONFIG_CIRCULATE_BUTTON Button3 // switch window, when over frame --#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON // flip channel, when over frame --#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON --//#define CONFIG_PREVCHANNEL_BUTTON CONFIG_NO_BUTTON --//#define CONFIG_NEXTCHANNEL_BUTTON CONFIG_NO_BUTTON -+#define CONFIG_PREVCHANNEL_BUTTON Button5 // flip channel, when over frame -+#define CONFIG_NEXTCHANNEL_BUTTON Button4 // flip channel, when over frame - - - // ============================== - // Section III. Colours and fonts - // ============================== -@@ -321,10 +326,11 @@ - #define CONFIG_TAB_BACKGROUND (DynamicConfig::config.tabBackground()) - #define CONFIG_FRAME_BACKGROUND (DynamicConfig::config.frameBackground()) - #define CONFIG_BUTTON_BACKGROUND (DynamicConfig::config.frameBackground()) - #define CONFIG_BORDERS "black" - #define CONFIG_CHANNEL_NUMBER "green" -+#define CONFIG_CLOCK_NUMBER "gray90" - - #define CONFIG_MENU_FOREGROUND (DynamicConfig::config.tabForeground()) - #define CONFIG_MENU_BACKGROUND (DynamicConfig::config.tabBackground()) - #define CONFIG_MENU_BORDERS "black" - -@@ -361,14 +367,14 @@ - #define CONFIG_USE_CHANNEL_MENU False - - // FLIP_DELAY is the length of time the big green number stays in the - // top-right when flipping channels, before the windows reappear. - // QUICK_FLIP_DELAY is the equivalent figure used when flipping with --// the Alt-Fn keys. Milliseconds. -+// the Alt-Fn keys or mouse wheel. Milliseconds. - - #define CONFIG_FLIP_DELAY 1000 --#define CONFIG_QUICK_FLIP_DELAY 200 -+#define CONFIG_QUICK_FLIP_DELAY 500 - - // Set MAD_FEEDBACK for skeletal representations of windows when - // flicking through the client menu and changing channels. The DELAY - // is how long skeletal feedback has to persist before wmx decides to - // post the entire window contents instead; if it's negative, the -@@ -377,30 +383,36 @@ - // delay of 0ms. - - #define CONFIG_MAD_FEEDBACK (DynamicConfig::config.useFeedback()) - #define CONFIG_FEEDBACK_DELAY (DynamicConfig::config.feedbackDelay()) - --// Groups are fun. you can bind a bunch of windows to a number key --// and when you press CONFIG_ALT_KEY_MASK and the number key --// all the windows of that group are raised. -- - // Position of the geometry window: - // X < 0 left, X > 0 right, X = 0 center - // Y < 0 top, Y > 0 bottom, Y = 0 center - #define CONFIG_GEOMETRY_X_POS 0 - #define CONFIG_GEOMETRY_Y_POS 0 - -+// Groups are fun. you can bind a bunch of windows to a number key -+// and when you press CONFIG_ALT_KEY_MASK and the number key -+// all the windows of that group are raised. -+ - // You bind a window to a group by pressing the - // CONFIG_ALT_KEY_MASK + CONFIG_GROUP_ADD + a number key - - // if you press CONFIG_ALT_KEY_MASK + CONFIG_GROUP_REMOVE_ALL - // + a number key that group is cleared of all windows. - - #define CONFIG_GROUPS True - #define CONFIG_GROUP_ADD ControlMask - #define CONFIG_GROUP_REMOVE_ALL ShiftMask - -+// Set CLOCK if you want wmx to display a clock permanently in the -+// background at top-left of screen 0. Use CONFIG_CLOCK_NUMBER -+// to control the colour of the clock digits. -+ -+#define CONFIG_CLOCK False -+ - // This lets you choose whether to keep the regular wmx - // mouse button behaviour, or go w/ the GNOME-described one. - // If this is True, the left mouse button (button1) lets you - // select 1 or more gmc 'icons' and drag them around etc, - // the right mouse button (button3) pops up the GNOME -diff -NarU5 wmx-7/configure SVN/wm2-2012-01-09/trunk/wmx/configure ---- wmx-7/configure 2009-01-09 06:18:03.000000000 -0500 -+++ SVN/wm2-2012-01-09/trunk/wmx/configure 2012-01-09 11:05:39.668383824 -0500 -@@ -3018,10 +3018,87 @@ - - fi - - - -+{ echo "$as_me:$LINENO: checking for XCompositeQueryExtension in -lXcomposite" >&5 -+echo $ECHO_N "checking for XCompositeQueryExtension in -lXcomposite... $ECHO_C" >&6; } -+if test "${ac_cv_lib_Xcomposite_XCompositeQueryExtension+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lXcomposite $LIBS" -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char XCompositeQueryExtension (); -+int -+main () -+{ -+return XCompositeQueryExtension (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && -+ $as_test_x conftest$ac_exeext; then -+ ac_cv_lib_Xcomposite_XCompositeQueryExtension=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_cv_lib_Xcomposite_XCompositeQueryExtension=no -+fi -+ -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xcomposite_XCompositeQueryExtension" >&5 -+echo "${ECHO_T}$ac_cv_lib_Xcomposite_XCompositeQueryExtension" >&6; } -+if test $ac_cv_lib_Xcomposite_XCompositeQueryExtension = yes; then -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_LIBXCOMPOSITE 1 -+_ACEOF -+ -+ LIBS="-lXcomposite $LIBS" -+ -+else -+ -+ echo "Warning: Xcomposite library not found" -+ echo "Please either install the Xcomposite library and headers, or ensure you have CONFIG_USE_COMPOSITE set to False in Config.h" -+ -+fi -+ -+ -+ - { echo "$as_me:$LINENO: checking for SmcOpenConnection in -lSM" >&5 - echo $ECHO_N "checking for SmcOpenConnection in -lSM... $ECHO_C" >&6; } - if test "${ac_cv_lib_SM_SmcOpenConnection+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -diff -NarU5 wmx-7/configure.in SVN/wm2-2012-01-09/trunk/wmx/configure.in ---- wmx-7/configure.in 2009-01-09 06:18:03.000000000 -0500 -+++ SVN/wm2-2012-01-09/trunk/wmx/configure.in 2012-01-09 11:05:39.674384166 -0500 -@@ -37,10 +37,16 @@ - AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [], [ - echo "Warning: Xpm library not found" - echo "Please either install the Xpm library and headers, or ensure you have CONFIG_USE_PIXMAPS set to False in Config.h" - ]) - -+dnl Composite is necessary if CONFIG_USE_COMPOSITE -+AC_CHECK_LIB(Xcomposite, XCompositeQueryExtension, [], [ -+ echo "Warning: Xcomposite library not found" -+ echo "Please either install the Xcomposite library and headers, or ensure you have CONFIG_USE_COMPOSITE set to False in Config.h" -+ ]) -+ - dnl SM and ICE are necessary if CONFIG_USE_SESSION_MANAGER - AC_CHECK_LIB(SM, SmcOpenConnection) - AC_CHECK_LIB(ICE, IceConnectionNumber) - - dnl Freetype: actually only needed if CONFIG_USE_XFT -diff -NarU5 wmx-7/Events.C SVN/wm2-2012-01-09/trunk/wmx/Events.C ---- wmx-7/Events.C 2009-01-09 06:18:03.000000000 -0500 -+++ SVN/wm2-2012-01-09/trunk/wmx/Events.C 2012-01-09 11:05:39.672384052 -0500 -@@ -142,15 +142,23 @@ - - if (!m_signalled) { - - waiting: - -- if (m_channelChangeTime > 0) { -+ if (m_channelChangeTime > 0 || CONFIG_CLOCK) { -+ - Time t = timestamp(True); -- if (t >= m_channelChangeTime) { -+ -+ if (m_channelChangeTime > 0 && t >= m_channelChangeTime) { - instateChannel(); - } -+ -+ if (CONFIG_CLOCK && (m_clockUpdateTime == CurrentTime || -+ t >= m_clockUpdateTime + 60000)) { -+ m_clockUpdateTime = t; -+ updateClock(); -+ } - } - - if (QLength(m_display) > 0) { - XNextEvent(m_display, e); - return; -diff -NarU5 wmx-7/Makefile.in SVN/wm2-2012-01-09/trunk/wmx/Makefile.in ---- wmx-7/Makefile.in 2009-01-09 06:18:03.000000000 -0500 -+++ SVN/wm2-2012-01-09/trunk/wmx/Makefile.in 2012-01-09 11:05:39.670383938 -0500 -@@ -43,10 +43,15 @@ - cp wmx @bindir@/wmx - -chmod 0755 @bindir@/wmx - -chown root:wheel @bindir@/wmx - -rm -f @bindir@/wmx.old - -+install-rpm: -+ mkdir -p $(DESTDIR)/usr/bin/ -+ cp wmx $(DESTDIR)/usr/bin/wmx -+ -+ - # DO NOT DELETE -- make depend depends on it - Border.o: Border.C Border.h General.h Config.h Rotated.h Client.h \ - Manager.h listmacro.h background.xpm - Buttons.o: Buttons.C Manager.h General.h Config.h listmacro.h Client.h \ - Border.h Rotated.h Menu.h -diff -NarU5 wmx-7/Manager.C SVN/wm2-2012-01-09/trunk/wmx/Manager.C ---- wmx-7/Manager.C 2009-01-09 06:18:03.000000000 -0500 -+++ SVN/wm2-2012-01-09/trunk/wmx/Manager.C 2012-01-09 11:05:39.678384393 -0500 -@@ -13,10 +13,14 @@ - #include - - #include "Cursors.h" - #include - -+#ifdef CONFIG_USE_COMPOSITE -+#include -+#endif -+ - Atom Atoms::wm_state; - Atom Atoms::wm_changeState; - Atom Atoms::wm_protocols; - Atom Atoms::wm_delete; - Atom Atoms::wm_takeFocus; -@@ -285,10 +289,12 @@ - - m_channels = 2; - m_currentChannel = 1; - m_channelChangeTime = 0; - m_channelWindow = 0; -+ m_clockWindow = 0; -+ m_clockUpdateTime = CurrentTime; - - Atoms::wm_state = XInternAtom(m_display, "WM_STATE", False); - Atoms::wm_changeState= XInternAtom(m_display, "WM_CHANGE_STATE", False); - Atoms::wm_protocols = XInternAtom(m_display, "WM_PROTOCOLS", False); - Atoms::wm_delete = XInternAtom(m_display, "WM_DELETE_WINDOW", False); -@@ -338,11 +344,22 @@ - - initialiseScreen(); - if (m_screensTotal > 1) { - fprintf(stderr, "\n Detected %d screens.", m_screensTotal); - } -- -+ -+#ifdef CONFIG_USE_COMPOSITE -+ int ev, er; -+ if (XCompositeQueryExtension(m_display, &ev, &er)) { -+ fprintf(stderr, "\n Enabling composite extension.\n"); -+ for (int i = 0; i < m_screensTotal; ++i) { -+ XCompositeRedirectSubwindows(m_display, RootWindow(m_display, i), -+ CompositeRedirectAutomatic); -+ } -+ } -+#endif -+ - XSetSelectionOwner(m_display, Atoms::wmx_running, - None, timestamp(True)); // used to have m_menuWindow - XSync(m_display, False); - m_initialising = False; - m_returnCode = 0; -@@ -517,11 +534,12 @@ - - m_root = (Window *) malloc(m_screensTotal * sizeof(Window)); - m_defaultColormap = (Colormap *) malloc(m_screensTotal * sizeof(Colormap)); - // m_minimumColormaps = (int *) malloc(m_screensTotal * sizeof(int)); - m_channelWindow = (Window *) malloc(m_screensTotal * sizeof(Window)); -- -+ m_clockWindow = (Window *) malloc(2 * sizeof(Window)); -+ - for (i = 0 ; i < m_screensTotal ; i++) { - - m_screenNumber = i; - m_channelWindow[i] = 0; - -@@ -570,10 +588,14 @@ - - XChangeWindowAttributes(m_display, m_root[i], CWCursor | CWEventMask, &attr); - XSync(m_display, False); - } - -+ for (i = 0; i < 2; ++i) { -+ m_clockWindow[i] = 0; -+ } -+ - m_screenNumber = 0; - } - - - unsigned long WindowManager::allocateColour(int screen, const char *name, -diff -NarU5 wmx-7/Manager.h SVN/wm2-2012-01-09/trunk/wmx/Manager.h ---- wmx-7/Manager.h 2009-01-09 06:18:03.000000000 -0500 -+++ SVN/wm2-2012-01-09/trunk/wmx/Manager.h 2012-01-09 11:05:39.682384620 -0500 -@@ -150,16 +150,22 @@ - - int m_channels; - int m_currentChannel; // from 1 to ... - void flipChannel(Boolean statusOnly, Boolean flipDown, - Boolean quickFlip, Client *push); // bleah! -+ Window createNumberWindow(int screen, const char *colour); -+ int shapeNumberWindow(Window w, int number, int minDigits); // returns width in pixels - void instateChannel(); - void createNewChannel(); - void checkChannel(int); - Time m_channelChangeTime; - Window *m_channelWindow; - -+ void updateClock(); -+ Window *m_clockWindow; -+ Time m_clockUpdateTime; -+ - Boolean m_looping; - int m_returnCode; - - static Boolean m_initialising; - static int errorHandler(Display *, XErrorEvent *); -diff -NarU5 wmx-7/Menu.C SVN/wm2-2012-01-09/trunk/wmx/Menu.C ---- wmx-7/Menu.C 2009-01-09 06:18:03.000000000 -0500 -+++ SVN/wm2-2012-01-09/trunk/wmx/Menu.C 2012-01-09 11:05:39.673384109 -0500 -@@ -54,10 +54,14 @@ - tokstr = 0; - - FcPattern *pattern = FcPatternCreate(); - FcPatternAddString(pattern, FC_FAMILY, (FcChar8 *)fi); - FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); -+ -+#ifndef FC_WEIGHT_REGULAR -+#define FC_WEIGHT_REGULAR FC_WEIGHT_MEDIUM -+#endif - FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_REGULAR); - FcPatternAddInteger(pattern, FC_PIXEL_SIZE, CONFIG_MENU_FONT_SIZE); - FcConfigSubstitute(FcConfigGetCurrent(), pattern, FcMatchPattern); - - FcResult result = FcResultMatch; diff --git a/wmx-7-cfg.patch b/wmx-8-cfg.patch similarity index 94% rename from wmx-7-cfg.patch rename to wmx-8-cfg.patch index be40c73..560bd60 100644 --- a/wmx-7-cfg.patch +++ b/wmx-8-cfg.patch @@ -1,6 +1,6 @@ -diff -NarU5 wmx-7.orig/Config.h wmx-7/Config.h ---- wmx-7.orig/Config.h 2012-01-09 16:07:03.610039637 -0500 -+++ wmx-7/Config.h 2012-01-09 16:07:46.408474496 -0500 +diff -NarU5 wmx-8.orig/Config.h wmx-8/Config.h +--- wmx-8.orig/Config.h 2014-11-16 14:34:19.000000000 -0500 ++++ wmx-8/Config.h 2014-11-20 09:41:54.238623357 -0500 @@ -77,11 +77,11 @@ // Spawn a temporary new shell between the wm and each new process? #define CONFIG_EXEC_USING_SHELL False diff --git a/wmx.spec b/wmx.spec index 64c15f6..6f1f247 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,19 +1,16 @@ -%define checkout 20120109svn - Name: wmx -Version: 7 -Release: 14.%{checkout}%{?dist} +Version: 8 +Release: 1%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X URL: http://www.all-day-breakfast.com/wmx/ Source0: http://www.all-day-breakfast.com/wmx/%{name}-%{version}.tar.gz -Source1: wmx-defaults-2.tar.gz +Source1: wmx-defaults-3.tar.gz Source2: background.xpm Source3: wmx.desktop Source4: Xclients.wmx.sh -Patch0: wmx-7-20120109svn.patch -Patch1: wmx-7-cfg.patch +Patch0: wmx-8-cfg.patch #wmx's 'New' button is hardcoded to start an xterm, better make sure we have it: Requires: xterm BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -28,7 +25,6 @@ configurable options. %setup -q -a 1 %{__install} -p -m 0644 %{SOURCE2} . %patch0 -p1 -%patch1 -p1 %build %configure --x-libraries=%{_libdir} --x-includes=%{_includedir}/X11 LIBS=-lfontconfig @@ -38,7 +34,7 @@ configurable options. %{__rm} -rf %{buildroot} %{__install} -D -m 0755 wmx %{buildroot}%{_bindir}/wmx %{__install} -d -m 0755 %{buildroot}%{_datadir}/%{name} -%{__install} -m 0755 wmx-defaults-2/* %{buildroot}%{_datadir}/%{name} +%{__install} -m 0755 wmx-defaults-3/* %{buildroot}%{_datadir}/%{name} %{__chmod} 0644 %{buildroot}%{_datadir}/%{name}/startup %{__install} -D -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/xsessions/wmx.desktop %{__install} -D -m 0755 %{SOURCE4} %{buildroot}%{_sysconfdir}/X11/xinit/Xclients.d/Xclients.wmx.sh @@ -55,6 +51,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Thu Nov 20 2014 Gabriel Somlo 8-1 +- update to 8 + * Mon Aug 18 2014 Fedora Release Engineering - 7-14.20120109svn - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild @@ -117,10 +116,10 @@ configurable options. * Fri Sep 08 2006 Gabriel Somlo 6pl1-14 - rebuilt for FC6MassRebuild -* Wed Jun 08 2006 Gabriel Somlo 6pl1-13 +* Thu Jun 08 2006 Gabriel Somlo 6pl1-13 - rebuild -* Wed Jun 08 2006 Gabriel Somlo 6pl1-12 +* Thu Jun 08 2006 Gabriel Somlo 6pl1-12 - more X11 buildrequires (thanks tibbs@math.uh.edu and Jarod Wilson) * Wed Jun 07 2006 Gabriel Somlo 6pl1-11 @@ -175,5 +174,5 @@ configurable options. * Tue Aug 09 2005 Gabriel Somlo 6pl1-0 - rebuilt for Fedora Core 4 -* Wed May 23 2004 Gabriel Somlo +* Sun May 23 2004 Gabriel Somlo - initial spec and packages. From e74ceb72ec1e9f2f822a672be97841f1902065e1 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Sat, 2 May 2015 18:36:31 +0200 Subject: [PATCH 25/57] Rebuilt for GCC 5 C++11 ABI change --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 6f1f247..6c1205b 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -51,6 +51,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat May 02 2015 Kalev Lember - 8-2 +- Rebuilt for GCC 5 C++11 ABI change + * Thu Nov 20 2014 Gabriel Somlo 8-1 - update to 8 From 75b1d87f1c327be60681e1bbfe809bba88942d27 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 19 Jun 2015 02:31:34 +0000 Subject: [PATCH 26/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 6c1205b..d783e5a 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -51,6 +51,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Fri Jun 19 2015 Fedora Release Engineering - 8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Sat May 02 2015 Kalev Lember - 8-2 - Rebuilt for GCC 5 C++11 ABI change From c894e3fb35194aa203e6f57644604f9036a81a7d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 5 Feb 2016 03:06:48 +0000 Subject: [PATCH 27/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index d783e5a..42da1ce 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -51,6 +51,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Fri Feb 05 2016 Fedora Release Engineering - 8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Fri Jun 19 2015 Fedora Release Engineering - 8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 892e4fc13068f7b7b124b0af06db9e342ba52f0e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 17:29:24 +0000 Subject: [PATCH 28/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 42da1ce..e97d560 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -51,6 +51,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Feb 11 2017 Fedora Release Engineering - 8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Fri Feb 05 2016 Fedora Release Engineering - 8-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 4e852c332a6ebbcb515b77a2f33ecb0ade3070a1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 21:42:58 +0000 Subject: [PATCH 29/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index e97d560..0388fbc 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -51,6 +51,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Sat Feb 11 2017 Fedora Release Engineering - 8-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From 110b11f6fe2c905b2f795b6c206f38813362c3fa Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 10:21:52 +0000 Subject: [PATCH 30/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 0388fbc..d759ec5 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -51,6 +51,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 8-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 63de701a405b5f3c0f30cfdc8845fdba0c13965d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 9 Feb 2018 21:05:26 +0000 Subject: [PATCH 31/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index d759ec5..c7ef151 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -51,6 +51,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Fri Feb 09 2018 Fedora Release Engineering - 8-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Thu Aug 03 2017 Fedora Release Engineering - 8-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 9711bb8717453517234e077bc41fa34bc8e3113a Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 00:49:03 +0100 Subject: [PATCH 32/57] Remove BuildRoot definition None of currently supported distributions need that. It was needed last for EL5 which is EOL now Signed-off-by: Igor Gnatenko --- wmx.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index c7ef151..dedcf97 100644 --- a/wmx.spec +++ b/wmx.spec @@ -13,7 +13,6 @@ Source4: Xclients.wmx.sh Patch0: wmx-8-cfg.patch #wmx's 'New' button is hardcoded to start an xterm, better make sure we have it: Requires: xterm -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel libXcomposite-devel freetype-devel libXft-devel %description From 274e28e1b1f88b8669a3995c41133473006d0b72 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 09:14:09 +0100 Subject: [PATCH 33/57] Remove %clean section None of currently supported distributions need that. Last one was EL5 which is EOL for a while. Signed-off-by: Igor Gnatenko --- wmx.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/wmx.spec b/wmx.spec index dedcf97..9909400 100644 --- a/wmx.spec +++ b/wmx.spec @@ -38,9 +38,6 @@ configurable options. %{__install} -D -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/xsessions/wmx.desktop %{__install} -D -m 0755 %{SOURCE4} %{buildroot}%{_sysconfdir}/X11/xinit/Xclients.d/Xclients.wmx.sh -%clean -%{__rm} -rf %{buildroot} - %files %defattr(-,root,root) %doc README* UPDATES TODO.netwm rsharman-patch/ From 54321bb12c94e5e171f8342ae7b81514a7c0149f Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Tue, 10 Jul 2018 01:39:16 -0500 Subject: [PATCH 34/57] Remove needless use of %defattr --- wmx.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 9909400..69671f8 100644 --- a/wmx.spec +++ b/wmx.spec @@ -39,7 +39,6 @@ configurable options. %{__install} -D -m 0755 %{SOURCE4} %{buildroot}%{_sysconfdir}/X11/xinit/Xclients.d/Xclients.wmx.sh %files -%defattr(-,root,root) %doc README* UPDATES TODO.netwm rsharman-patch/ %{_bindir}/* %{_datadir}/%{name} From 1ebf3da65541401a19bf2dbcd9c7524221f14135 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 14 Jul 2018 08:57:05 +0000 Subject: [PATCH 35/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 69671f8..59a2f2e 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jul 14 2018 Fedora Release Engineering - 8-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Fri Feb 09 2018 Fedora Release Engineering - 8-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From efdd9c8eef557520d6a1db81baf3fe50e8589664 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Mon, 23 Jul 2018 12:10:46 -0400 Subject: [PATCH 36/57] Add "BuildRequires: gcc-c++" (#1606700) --- wmx.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wmx.spec b/wmx.spec index 59a2f2e..d2620d2 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 9%{?dist} +Release: 10%{?dist} Summary: A really simple window manager for X License: BSD Group: User Interface/X @@ -13,7 +13,7 @@ Source4: Xclients.wmx.sh Patch0: wmx-8-cfg.patch #wmx's 'New' button is hardcoded to start an xterm, better make sure we have it: Requires: xterm -BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel libXcomposite-devel freetype-devel libXft-devel +BuildRequires: gcc-c++ xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel libXcomposite-devel freetype-devel libXft-devel %description A really simple window manager for X, based on wm2, with a minimal set of @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Mon Jul 23 2018 Gabriel Somlo 8-10 +- add "BuildRequires: gcc-c++" (#1606700) + * Sat Jul 14 2018 Fedora Release Engineering - 8-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From bca577030c93b34308068187907b7178babf6562 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:18:30 +0100 Subject: [PATCH 37/57] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- wmx.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index d2620d2..3f9801b 100644 --- a/wmx.spec +++ b/wmx.spec @@ -3,7 +3,6 @@ Version: 8 Release: 10%{?dist} Summary: A really simple window manager for X License: BSD -Group: User Interface/X URL: http://www.all-day-breakfast.com/wmx/ Source0: http://www.all-day-breakfast.com/wmx/%{name}-%{version}.tar.gz Source1: wmx-defaults-3.tar.gz From 245bdcd69d82452405c1a5a8149389c145543d9f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 3 Feb 2019 11:52:09 +0000 Subject: [PATCH 38/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 3f9801b..6438ec9 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 10%{?dist} +Release: 11%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -45,6 +45,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sun Feb 03 2019 Fedora Release Engineering - 8-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Mon Jul 23 2018 Gabriel Somlo 8-10 - add "BuildRequires: gcc-c++" (#1606700) From e1c741ac6d8f6a209d39b95fd58a89b8be557fee Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jul 2019 03:38:37 +0000 Subject: [PATCH 39/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 6438ec9..0d990a1 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 11%{?dist} +Release: 12%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -45,6 +45,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jul 27 2019 Fedora Release Engineering - 8-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sun Feb 03 2019 Fedora Release Engineering - 8-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From c9e9b985ab271fd97787f123da73c4b97ec581f6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 31 Jan 2020 03:52:22 +0000 Subject: [PATCH 40/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 0d990a1..da4b19d 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 12%{?dist} +Release: 13%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -45,6 +45,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Fri Jan 31 2020 Fedora Release Engineering - 8-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Sat Jul 27 2019 Fedora Release Engineering - 8-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From e241f8abb59b687f3ed75a3fe74f1176a9b4b777 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jul 2020 14:16:23 +0000 Subject: [PATCH 41/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index da4b19d..7dd4c46 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 13%{?dist} +Release: 14%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -45,6 +45,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Wed Jul 29 2020 Fedora Release Engineering - 8-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Fri Jan 31 2020 Fedora Release Engineering - 8-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From f9f3d0a2b400918be7a13991eacb13c3c4ff0794 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Sat, 9 Jan 2021 01:00:08 +0000 Subject: [PATCH 42/57] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- wmx.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/wmx.spec b/wmx.spec index 7dd4c46..a36c770 100644 --- a/wmx.spec +++ b/wmx.spec @@ -12,6 +12,7 @@ Source4: Xclients.wmx.sh Patch0: wmx-8-cfg.patch #wmx's 'New' button is hardcoded to start an xterm, better make sure we have it: Requires: xterm +BuildRequires: make BuildRequires: gcc-c++ xorg-x11-proto-devel libX11-devel libXpm-devel libXext-devel libXaw-devel libXt-devel libXcomposite-devel freetype-devel libXft-devel %description From dca45af2e3503064267f04ad1cb760936e2aa0d5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 23:37:16 +0000 Subject: [PATCH 43/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index a36c770..b4f609e 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 14%{?dist} +Release: 15%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 8-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Wed Jul 29 2020 Fedora Release Engineering - 8-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 9c937f1fed7fb43a00e5c3b5feaa4252ed13b384 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 21:05:08 +0000 Subject: [PATCH 44/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index b4f609e..e6d97af 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 15%{?dist} +Release: 16%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 8-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Wed Jan 27 2021 Fedora Release Engineering - 8-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 86544937b502c2a9bf4a3933cd122a2df6f793a8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 04:37:04 +0000 Subject: [PATCH 45/57] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index e6d97af..c478fb7 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 16%{?dist} +Release: 17%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 8-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Fri Jul 23 2021 Fedora Release Engineering - 8-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 544b6a785019819cc302bac7107cf5cc0810335c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 12:34:24 +0000 Subject: [PATCH 46/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index c478fb7..0ede61c 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 17%{?dist} +Release: 18%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 8-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sat Jan 22 2022 Fedora Release Engineering - 8-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 4b9550edc7a8803be3e5a984c01bb04a65ac7963 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 06:56:31 +0000 Subject: [PATCH 47/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 0ede61c..8642bee 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 18%{?dist} +Release: 19%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jan 21 2023 Fedora Release Engineering - 8-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Jul 23 2022 Fedora Release Engineering - 8-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 9ab0dbb3f0229b5ed154111a88f4a53fdcf51d84 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 18:19:22 +0000 Subject: [PATCH 48/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 8642bee..c8b0373 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 19%{?dist} +Release: 20%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 8-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sat Jan 21 2023 Fedora Release Engineering - 8-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 24b0e38824b174db1300ee560dd5099e3caae569 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 09:01:58 +0000 Subject: [PATCH 49/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index c8b0373..682bbd0 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 20%{?dist} +Release: 21%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 8-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Jul 22 2023 Fedora Release Engineering - 8-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 8632487e9a4a6daad1ab2fdf06143aef16332f6f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 29 Jan 2024 11:17:13 +0000 Subject: [PATCH 50/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 682bbd0..d7be305 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 21%{?dist} +Release: 22%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Mon Jan 29 2024 Fedora Release Engineering - 8-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Jan 27 2024 Fedora Release Engineering - 8-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 4b7f42eb2a008dea0b6ca5aeafcc35c6249b723c Mon Sep 17 00:00:00 2001 From: Software Management Team Date: Thu, 30 May 2024 12:46:49 +0200 Subject: [PATCH 51/57] Eliminate use of obsolete %patchN syntax (#2283636) --- wmx.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index d7be305..c44793c 100644 --- a/wmx.spec +++ b/wmx.spec @@ -23,7 +23,7 @@ configurable options. %setup -q %setup -q -a 1 %{__install} -p -m 0644 %{SOURCE2} . -%patch0 -p1 +%patch -P0 -p1 %build %configure --x-libraries=%{_libdir} --x-includes=%{_includedir}/X11 LIBS=-lfontconfig From a3655e68210563a116971e47161a2bbef608c835 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 09:29:16 +0000 Subject: [PATCH 52/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index c44793c..9e2bcc0 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 22%{?dist} +Release: 23%{?dist} Summary: A really simple window manager for X License: BSD URL: http://www.all-day-breakfast.com/wmx/ @@ -46,6 +46,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 8-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Mon Jan 29 2024 Fedora Release Engineering - 8-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 3a0853d91420a4a0771828ce3f5b5cc3dc0e4d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 4 Sep 2024 22:48:03 +0200 Subject: [PATCH 53/57] convert license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- wmx.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wmx.spec b/wmx.spec index 9e2bcc0..be89549 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,8 +1,9 @@ Name: wmx Version: 8 -Release: 23%{?dist} +Release: 24%{?dist} Summary: A really simple window manager for X -License: BSD +# Automatically converted from old format: BSD - review is highly recommended. +License: LicenseRef-Callaway-BSD URL: http://www.all-day-breakfast.com/wmx/ Source0: http://www.all-day-breakfast.com/wmx/%{name}-%{version}.tar.gz Source1: wmx-defaults-3.tar.gz @@ -46,6 +47,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Wed Sep 04 2024 Miroslav Suchý - 8-24 +- convert license to SPDX + * Sat Jul 20 2024 Fedora Release Engineering - 8-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From b0f3cb0238494f1adce7acc3985e628f21addd83 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 15:11:28 +0000 Subject: [PATCH 54/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index be89549..4b43c0c 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 24%{?dist} +Release: 25%{?dist} Summary: A really simple window manager for X # Automatically converted from old format: BSD - review is highly recommended. License: LicenseRef-Callaway-BSD @@ -47,6 +47,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 8-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Sep 04 2024 Miroslav Suchý - 8-24 - convert license to SPDX From a3bb65153ca38df3401a2c2b18f1e00b5e3ad4af Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 20:30:24 +0000 Subject: [PATCH 55/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 4b43c0c..48f755c 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 25%{?dist} +Release: 26%{?dist} Summary: A really simple window manager for X # Automatically converted from old format: BSD - review is highly recommended. License: LicenseRef-Callaway-BSD @@ -47,6 +47,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 8-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sun Jan 19 2025 Fedora Release Engineering - 8-25 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From e7ddb586a0a8b298d427b50fa967f85a6b76dda6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 20:19:44 +0000 Subject: [PATCH 56/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 48f755c..1e07809 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 26%{?dist} +Release: 27%{?dist} Summary: A really simple window manager for X # Automatically converted from old format: BSD - review is highly recommended. License: LicenseRef-Callaway-BSD @@ -47,6 +47,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Sat Jan 17 2026 Fedora Release Engineering - 8-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Fri Jul 25 2025 Fedora Release Engineering - 8-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 567ba344cdff98b50872f2acad2dd566aa5b41e5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:53:32 +0000 Subject: [PATCH 57/57] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild --- wmx.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmx.spec b/wmx.spec index 1e07809..3ea685b 100644 --- a/wmx.spec +++ b/wmx.spec @@ -1,6 +1,6 @@ Name: wmx Version: 8 -Release: 27%{?dist} +Release: 28%{?dist} Summary: A really simple window manager for X # Automatically converted from old format: BSD - review is highly recommended. License: LicenseRef-Callaway-BSD @@ -47,6 +47,9 @@ configurable options. %{_sysconfdir}/X11/xinit/Xclients.d/* %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 8-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Sat Jan 17 2026 Fedora Release Engineering - 8-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild