wmii

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

commit eab6580a897688025161fb6ca4c5a1194289aec8
parent 9f232d69b56a8b619c6e11f859b1605cf26bc6c6
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Sat,  4 Feb 2006 20:55:37 +0200

changed colors to be like in wmii-2, enabled increment handling, fixed Button2+ isues on focus


Diffstat:
cmd/wm/client.c | 4++--
cmd/wm/event.c | 7+++++--
cmd/wm/page.c | 1+
cmd/wm/wm.c | 2+-
cmd/wm/wm.h | 1-
cmd/wmiibar.c | 34+++++++++++++++++++---------------
liblitz/blitz.h | 4++--
rc/wmiirc | 15+++++----------
8 files changed, 35 insertions(+), 33 deletions(-)

diff --git a/cmd/wm/client.c b/cmd/wm/client.c @@ -109,7 +109,7 @@ focus_client(Client *c) } if(old && (old != c)) { - grab_window(old->win, AnyModifier, AnyButton); + grab_window(old->win, AnyModifier, Button1); draw_client(old); } ungrab_window(c->win, AnyModifier, AnyButton); @@ -481,7 +481,7 @@ resize_client(Client *c, XRectangle *r, XPoint *pt) /* resize if client requests special size */ check_dimensions(c, bh, bw); - if(c->inc) + if(def.inc) resize_incremental(c, bh, bw); XMoveResizeWindow(dpy, c->frame.win, c->frame.rect.x, c->frame.rect.y, diff --git a/cmd/wm/event.c b/cmd/wm/event.c @@ -61,8 +61,8 @@ handle_buttonpress(XEvent * e) Align align; static char buf[32]; if((c = win_to_frame(ev->window))) { - focus_client(c); if(ev->button == Button1) { + focus_client(c); align = cursor_to_align(c->frame.cursor); if(align == CENTER) mouse_move(c); @@ -71,15 +71,16 @@ handle_buttonpress(XEvent * e) } } else if((c = win_to_client(ev->window))) { - focus_client(c); ev->state &= valid_mask; if(ev->state & Mod1Mask) { XRaiseWindow(dpy, c->frame.win); switch (ev->button) { case Button1: + focus_client(c); mouse_move(c); break; case Button3: + focus_client(c); align = xy_to_align(&c->rect, ev->x, ev->y); if(align == CENTER) mouse_move(c); @@ -88,6 +89,8 @@ handle_buttonpress(XEvent * e) break; } } + else if(ev->button == Button1) + focus_client(c); } if(c) { snprintf(buf, sizeof(buf), "Button%dPress\n", ev->button); diff --git a/cmd/wm/page.c b/cmd/wm/page.c @@ -102,6 +102,7 @@ focus_page(Page *p) do_pend_fcall("SelPage\n"); XChangeProperty(dpy, root, net_atoms[NET_CURRENT_DESKTOP], XA_CARDINAL, 32, PropModeReplace, (unsigned char *) &sel, 1); + XSync(dpy, False); } XRectangle * diff --git a/cmd/wm/wm.c b/cmd/wm/wm.c @@ -714,7 +714,7 @@ main(int argc, char *argv[]) def.font = strdup(BLITZ_FONT); def.border = DEF_BORDER; def.snap = DEF_SNAP; - def.bar = True; + def.inc = def.bar = True; cext_strlcpy(def.selcolor, BLITZ_SEL_COLOR, sizeof(def.selcolor)); blitz_loadcolor(dpy, screen, def.selcolor, &def.sel); cext_strlcpy(def.normcolor, BLITZ_NORM_COLOR, sizeof(def.normcolor)); diff --git a/cmd/wm/wm.h b/cmd/wm/wm.h @@ -76,7 +76,6 @@ struct Client { int proto; unsigned int border; unsigned int ignore_unmap; - Bool inc; Bool destroyed; Bool maximized; Page *page; diff --git a/cmd/wmiibar.c b/cmd/wmiibar.c @@ -265,10 +265,11 @@ static char * qid_to_name(Qid *qid) { unsigned char type = qpath_type(qid->path); - int i = index_of_id(qpath_id(qid->path)); + unsigned short id = qpath_id(qid->path); + int i; static char buf[32]; - if(i == -1) + if(id && ((i = index_of_id(id)) == -1)) return nil; switch(type) { case Droot: return "/"; break; @@ -320,10 +321,12 @@ mkqid(Qid *dir, char *wname, Qid *new) { const char *err; unsigned short id = qpath_id(dir->path); - int type = name_to_type(wname); - int i = index_of_id(id); + int i, type = name_to_type(wname); + + if(id && ((i = index_of_id(id)) == -1)) + return -1; - if((i == -1) || (dir->type != IXP_QTDIR) || (type == -1)) + if((dir->type != IXP_QTDIR) || (type == -1)) return -1; new->dtype = qpath_type(dir->path); @@ -453,11 +456,11 @@ mkstat(Stat *stat, Qid *dir, char *name, unsigned long long length, unsigned int static unsigned int type_to_stat(Stat *stat, char *name, Qid *dir) { - int type = name_to_type(name); - int i = index_of_id(qpath_id(dir->path)); + int i, type = name_to_type(name); + unsigned short id = qpath_id(dir->path); char buf[16]; - if(i == -1) + if(id && ((i = index_of_id(id)) == -1)) return 0; switch (type) { case Droot: @@ -497,12 +500,12 @@ static char * xremove(IXPConn *c, Fcall *fcall) { IXPMap *m = ixp_server_fid2map(c, fcall->fid); + unsigned short id = qpath_id(m->qid.path); int i; if(!m) return Enofid; - i = index_of_id(qpath_id(m->qid.path)); - if(i == -1) + if(id && ((i = qpath_id(id)) == -1)) return Enofile; if((qpath_type(m->qid.path) == Ditem) && i && (i < nitem)) { Item *it = item[i]; @@ -527,6 +530,7 @@ xread(IXPConn *c, Fcall *fcall) { Stat stat; IXPMap *m = ixp_server_fid2map(c, fcall->fid); + unsigned short id; unsigned char *p = fcall->data; unsigned int len; int i; @@ -534,8 +538,8 @@ xread(IXPConn *c, Fcall *fcall) if(!m) return Enofid; - i = index_of_id(qpath_id(m->qid.path)); - if(i == -1) + id = qpath_id(m->qid.path); + if(id && ((i = index_of_id(id)) == -1)) return Enofile; fcall->count = 0; @@ -668,13 +672,13 @@ xwrite(IXPConn *c, Fcall *fcall) { char buf[256]; IXPMap *m = ixp_server_fid2map(c, fcall->fid); + unsigned short id; int i; if(!m) return Enofid; - - i = index_of_id(qpath_id(m->qid.path)); - if(i == -1) + id = qpath_id(m->qid.path); + if(id && ((i = index_of_id(id)) == -1)) return Enofile; switch (qpath_type(m->qid.path)) { case Fctl: diff --git a/liblitz/blitz.h b/liblitz/blitz.h @@ -7,8 +7,8 @@ #include <cext.h> #define BLITZ_FONT "fixed" -#define BLITZ_SEL_COLOR "#eeeeee #005577 #006699" -#define BLITZ_NORM_COLOR "#bbbbbb #222222 #000000" +#define BLITZ_SEL_COLOR "#ffffff #666699 #9999cc" +#define BLITZ_NORM_COLOR "#ffffff #888888 #bbbbbb" typedef enum { CENTER, WEST, NWEST, NORTH, NEAST, EAST, diff --git a/rc/wmiirc b/rc/wmiirc @@ -1,16 +1,11 @@ #!9PREFIX/bin/rc # configure wmii -TAB=0 +CLIENT_BAR=0 HANDLEINC=1 -BAR_ALIGN=south - -SEL_BG_COLOR='#204060' -SEL_FG_COLOR='#eeeeee' -SEL_BORDER_COLOR='#406080' -NORM_BG_COLOR='#000000' -NORM_FG_COLOR='#eeeeee' -NORM_BORDER_COLOR='#111111' + +SEL_COLOR="#ffffff #666699 #9999cc" +NORM_COLOR="#ffffff #888888 #bbbbbb" FONT='-artwiz-snap-normal-*-*-*-*-*-*-*-*-*-*-*' MODKEY=M @@ -148,5 +143,5 @@ normstyle /menu/nstyle >[2]/dev/null selstyle /menu/sstyle >[2]/dev/null # MISC -xsetroot -solid black +xsetroot -mod 2 2 -bg \#666699 -fg \#888888 status&