wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit edd7dba67a19d53d5bcbed944fbafc8223bdbfe6
parent 6fd9aede669b074c8950b2ad7a5bf49ad1ee3c13
Author: Kris Maglione <jg@suckless.org>
Date:   Mon, 26 Feb 2007 04:27:03 -0500

Add stripped down version of 9menu, and right-click menus to clients. Includes 'Delete' item. Runs from rc.wmii only.

Diffstat:
Makefile | 19+++++++++++++------
event.c | 7+++++--
rc/rc.wmii | 16++++++++++++++++
3 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile @@ -8,8 +8,9 @@ SRC = area.c bar.c client.c column.c draw.c event.c frame.c fs.c \ OBJ = ${SRC:.c=.o} MAN1 = wmii wmiir wmiiwm wmiiloop SCRIPTS = wmii wmiir wmiiloop +BIN = wmiiwm wmii9menu -all: options wmiiwm +all: options wmiiwm wmii9menu options: @echo wmii build options: @@ -34,11 +35,15 @@ ${OBJ}: wmii.h config.mk wmiiwm: ${OBJ} @echo LD $@ @${CC} -o $@ ${OBJ} ${LDFLAGS} -# @strip $@ + +# XXX: This doesn't need libixp +wmii9menu: 9menu.c + @echo LD $@ + @${CC} -o $@ ${OBJ} ${LDFLAGS} clean: @echo cleaning - @rm -f wmiiwm ${OBJ} wmii-${VERSION}.tar.gz + @rm -f ${BIN} ${OBJ} wmii-${VERSION}.tar.gz dist: clean @echo creating dist tarball @@ -56,14 +61,16 @@ install: all sed 's|CONFPREFIX|${CONFPREFIX}|g; s|CONFVERSION|${CONFVERSION}|g' < $$i >${DESTDIR}${PREFIX}/bin/$$i; \ chmod 755 ${DESTDIR}${PREFIX}/bin/$$i; \ done - @cp -f wmiiwm ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/wmiiwm + @for i in ${BIN}; do\ + cp -f $$i ${DESTDIR}${PREFIX}/bin; \ + chmod 755 ${DESTDIR}${PREFIX}/bin/$$i; \ + done @echo installing scripts to ${DESTDIR}${CONFPREFIX}/wmii-${CONFVERSION} @mkdir -p -m 0755 ${DESTDIR}${CONFPREFIX}/wmii-${CONFVERSION} @cd rc; for i in *; do \ sed 's|CONFPREFIX|${CONFPREFIX}|g' <$$i >${DESTDIR}${CONFPREFIX}/wmii-${CONFVERSION}/$$i; \ chmod 755 ${DESTDIR}${CONFPREFIX}/wmii-${CONFVERSION}/$$i; \ - done + done @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 @mkdir -p -m 0755 ${DESTDIR}${MANPREFIX}/man1 @for i in ${MAN1:=.1}; do \ diff --git a/event.c b/event.c @@ -80,8 +80,11 @@ buttonpress(XEvent *e) { } if(ev->subwindow) XAllowEvents(blz.dpy, ReplayPointer, ev->time); - else - XAllowEvents(blz.dpy, AsyncPointer, ev->time); + else { + XUngrabPointer(blz.dpy, ev->time); + XSync(blz.dpy, False); + write_event("ClientMouseDown 0x%x %d\n", f->client->win, ev->button); + } } }else XAllowEvents(blz.dpy, ReplayPointer, ev->time); diff --git a/rc/rc.wmii b/rc/rc.wmii @@ -23,6 +23,13 @@ fn wmiimenu { -sf $WMII_FOCUSCOLORS(1) -sb $WMII_FOCUSCOLORS(2) } +fn 9menu { + ./9menu -teleport -font $WMII_FONT \ + -nf $WMII_NORMCOLORS(1) -nb $WMII_NORMCOLORS(2) \ + -sf $WMII_FOCUSCOLORS(1) -sb $WMII_FOCUSCOLORS(2) \ + -br $WMII_FOCUSCOLORS(3) $* +} + fn config_whatis { confpath=`{echo $WMII_CONFPATH | sed 'y/:/ /'} prog=$1; shift @@ -71,6 +78,15 @@ fn Event-UrgentTag { shift; wmiir xwrite /lbar/$"* '*'$"* } fn Event-NotUrgentTag { shift; wmiir xwrite /lbar/$"* $"* } fn Event-LeftBarClick { shift; wmiir xwrite /ctl view $* } +fn Event-ClientMouseDown { + client = $1; button = $2 + echo ClientMouseDown $* + if(~ $button 3) + switch(`{9menu Delete Nop}) { + case Delete + wmiir xwrite /client/$client/ctl kill + } +} # Actions fn Action {