summaryrefslogtreecommitdiff
path: root/wm/uwm
diff options
context:
space:
mode:
Diffstat (limited to 'wm/uwm')
-rw-r--r--wm/uwm/Makefile25
-rw-r--r--wm/uwm/files/md53
-rw-r--r--wm/uwm/files/patch-sum12
-rw-r--r--wm/uwm/patches/patch-aa10
-rw-r--r--wm/uwm/patches/patch-ab137
-rw-r--r--wm/uwm/patches/patch-ac17
-rw-r--r--wm/uwm/patches/patch-ad134
-rw-r--r--wm/uwm/patches/patch-ae14
-rw-r--r--wm/uwm/patches/patch-af13
-rw-r--r--wm/uwm/patches/patch-ag25
-rw-r--r--wm/uwm/patches/patch-ah23
-rw-r--r--wm/uwm/patches/patch-ai23
-rw-r--r--wm/uwm/patches/patch-aj29
-rw-r--r--wm/uwm/pkg/COMMENT1
-rw-r--r--wm/uwm/pkg/DESCR10
-rw-r--r--wm/uwm/pkg/PLIST5
16 files changed, 481 insertions, 0 deletions
diff --git a/wm/uwm/Makefile b/wm/uwm/Makefile
new file mode 100644
index 00000000000..8d536aa65e4
--- /dev/null
+++ b/wm/uwm/Makefile
@@ -0,0 +1,25 @@
+# $NetBSD: Makefile,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+DISTNAME= X.V11R3uwm
+PKGNAME= uwm-19881027
+CATEGORIES= x11 wm
+MASTER_SITES= ${MASTER_SITE_LOCAL}
+
+MAINTAINER= packages@netbsd.org
+#HOMEPAGE= http://www.x.org/
+
+WRKSRC= ${WRKDIR}/X.V11R3/clients/uwm
+USE_IMAKE= yes
+
+post-patch:
+ if [ ! -f ${WRKSRC}/uwm.man.src ]; then \
+ ${MV} ${WRKSRC}/uwm.man ${WRKSRC}/uwm.man.src; \
+ fi
+ ${SED} -e 's#/usr/lib/X11#${PREFIX}/lib/X11#g' <${WRKSRC}/uwm.man.src \
+ >${WRKSRC}/uwm.man
+
+post-install:
+ ${MKDIR} ${PREFIX}/lib/X11/uwm
+ ${INSTALL_DATA} ${WRKSRC}/default.uwmrc ${PREFIX}/lib/X11/uwm/system.uwmrc
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/wm/uwm/files/md5 b/wm/uwm/files/md5
new file mode 100644
index 00000000000..87af3b4f159
--- /dev/null
+++ b/wm/uwm/files/md5
@@ -0,0 +1,3 @@
+$NetBSD: md5,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+MD5 (X.V11R3uwm.tar.gz) = 373f6526106d80c03103259adbf3a47a
diff --git a/wm/uwm/files/patch-sum b/wm/uwm/files/patch-sum
new file mode 100644
index 00000000000..7d9fe07ddd9
--- /dev/null
+++ b/wm/uwm/files/patch-sum
@@ -0,0 +1,12 @@
+$NetBSD: patch-sum,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+MD5 (patch-aa) = 6ebca0c68ccc36ead286d15f64558a0d
+MD5 (patch-ab) = b7559a13c915e4fee232047920f43039
+MD5 (patch-ac) = cd52d12bed44d357df4ccb070d2df0e9
+MD5 (patch-ad) = 294879be399f00a841898f7527cc753a
+MD5 (patch-ae) = 7bbaae6465a104ed063ef8fee1f7cf49
+MD5 (patch-af) = 8d2bb3cf85676e259186241611edf4e4
+MD5 (patch-ag) = d8b35baf6f18314b657cab4076cd4a16
+MD5 (patch-ah) = cce76d53168d7de5f0350bc0409026bc
+MD5 (patch-ai) = d2ae89b2ee16602f37f664a9d2229e04
+MD5 (patch-aj) = 481d76eaf7209feead2cb4ee96097096
diff --git a/wm/uwm/patches/patch-aa b/wm/uwm/patches/patch-aa
new file mode 100644
index 00000000000..2ac63bb71c1
--- /dev/null
+++ b/wm/uwm/patches/patch-aa
@@ -0,0 +1,10 @@
+$NetBSD: patch-aa,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- Imakefile.orig Mon Oct 24 23:54:50 1988
++++ Imakefile Wed Dec 22 13:54:20 1999
+@@ -1,3 +1,5 @@
++ UWMDIR = $(LIBDIR)/uwm
++ TOP_INCLUDES = -I../.. -I$(INCROOT) $(TOP_X_INCLUDES)
+ DEFINES = -DSYSFILE=\"$(UWMDIR)$(PATHSEP)system.uwmrc\"
+ LOCAL_LIBRARIES = $(XLIB)
+ SYS_LIBRARIES = -ll
diff --git a/wm/uwm/patches/patch-ab b/wm/uwm/patches/patch-ab
new file mode 100644
index 00000000000..95e62e83135
--- /dev/null
+++ b/wm/uwm/patches/patch-ab
@@ -0,0 +1,137 @@
+$NetBSD: patch-ab,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- uwm.c.orig Sun Oct 23 22:21:55 1988
++++ uwm.c Wed Jan 19 08:20:54 2000
+@@ -41,9 +41,18 @@
+
+ #include "uwm.h"
+ #include <ctype.h>
++#include <signal.h>
++
++#ifdef CSRG_BASED
++#undef MIN
++#undef MAX
++#include <sys/param.h>
++#if defined(BSD) && BSD >= 199306
++#define HAVE_MKSTEMP
++#endif
++#endif
+
+ #ifdef PROFIL
+-#include <signal.h>
+ /*
+ * Dummy handler for profiling.
+ */
+@@ -53,6 +62,27 @@
+ }
+ #endif
+
++#ifdef SIGCHLD
++#include <sys/wait.h>
++/*
++ * clear (probably inherited) children which are dead or will die.
++ */
++clear_children()
++{
++ int status, pid;
++
++ do {
++#ifdef CSRG_BASED
++ pid = wait3(&status, WNOHANG, (struct rusage *) 0);
++#else /* SVR4 */
++ pid = waitpid(-1, &status, WNOHANG);
++#endif
++ } while (pid != 0 && pid != -1);
++
++ signal(SIGCHLD, clear_children);
++}
++#endif
++
+ #define gray_width 16
+ #define gray_height 16
+ static char gray_bits[] = {
+@@ -115,6 +145,10 @@
+ #ifdef PROFIL
+ signal(SIGTERM, ptrap);
+ #endif
++#ifdef SIGCHLD
++ /* no zombies */
++ clear_children();
++#endif
+
+ /*
+ * Set up internal defaults.
+@@ -369,7 +403,7 @@
+ if (IFontInfo == NULL) {
+ fprintf(stderr, "uwm: Unable to open icon font '%s', using server default.\n",
+ IFontName);
+- IFontInfo = XQueryFont(dpy, DefaultGC(dpy, scr)->gid);
++ IFontInfo = XQueryFont(dpy, XGContextFromGC(DefaultGC(dpy, scr)));
+ fallbackIFont = True;
+ }
+ PFontInfo = XLoadQueryFont(dpy, PFontName);
+@@ -379,7 +413,7 @@
+ if (fallbackIFont)
+ PFontInfo = IFontInfo;
+ else
+- PFontInfo = XQueryFont(dpy, DefaultGC(dpy, scr)->gid);
++ PFontInfo = XQueryFont(dpy, XGContextFromGC(DefaultGC(dpy, scr)));
+ fallbackPFont = True;
+ }
+ MFontInfo = XLoadQueryFont(dpy, MFontName);
+@@ -389,7 +423,7 @@
+ if (fallbackIFont || fallbackPFont)
+ MFontInfo = fallbackPFont ? PFontInfo : IFontInfo;
+ else
+- MFontInfo = XQueryFont(dpy, DefaultGC(dpy, scr)->gid);
++ MFontInfo = XQueryFont(dpy, XGContextFromGC(DefaultGC(dpy, scr)));
+ fallbackMFont = True;
+ }
+
+@@ -685,7 +719,11 @@
+ */
+ InitBindings()
+ {
++#ifdef HAVE_MKSTEMP
++ int fd;
++#else
+ char *mktemp();
++#endif
+ char *tempfile; /* Temporary filename. */
+ register FILE *fp; /* Temporary file pointer. */
+ register char **ptr; /* Default bindings string array pointer. */
+@@ -699,15 +737,26 @@
+ exit (1);
+ }
+ strcpy (tempfile, TEMPFILE);
++#ifdef HAVE_MKSTEMP
++ if ((fd = mkstemp(tempfile)) < 0 || (fp = fdopen(fd, "r+")) == NULL) {
++ perror("uwm: cannot create temp file");
++ exit(1);
++ }
++#else
+ sfilename = mktemp(tempfile);
+ if ((fp = fopen(tempfile, "w")) == NULL) {
+ perror("uwm: cannot create temp file");
+ exit(1);
+ }
++#endif
+ for (ptr = DefaultBindings; *ptr; ptr++) {
+ fputs(*ptr, fp);
+ fputc('\n', fp);
+ }
++#ifdef HAVE_MKSTEMP
++ rewind(fp);
++ yyin = fp;
++#else
+ fclose(fp);
+
+ /*
+@@ -717,6 +766,7 @@
+ perror("uwm: cannot open temp file");
+ exit(1);
+ }
++#endif
+ Lineno = 1;
+ yyparse();
+ fclose(yyin);
diff --git a/wm/uwm/patches/patch-ac b/wm/uwm/patches/patch-ac
new file mode 100644
index 00000000000..aa03d125949
--- /dev/null
+++ b/wm/uwm/patches/patch-ac
@@ -0,0 +1,17 @@
+$NetBSD: patch-ac,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- uwm.h.orig Mon Oct 24 19:08:24 1988
++++ uwm.h Thu Dec 23 00:27:02 1999
+@@ -39,6 +39,12 @@
+
+ #include <errno.h>
+ #include <stdio.h>
++#ifdef CSRG_BASED
++#include <unistd.h>
++#endif
++#ifndef X_NOT_STDC_ENV
++#include <stdlib.h>
++#endif
+ #include <X11/Xos.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
diff --git a/wm/uwm/patches/patch-ad b/wm/uwm/patches/patch-ad
new file mode 100644
index 00000000000..72d010e366e
--- /dev/null
+++ b/wm/uwm/patches/patch-ad
@@ -0,0 +1,134 @@
+$NetBSD: patch-ad,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- gram.y.orig Thu Sep 22 22:14:31 1988
++++ gram.y Thu Dec 23 22:04:02 1999
+@@ -117,18 +117,18 @@
+ case IsString:
+ if ($3 == C_STRING) {
+ strcpy(KeywordTable[$1].sptr,
+- yylval.sval);
++ $<sval>2);
+ } else {
+ yyerror("illegal construct");
+ }
+- free(yylval.sval);
++ free($<sval>2);
+ break;
+ case IsNumeric:
+ if ($3 == C_STRING) {
+ *(KeywordTable[$1].nptr) =
+- y_atoi(yylval.sval);
++ y_atoi($<sval>2);
+ } else yyerror("illegal construct");
+- free(yylval.sval);
++ free($<sval>2);
+ break;
+ case IsBoolTrue:
+ case IsBoolFalse:
+@@ -197,12 +197,12 @@
+ ml_ptr = $3;
+ }
+ | STRING
+- { $$ = C_STRING; }
++ { $$ = C_STRING; $<sval>0 = $1; }
+ ;
+
+ boolvar: STRING
+ {
+- ki = keywordlookup(yylval.sval);
++ ki = keywordlookup($1);
+ switch (KeywordTable[ki].type) {
+ case IsBoolTrue:
+ *(KeywordTable[ki].bptr) = TRUE;
+@@ -220,7 +220,7 @@
+ ;
+
+ keyword: STRING {
+- $$ = keywordlookup(yylval.sval);
++ $$ = keywordlookup($1);
+ }
+ ;
+
+@@ -246,9 +246,9 @@
+ { $$ = CheckButtonState($1); }
+ ;
+
+-kmask: STRING { $$ = keyexprlookup(yylval.sval); }
++kmask: STRING { $$ = keyexprlookup($1); }
+
+-contmask: STRING { $$ = contexprlookup(yylval.sval); }
++contmask: STRING { $$ = contexprlookup($1); }
+
+ buttmodexpr: buttmodifier
+ { $$ = $1; }
+@@ -257,7 +257,7 @@
+ ;
+
+ buttmodifier: STRING
+- { $$ = buttexprlookup(yylval.sval); }
++ { $$ = buttexprlookup($1); }
+ ;
+
+ menuname: STRING
+@@ -304,7 +304,7 @@
+
+ menuaction: STRING
+ {
+- ki = keywordlookup(yylval.sval);
++ ki = keywordlookup($1);
+ if ((ki != -1) &&
+ (KeywordTable[ki].type != IsFunction) &&
+ (KeywordTable[ki].type != IsQuitFunction) &&
+@@ -350,7 +350,7 @@
+ }
+ ;
+
+-strings: STRING { $$ = yylval.sval; }
++strings: STRING { $$ = $1; }
+ | strings STRING
+ { $$ = strconcat($1, $2); }
+ ;
+@@ -387,7 +387,7 @@
+ }
+ ;
+
+-color: STRING { $$ = yylval.sval; }
++color: STRING { $$ = $1; }
+ | /* empty */ { $$ = NULL; }
+ ;
+ %%
+@@ -572,6 +572,8 @@
+ setbinding(ICON, index, mask, name);
+ if (context & WINDOW)
+ setbinding(WINDOW, index, mask, name);
++ if (name)
++ free(name);
+ }
+
+ /*
+@@ -599,12 +601,13 @@
+ char *mname; /* Pointer to menu name, if needed. */
+ {
+ Binding *ptr;
++ extern char *stash();
+
+ ptr = AllocBinding();
+ ptr->context = cont;
+ ptr->mask = m;
+ ptr->func = KeywordTable[i].fptr;
+- ptr->menuname = mname;
++ ptr->menuname = mname ? stash(mname) : NULL;
+
+ switch (m & (LeftMask | MiddleMask | RightMask)) {
+ case LeftMask:
+@@ -771,9 +774,8 @@
+ else {
+ for(ptr = list; ptr->next; ptr = ptr->next) /* NULL */;
+ ptr->next = link;
+- ptr = ptr->next;
+- ptr->next = NULL;
+ }
++ link->next = NULL;
+ return(list);
+ }
+
diff --git a/wm/uwm/patches/patch-ae b/wm/uwm/patches/patch-ae
new file mode 100644
index 00000000000..f1274138431
--- /dev/null
+++ b/wm/uwm/patches/patch-ae
@@ -0,0 +1,14 @@
+$NetBSD: patch-ae,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- GetButton.c.orig Mon Oct 24 19:08:17 1988
++++ GetButton.c Wed Dec 22 13:59:28 1999
+@@ -255,7 +255,8 @@
+ /*
+ * We convert the key pressed event to ascii.
+ */
+- nbytes = XLookupString(kp_event, kbd_str, STRLEN, NULL);
++ nbytes = XLookupString(kp_event, kbd_str, STRLEN, (KeySym *) NULL,
++ (XComposeStatus *) NULL);
+
+ /*
+ * If kbd_str is a "non-string", then don't do anything.
diff --git a/wm/uwm/patches/patch-af b/wm/uwm/patches/patch-af
new file mode 100644
index 00000000000..335f18664f8
--- /dev/null
+++ b/wm/uwm/patches/patch-af
@@ -0,0 +1,13 @@
+$NetBSD: patch-af,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- Kill.c.orig Thu Sep 8 00:28:28 1988
++++ Kill.c Thu Dec 23 00:54:08 1999
+@@ -11,7 +11,7 @@
+ int button; /* Button event detail. */
+ int x, y; /* Event mouse position. */
+ {
+- Window *assoc;
++ Window assoc;
+
+ if (IsIcon(window, x, y, TRUE, &assoc))
+ XKillClient(dpy, assoc);
diff --git a/wm/uwm/patches/patch-ag b/wm/uwm/patches/patch-ag
new file mode 100644
index 00000000000..e3aa8281297
--- /dev/null
+++ b/wm/uwm/patches/patch-ag
@@ -0,0 +1,25 @@
+$NetBSD: patch-ag,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- Restart.c.orig Sat Feb 27 07:38:11 1988
++++ Restart.c Thu Dec 23 00:39:16 1999
+@@ -46,6 +46,8 @@
+ XButtonEvent button_event;
+ int percentage;
+ int i;
++ extern char **environ;
++ char **oenv;
+
+ percentage = VOLUME_PERCENTAGE(Volume);
+ XBell(dpy, percentage);
+@@ -55,7 +57,10 @@
+ * Gag, rely on operating system to close connection because we don't
+ * to mess ourselves up in case the exec fails.
+ */
+- execvp(*Argv, Argv, Environ);
++ oenv = environ;
++ environ = Environ;
++ execvp(*Argv, Argv);
++ environ = oenv;
+ for (i = 0; i < 4; i++) {
+ XBell(dpy, percentage);
+ percentage += 10;
diff --git a/wm/uwm/patches/patch-ah b/wm/uwm/patches/patch-ah
new file mode 100644
index 00000000000..4a2fe41820b
--- /dev/null
+++ b/wm/uwm/patches/patch-ah
@@ -0,0 +1,23 @@
+$NetBSD: patch-ah,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- default.uwmrc.orig Fri Sep 23 23:08:13 1988
++++ default.uwmrc Thu Dec 23 07:59:56 1999
+@@ -38,7 +38,6 @@
+ f.circleup= meta :root: right down
+ f.circledown= m|s :: left down
+ f.menu= :root: middle down : "WindowOps"
+-f.menu= m|s :: middle down : "WindowOps"
+ f.menu= m|s :: middle down : "Preferences"
+ f.circleup= m|s :: right down
+ f.iconify= m|c :window|icon: left down
+@@ -78,8 +77,8 @@
+ Click Loud: !"xset c 8&"
+ Click Soft: !"xset c on&"
+ Click Off: !"xset c off&"
+-Lock On: !"xset l on&"
+-Lock Off: !"xset l off&"
++Lock On: !"xset led on&"
++Lock Off: !"xset led off&"
+ Mouse Fast: !"xset m 4 2&"
+ Mouse Normal: !"xset m 2 5&"
+ Mouse Slow: !"xset m 1 1&"
diff --git a/wm/uwm/patches/patch-ai b/wm/uwm/patches/patch-ai
new file mode 100644
index 00000000000..1ec35b4ace1
--- /dev/null
+++ b/wm/uwm/patches/patch-ai
@@ -0,0 +1,23 @@
+$NetBSD: patch-ai,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- Bindings.c.orig Fri Sep 23 23:08:11 1988
++++ Bindings.c Thu Dec 23 07:59:56 1999
+@@ -63,7 +63,6 @@
+ "f.circleup=m:r:r d",
+ "f.circledown=m|s::l d",
+ "f.menu=:r:m d:\"WindowOps\"",
+-"f.menu=m|s::m d:\"WindowOps\"",
+ "f.menu=m|s::m d:\"Preferences\"",
+ "f.circleup=m|s::r d",
+ "f.iconify=m|c:w|i:l d",
+@@ -102,8 +101,8 @@
+ "Click Loud:!\"xset c 8&\"",
+ "Click Soft:!\"xset c on&\"",
+ "Click Off:!\"xset c off&\"",
+-"Lock On:!\"xset l on&\"",
+-"Lock Off:!\"xset l off&\"",
++"Lock On:!\"xset led on&\"",
++"Lock Off:!\"xset led off&\"",
+ "Mouse Fast:!\"xset m 4 2&\"",
+ "Mouse Normal:!\"xset m 2 5&\"",
+ "Mouse Slow:!\"xset m 1 1&\"",
diff --git a/wm/uwm/patches/patch-aj b/wm/uwm/patches/patch-aj
new file mode 100644
index 00000000000..53ad6b0e811
--- /dev/null
+++ b/wm/uwm/patches/patch-aj
@@ -0,0 +1,29 @@
+$NetBSD: patch-aj,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+
+--- Menu.c.orig Sat Oct 1 18:41:13 1988
++++ Menu.c Mon Jan 17 22:09:10 2000
+@@ -84,6 +84,14 @@
+ char **oldenviron;
+ extern char **environ, **newenviron;
+
++#ifdef SIGCHLD
++ /*
++ * Children are now handled in uwm.c, but make sure
++ * uwm blocks :-) for compatibility with other systems.
++ */
++
++ signal(SIGCHLD, SIG_DFL);
++#endif
+ oldenviron = environ;
+ environ = newenviron;
+ if ((pid = vfork()) == 0) {
+@@ -107,6 +115,9 @@
+ status = -1;
+ signal(SIGINT, istat);
+ signal(SIGQUIT, qstat);
++#ifdef SIGCHLD
++ clear_children();
++#endif
+ return(status);
+ }
+
diff --git a/wm/uwm/pkg/COMMENT b/wm/uwm/pkg/COMMENT
new file mode 100644
index 00000000000..91181a17b15
--- /dev/null
+++ b/wm/uwm/pkg/COMMENT
@@ -0,0 +1 @@
+X11R3 window manager
diff --git a/wm/uwm/pkg/DESCR b/wm/uwm/pkg/DESCR
new file mode 100644
index 00000000000..94877fe1c62
--- /dev/null
+++ b/wm/uwm/pkg/DESCR
@@ -0,0 +1,10 @@
+ uwm is a small, simple windows manager, which came with X11R3.
+The characteristic of uwm is its simplicity. Superfluous and
+unnecessary features, such as title bars or keyboard short-cuts
+don't exist, much less pixmaps, banners, or themes.
+
+ Since no ``frame'' appears around application windows, there is
+no problem about non-rectangular windows, even though the SHAPE
+extension of X11R4 is not explicitly supported by uwm.
+
+ The behavior of uwm is highly customizable by configuration files.
diff --git a/wm/uwm/pkg/PLIST b/wm/uwm/pkg/PLIST
new file mode 100644
index 00000000000..d5abaa214cc
--- /dev/null
+++ b/wm/uwm/pkg/PLIST
@@ -0,0 +1,5 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $
+bin/uwm
+man/cat1/uwm.0
+lib/X11/uwm/system.uwmrc
+@dirrm lib/X11/uwm