aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortrevor <trevor@FreeBSD.org>2000-10-17 05:41:56 +0800
committertrevor <trevor@FreeBSD.org>2000-10-17 05:41:56 +0800
commit5ff2082e8bc4828af87a76782ba2ec33687224ad (patch)
tree59b5aef97e6cec426dbcbfa6f9284ef19a2931c2
parenteb9b1f571e8577dd0006acf1ce0e8952a483a055 (diff)
downloadfreebsd-ports-gnome-5ff2082e8bc4828af87a76782ba2ec33687224ad.tar.gz
freebsd-ports-gnome-5ff2082e8bc4828af87a76782ba2ec33687224ad.tar.zst
freebsd-ports-gnome-5ff2082e8bc4828af87a76782ba2ec33687224ad.zip
Add uwm version 19881027, a no-frills window manager from X11R3.
Obtained from: NetBSD pkgsrc/x11/uwm
-rw-r--r--x11-wm/Makefile1
-rw-r--r--x11-wm/uwm/Makefile55
-rw-r--r--x11-wm/uwm/distinfo3
-rw-r--r--x11-wm/uwm/files/patch-aa10
-rw-r--r--x11-wm/uwm/files/patch-ab137
-rw-r--r--x11-wm/uwm/files/patch-ac17
-rw-r--r--x11-wm/uwm/files/patch-ad134
-rw-r--r--x11-wm/uwm/files/patch-ae14
-rw-r--r--x11-wm/uwm/files/patch-af13
-rw-r--r--x11-wm/uwm/files/patch-ag25
-rw-r--r--x11-wm/uwm/files/patch-ah23
-rw-r--r--x11-wm/uwm/files/patch-ai23
-rw-r--r--x11-wm/uwm/files/patch-aj33
-rw-r--r--x11-wm/uwm/pkg-comment1
-rw-r--r--x11-wm/uwm/pkg-descr12
-rw-r--r--x11-wm/uwm/pkg-plist4
16 files changed, 505 insertions, 0 deletions
diff --git a/x11-wm/Makefile b/x11-wm/Makefile
index 4826933c6028..9a7cba319a79 100644
--- a/x11-wm/Makefile
+++ b/x11-wm/Makefile
@@ -42,6 +42,7 @@
SUBDIR += toolbox
SUBDIR += tvtwm
SUBDIR += ude
+ SUBDIR += uwm
SUBDIR += vtwm
SUBDIR += windowmaker
SUBDIR += windowmaker-i18n
diff --git a/x11-wm/uwm/Makefile b/x11-wm/uwm/Makefile
new file mode 100644
index 000000000000..31690e9767cc
--- /dev/null
+++ b/x11-wm/uwm/Makefile
@@ -0,0 +1,55 @@
+# New ports collection makefile for: uwm
+# Date created: 2000-10-16
+# Whom: trevor
+#
+# based on the NetBSD package
+# $NetBSD: Makefile,v 1.2 2000/02/02 08:07:07 itohy Exp $
+# $FreeBSD$
+#
+
+PORTNAME= uwm
+PORTVERSION= 19881027
+CATEGORIES= x11
+MASTER_SITES= \
+ ftp://ftp.netbsd.org/pub${SUB} \
+ ftp://ftp.netbsd.org/pub${SUB2} \
+ ftp://ftp.planix.com/pub${SUB} \
+ ftp://ftp.planix.com/pub${SUB2} \
+ ftp://ftp.plig.net/pub${SUB} \
+ ftp://ftp.plig.net/pub${SUB2} \
+ ftp://ftp.csua.berkeley.edu/pub/.1/ports/distfiles/ \
+ ftp://ftp.iastate.edu/pub/netbsd/packages/distfiles/ \
+ ftp://ftp.iastate.edu/pub/netbsd/packages/distfiles/LOCAL_PORTS/ \
+ ftp://sunsite.cnlab-switch.ch/mirror${SUB} \
+ ftp://ftp.unina.it/pub/Unix${SUB} \
+ ftp://ftp.unina.it/pub/Unix${SUB2} \
+ ftp://ftp.sunsite.org.uk/Mirrors/ftp.netbsd.org/pub${SUB} \
+ ftp://ftp.sunsite.org.uk/Mirrors/ftp.netbsd.org/pub${SUB2} \
+ ftp://ftp.dti.ad.jp/pub${SUB} \
+ ftp://ftp.dti.ad.jp/pub${SUB2} \
+ ftp://ftp.jaist.ac.jp/.arc07${SUB} \
+ ftp://ftp.jaist.ac.jp/.arc07${SUB2} \
+ ftp://ftp.tokyonet.ad.jp${SUB} \
+ ftp://ftp.sra.co.jp/pub/os${SUB} \
+ ftp://ftp.sra.co.jp/pub/os${SUB2} \
+ ftp://ftp.nectec.or.th/pub/bsd-distributions${SUB}
+SUB= /NetBSD/packages/distfiles/
+SUB2= ${SUB}LOCAL_PORTS/
+DISTNAME= X.V11R3uwm
+
+MAINTAINER= trevor@FreeBSD.org
+
+MAN1= uwm.1
+USE_IMAKE= yes
+WRKSRC= ${WRKDIR}/X.V11R3/clients/uwm
+XFREE86_HTML_MAN= no # HTML had not yet been invented.
+
+post-patch:
+ ${PERL} -pi -e 's:/usr/lib/X11:${PREFIX}/lib/X11:g' ${WRKSRC}/uwm.man
+
+post-install:
+ ${MKDIR} ${PREFIX}/lib/X11/uwm
+ ${INSTALL_DATA} ${WRKSRC}/default.uwmrc \
+ ${PREFIX}/lib/X11/uwm/system.uwmrc
+
+.include <bsd.port.mk>
diff --git a/x11-wm/uwm/distinfo b/x11-wm/uwm/distinfo
new file mode 100644
index 000000000000..40cc7f710c2d
--- /dev/null
+++ b/x11-wm/uwm/distinfo
@@ -0,0 +1,3 @@
+$NetBSD: md5,v 1.2 2000/02/02 08:07:11 itohy Exp $
+
+MD5 (X.V11R3uwm.tar.gz) = 373f6526106d80c03103259adbf3a47a
diff --git a/x11-wm/uwm/files/patch-aa b/x11-wm/uwm/files/patch-aa
new file mode 100644
index 000000000000..3208c76049a1
--- /dev/null
+++ b/x11-wm/uwm/files/patch-aa
@@ -0,0 +1,10 @@
+$NetBSD: patch-aa,v 1.1.1.1 1999/12/23 03:10:59 itohy 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/x11-wm/uwm/files/patch-ab b/x11-wm/uwm/files/patch-ab
new file mode 100644
index 000000000000..41bf99a79ee3
--- /dev/null
+++ b/x11-wm/uwm/files/patch-ab
@@ -0,0 +1,137 @@
+$NetBSD: patch-ab,v 1.2 2000/01/19 07:24:07 itohy Exp $
+
+--- uwm.c.orig Sun Oct 23 13:21:55 1988
++++ uwm.c Mon Oct 16 08:58:41 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/x11-wm/uwm/files/patch-ac b/x11-wm/uwm/files/patch-ac
new file mode 100644
index 000000000000..4f6765f0ddbe
--- /dev/null
+++ b/x11-wm/uwm/files/patch-ac
@@ -0,0 +1,17 @@
+$NetBSD: patch-ac,v 1.1.1.1 1999/12/23 03:10:59 itohy 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/x11-wm/uwm/files/patch-ad b/x11-wm/uwm/files/patch-ad
new file mode 100644
index 000000000000..69e50f267d47
--- /dev/null
+++ b/x11-wm/uwm/files/patch-ad
@@ -0,0 +1,134 @@
+$NetBSD: patch-ad,v 1.3 1999/12/23 23:12:50 itohy 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/x11-wm/uwm/files/patch-ae b/x11-wm/uwm/files/patch-ae
new file mode 100644
index 000000000000..e5a469286452
--- /dev/null
+++ b/x11-wm/uwm/files/patch-ae
@@ -0,0 +1,14 @@
+$NetBSD: patch-ae,v 1.1.1.1 1999/12/23 03:10:59 itohy 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/x11-wm/uwm/files/patch-af b/x11-wm/uwm/files/patch-af
new file mode 100644
index 000000000000..d0081b90fe62
--- /dev/null
+++ b/x11-wm/uwm/files/patch-af
@@ -0,0 +1,13 @@
+$NetBSD: patch-af,v 1.1.1.1 1999/12/23 03:10:59 itohy 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/x11-wm/uwm/files/patch-ag b/x11-wm/uwm/files/patch-ag
new file mode 100644
index 000000000000..d89e6ab69c71
--- /dev/null
+++ b/x11-wm/uwm/files/patch-ag
@@ -0,0 +1,25 @@
+$NetBSD: patch-ag,v 1.1.1.1 1999/12/23 03:10:59 itohy 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/x11-wm/uwm/files/patch-ah b/x11-wm/uwm/files/patch-ah
new file mode 100644
index 000000000000..fe779b52d26a
--- /dev/null
+++ b/x11-wm/uwm/files/patch-ah
@@ -0,0 +1,23 @@
+$NetBSD: patch-ah,v 1.1.1.1 1999/12/23 03:10:59 itohy 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/x11-wm/uwm/files/patch-ai b/x11-wm/uwm/files/patch-ai
new file mode 100644
index 000000000000..63cac0965bca
--- /dev/null
+++ b/x11-wm/uwm/files/patch-ai
@@ -0,0 +1,23 @@
+$NetBSD: patch-ai,v 1.1.1.1 1999/12/23 03:10:59 itohy 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/x11-wm/uwm/files/patch-aj b/x11-wm/uwm/files/patch-aj
new file mode 100644
index 000000000000..fa71e26e7ccf
--- /dev/null
+++ b/x11-wm/uwm/files/patch-aj
@@ -0,0 +1,33 @@
+$NetBSD: patch-aj,v 1.1 2000/01/19 07:24:07 itohy Exp $
+
+--- Menu.c.orig Sat Oct 1 09:41:13 1988
++++ Menu.c Mon Oct 16 09:10:20 2000
+@@ -84,6 +84,14 @@
+ char **oldenviron;
+ extern char **environ, **newenviron;
+
++#ifdef SIGCHLD
++ /*
++ * Children are now handled in uvm.c, but make sure
++ * uwm blocks :-) for compatibility with other systems.
++ */
++
++ signal(SIGCHLD, SIG_DFL);
++#endif
+ oldenviron = environ;
+ environ = newenviron;
+ if ((pid = vfork()) == 0) {
+@@ -105,8 +113,11 @@
+ ;
+ if (w == -1)
+ status = -1;
+- signal(SIGINT, istat);
+- signal(SIGQUIT, qstat);
++ signal(SIGINT, (void *)istat);
++ signal(SIGQUIT, (void *)qstat);
++#ifdef SIGCHLD
++ clear_children();
++#endif
+ return(status);
+ }
+
diff --git a/x11-wm/uwm/pkg-comment b/x11-wm/uwm/pkg-comment
new file mode 100644
index 000000000000..91181a17b157
--- /dev/null
+++ b/x11-wm/uwm/pkg-comment
@@ -0,0 +1 @@
+X11R3 window manager
diff --git a/x11-wm/uwm/pkg-descr b/x11-wm/uwm/pkg-descr
new file mode 100644
index 000000000000..8bfe22612af1
--- /dev/null
+++ b/x11-wm/uwm/pkg-descr
@@ -0,0 +1,12 @@
+This is a small, simple window manager, contributed to X11R3 by DEC.
+
+The behavior of uwm can be customized by configuration files.
+
+Since uwm does not decorate windows, it may not be obvious that it has started.
+By default, middle-clicking on the root window with the middle mouse button
+will bring up a menu of window operations. Pressing a mouse button while
+holding an Alt key will raise or lower the window under the pointer, or (when
+done on the root window) circulate windows up or down.
+
+Trevor Johnson
+trevor@FreeBSD.org
diff --git a/x11-wm/uwm/pkg-plist b/x11-wm/uwm/pkg-plist
new file mode 100644
index 000000000000..d3d7c944d4d1
--- /dev/null
+++ b/x11-wm/uwm/pkg-plist
@@ -0,0 +1,4 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 1999/12/23 03:10:59 itohy Exp $
+bin/uwm
+lib/X11/uwm/system.uwmrc
+@dirrm lib/X11/uwm