Add uwm version 19881027, a no-frills window manager from X11R3.

Obtained from:	NetBSD pkgsrc/x11/uwm
This commit is contained in:
Trevor Johnson 2000-10-16 21:41:56 +00:00
parent 11a40e6df9
commit df2c154abf
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=33911
16 changed files with 505 additions and 0 deletions

View File

@ -42,6 +42,7 @@
SUBDIR += toolbox
SUBDIR += tvtwm
SUBDIR += ude
SUBDIR += uwm
SUBDIR += vtwm
SUBDIR += windowmaker
SUBDIR += windowmaker-i18n

55
x11-wm/uwm/Makefile Normal file
View File

@ -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>

3
x11-wm/uwm/distinfo Normal file
View File

@ -0,0 +1,3 @@
$NetBSD: md5,v 1.2 2000/02/02 08:07:11 itohy Exp $
MD5 (X.V11R3uwm.tar.gz) = 373f6526106d80c03103259adbf3a47a

10
x11-wm/uwm/files/patch-aa Normal file
View File

@ -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

137
x11-wm/uwm/files/patch-ab Normal file
View File

@ -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);

17
x11-wm/uwm/files/patch-ac Normal file
View File

@ -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>

134
x11-wm/uwm/files/patch-ad Normal file
View File

@ -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);
}

14
x11-wm/uwm/files/patch-ae Normal file
View File

@ -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.

13
x11-wm/uwm/files/patch-af Normal file
View File

@ -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);

25
x11-wm/uwm/files/patch-ag Normal file
View File

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

23
x11-wm/uwm/files/patch-ah Normal file
View File

@ -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&"

23
x11-wm/uwm/files/patch-ai Normal file
View File

@ -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&\"",

33
x11-wm/uwm/files/patch-aj Normal file
View File

@ -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);
}

1
x11-wm/uwm/pkg-comment Normal file
View File

@ -0,0 +1 @@
X11R3 window manager

12
x11-wm/uwm/pkg-descr Normal file
View File

@ -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

4
x11-wm/uwm/pkg-plist Normal file
View File

@ -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