commit 66441bf03bb93f8f6dc1c21bc750315887d917b7
parent 5dfffa855ba91a1f53f8cdd4b18ae5ea1392876c
Author: Anselm R. Garbe <garbeam@wmii.de>
Date: Sat, 11 Feb 2006 14:07:36 +0100
added Control-Alt-{p,a} shortcuts for new simplified menu
Diffstat:
| Makefile | | | 7 | +++---- |
| cmd/Makefile | | | 12 | ++++++------ |
| cmd/wmiiplumb.c | | | 91 | ------------------------------------------------------------------------------- |
| cmd/wmiipsel.c | | | 91 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| rc/wmiirc | | | 27 | ++++++++++++++++++++++++--- |
5 files changed, 124 insertions(+), 104 deletions(-)
diff --git a/Makefile b/Makefile
@@ -5,9 +5,8 @@ include config.mk
SUBDIRS = libcext liblitz libixp cmd
-BIN = cmd/wm/wmii cmd/wm/wmiiwm \
- cmd/wmiiplumb cmd/wmiir cmd/wmiiwarp
-#cmd/wmiimenu cmd/wmiiplumb cmd/wmiir cmd/wmiiwarp
+BIN = cmd/wm/wmii cmd/wm/wmiiwm cmd/wmiimenu \
+ cmd/wmiipsel cmd/wmiir cmd/wmiiwarp
MAN1 = cmd/wm/wmii.1 cmd/wm/wmiiwm.1 \
cmd/wmiimenu.1 cmd/wmiir.1
@@ -46,7 +45,7 @@ install: all
@echo installed executable files to ${DESTDIR}${PREFIX}/bin
@mkdir -p ${DESTDIR}${CONFPREFIX}/wmii-3
@cd rc; for i in *; do \
- sed 's|9PREFIX|${9PREFIX}|' <$$i >${DESTDIR}${CONFPREFIX}/wmii-3/$$i; \
+ sed 's|CONFPREFIX|${CONFPREFIX}|; s|9PREFIX|${9PREFIX}|' <$$i >${DESTDIR}${CONFPREFIX}/wmii-3/$$i; \
chmod 755 ${DESTDIR}${CONFPREFIX}/wmii-3/$$i; \
done
@echo installed rc scripts to ${DESTDIR}${CONFPREFIX}/wmii-3
diff --git a/cmd/Makefile b/cmd/Makefile
@@ -12,13 +12,13 @@ OBJ_menu = ${SRC_menu:.c=.o}
SRC_r = wmiir.c
OBJ_r = ${SRC_r:.c=.o}
-SRC_plumb = wmiiplumb.c
-OBJ_plumb = ${SRC_plumb:.c=.o}
+SRC_psel = wmiipsel.c
+OBJ_psel = ${SRC_psel:.c=.o}
SRC_warp = wmiiwarp.c
OBJ_warp = ${SRC_warp:.c=.o}
-all: wmiimenu wmiir wmiiplumb wmiiwarp
+all: wmiimenu wmiir wmiipsel wmiiwarp
@echo built wmii commands
.c.o:
@@ -39,13 +39,13 @@ wmiir: ${OBJ_r}
# @${CC} -o $@ ${OBJ_r} -g -static -L${PREFIX}/lib -L/usr/lib -lc \
# -L../libixp -lixp -L../libcext -lcext -lsocket
-wmiiplumb: ${OBJ_plumb}
+wmiipsel: ${OBJ_psel}
@echo LD $@
- @${CC} -o $@ ${OBJ_plumb} ${LDFLAGS}
+ @${CC} -o $@ ${OBJ_psel} ${LDFLAGS}
wmiiwarp: ${OBJ_warp}
@echo LD $@
@${CC} -o $@ ${OBJ_warp} ${LDFLAGS}
clean:
- rm -f wmiimenu wmiir wmiiplumb wmiiwarp *.o
+ rm -f wmiimenu wmiir wmiipsel wmiiwarp *.o
diff --git a/cmd/wmiiplumb.c b/cmd/wmiiplumb.c
@@ -1,91 +0,0 @@
-/*
- * (C)opyright MMIV-MMVI Anselm R. Garbe <garbeam at gmail dot com>
- * See LICENSE file for license details.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-
-static char version[] = "wmiiplumb - " VERSION ", (C)opyright MMIV-MMVI Anselm R. Garbe\n";
-
-static void
-usage()
-{
- fprintf(stderr, "%s\n", "usage: wmiiplumb [-v]\n");
- exit(1);
-}
-
-static void
-print_sel(Display * dpy, Window w, XSelectionEvent * e)
-{
- Atom typeret;
- int format;
- unsigned long nitems, bytesleft;
- unsigned char *data;
-
- XGetWindowProperty(dpy, w, e->property, 0L, 4096L, False,
- AnyPropertyType, &typeret, &format,
- &nitems, &bytesleft, &data);
- if(format == 8) {
- int i;
- for(i = 0; i < nitems; i++)
- putchar(data[i]);
- putchar('\n');
- }
- XDeleteProperty(dpy, w, e->property);
-}
-
-int
-main(int argc, char **argv)
-{
- Display *dpy;
- Atom xa_clip_string;
- Window w;
- XEvent ev;
- int pdone = 0;
-
-
- /* command line args */
- if(argc > 1) {
- if(!strncmp(argv[1], "-v", 3)) {
- fprintf(stdout, "%s", version);
- exit(0);
- } else
- usage();
- }
- dpy = XOpenDisplay(0);
- if(!dpy) {
- fprintf(stderr, "%s", "wmiiplumb: cannot open display\n");
- exit(1);
- }
- xa_clip_string = XInternAtom(dpy, "PLUMB_STRING", False);
- w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10, 200, 200,
- 1, CopyFromParent, CopyFromParent);
- while(1 && !pdone) {
- XConvertSelection(dpy, XA_PRIMARY, XA_STRING, xa_clip_string,
- w, CurrentTime);
- XFlush(dpy);
- XNextEvent(dpy, &ev);
- switch (ev.type) {
- case SelectionNotify:
- if(ev.xselection.property != None)
- print_sel(dpy, w, &ev.xselection);
- else
- putchar('\n');
- XDestroyWindow(dpy, w);
- XCloseDisplay(dpy);
- pdone = 1;
- break;
- default:
- break;
- }
- }
- return 0;
- /*
- * XDestroyWindow(dpy, w); XCloseDisplay(dpy); return 1;
- */
-}
diff --git a/cmd/wmiipsel.c b/cmd/wmiipsel.c
@@ -0,0 +1,91 @@
+/*
+ * (C)opyright MMIV-MMVI Anselm R. Garbe <garbeam at gmail dot com>
+ * See LICENSE file for license details.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+
+static char version[] = "wmiiplumb - " VERSION ", (C)opyright MMIV-MMVI Anselm R. Garbe\n";
+
+static void
+usage()
+{
+ fprintf(stderr, "%s\n", "usage: wmiiplumb [-v]\n");
+ exit(1);
+}
+
+static void
+print_sel(Display * dpy, Window w, XSelectionEvent * e)
+{
+ Atom typeret;
+ int format;
+ unsigned long nitems, bytesleft;
+ unsigned char *data;
+
+ XGetWindowProperty(dpy, w, e->property, 0L, 4096L, False,
+ AnyPropertyType, &typeret, &format,
+ &nitems, &bytesleft, &data);
+ if(format == 8) {
+ int i;
+ for(i = 0; i < nitems; i++)
+ putchar(data[i]);
+ putchar('\n');
+ }
+ XDeleteProperty(dpy, w, e->property);
+}
+
+int
+main(int argc, char **argv)
+{
+ Display *dpy;
+ Atom xa_clip_string;
+ Window w;
+ XEvent ev;
+ int pdone = 0;
+
+
+ /* command line args */
+ if(argc > 1) {
+ if(!strncmp(argv[1], "-v", 3)) {
+ fprintf(stdout, "%s", version);
+ exit(0);
+ } else
+ usage();
+ }
+ dpy = XOpenDisplay(0);
+ if(!dpy) {
+ fprintf(stderr, "%s", "wmiiplumb: cannot open display\n");
+ exit(1);
+ }
+ xa_clip_string = XInternAtom(dpy, "PLUMB_STRING", False);
+ w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10, 200, 200,
+ 1, CopyFromParent, CopyFromParent);
+ while(1 && !pdone) {
+ XConvertSelection(dpy, XA_PRIMARY, XA_STRING, xa_clip_string,
+ w, CurrentTime);
+ XFlush(dpy);
+ XNextEvent(dpy, &ev);
+ switch (ev.type) {
+ case SelectionNotify:
+ if(ev.xselection.property != None)
+ print_sel(dpy, w, &ev.xselection);
+ else
+ putchar('\n');
+ XDestroyWindow(dpy, w);
+ XCloseDisplay(dpy);
+ pdone = 1;
+ break;
+ default:
+ break;
+ }
+ }
+ return 0;
+ /*
+ * XDestroyWindow(dpy, w); XCloseDisplay(dpy); return 1;
+ */
+}
diff --git a/rc/wmiirc b/rc/wmiirc
@@ -26,7 +26,7 @@ CLIENT_BORDER=3
MODKEY=Alt
-# WMIIWM CONFIGURATION
+# WM CONFIGURATION
xwrite /def/bar $CLIENT_BAR
xwrite /def/border $CLIENT_BORDER
xwrite /def/inc 1
@@ -43,10 +43,13 @@ for(page in `{wmiir read / | grep '^d' | awk '{print $10}' | grep -v new}) {
}
}
+# KEYS CONFIGURATION
for(i in \
$MODKEY-Control-q,y \
$MODKEY-Control-w,y \
$MODKEY-Control-c \
+ $MODKEY-Control-p \
+ $MODKEY-Control-a \
$MODKEY-t \
$MODKEY-d \
$MODKEY-a \
@@ -70,7 +73,7 @@ for(i in 1 2 3 4 5 6 7 8 9)
xwrite /ctl 'grab '^$MODKEY^'-Shift-'^$i
-# WMIIBAR CONFIGURATION
+# BAR CONFIGURATION
for(i in 1 2 3)
wmiir remove /bar/1 >/dev/null >[2=1]
xwrite /bar/new/colors $WMII_NORMCOLORS
@@ -79,9 +82,23 @@ xwrite /bar/new/colors $WMII_NORMCOLORS
xwrite /bar/1/data 1
xwrite /bar/expand 2
+# MENU CONFIGURATION
+nl='
+'
+fn items {
+ ifs=:$nl { dirs=`{echo $1} }
+ {
+ for(dir in $dirs) {
+ for(file in $dir/*) {
+ if(! ~ $file $dir^'/*' && ! test -d $file && test -x $file)
+ echo `{basename $file}
+ }
+ }
+ } | sort
+}
# MISC
-xsetroot -solid '#4a551c'
+xsetroot -solid '#1a1c10'
status &
# EVENT LOOP
@@ -101,6 +118,10 @@ while(event=`{read}) {
wmiirc &
case $MODKEY-Control-q,y
xwrite /ctl quit
+ case $MODKEY-Control-p
+ extern `{items $OLD_PATH | wmiimenu} &
+ case $MODKEY-Control-a
+ `{items CONFPREFIX/wmii-3:$HOME/.wmii-3 | wmiimenu} &
case $MODKEY-t
extern xterm -rv &
case $MODKEY-d