wmii

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

commit 156746344ef6a9e2a03166a3a6bd7786f7c2fc46
parent 2ba3598def53bc8ed4041c6ab942e06165f73d92
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Wed, 24 May 2006 18:12:55 +0200

removed /tags, removed /<view>, using /tag/<view>/ instead with /tag/sel instead of /view/


Diffstat:
TODO.wmii-4 | 1-
cmd/wm/fs.c | 137+++++++++++++++++++------------------------------------------------------------
rc/wmiirc | 38+++++++++++++++++++-------------------
3 files changed, 52 insertions(+), 124 deletions(-)

diff --git a/TODO.wmii-4 b/TODO.wmii-4 @@ -1,5 +1,4 @@ - UTF8 fixes with iconv? -- move /<view> to /tags/<name|sel>/ - add /tags/sel/index (for column reverse-addressing) - re-introduce mouse based resizals (titlebar and border) - idea for column mode: diff --git a/cmd/wm/fs.c b/cmd/wm/fs.c @@ -43,30 +43,30 @@ enum { WMII_IOUNIT = 2048 }; * /def/grabmod FsFgrabmod grab modifier * /def/colmode FsFmode column mode * /def/colwidth FsFcolw column width - * /tags FsFtags * /bar/ FsDbars * /bar/lab/ FsDbar * /bar/lab/data FsFdata <arbitrary data which gets displayed> * /bar/lab/colors FsFcolors <#RRGGBB> <#RRGGBB> <#RRGGBB> * /client/ FsDclients - * /client/1/ FsDGclient see /view/X/X/X/ namespace below + * /client/1/ FsDGclient see /tag/X/X/X/X/ namespace below * /event FsFevent * /ctl FsFctl command interface (root) - * /view/ FsDview - * /view/ FsDview - * /view/ctl FsFctl command interface (tag) - * /view/name FsFname current view name - * /view/sel/ FsDarea - * /view/1/ FsDarea - * /view/1/ctl FsFctl command interface (area) - * /view/1/mode FsFmode column mode - * /view/1/sel/ FsDclient - * /view/1/1/class FsFclass Class:instance of client - * /view/1/1/index FsFindex index of client in /client - * /view/1/1/name FsFname name of client - * /view/1/1/tags FsFtags tag of client - * /view/1/geom FsFgeom geometry of client - * /view/1/ctl FsFctl command interface (client) + * /tag FsDtag + * /tag/X/ FsDview + * /tag/X/ FsDview + * /tag/X/ctl FsFctl command interface (tag) + * /tag/X/name FsFname current view name + * /tag/X/sel/ FsDarea + * /tag/X/1/ FsDarea + * /tag/X/1/ctl FsFctl command interface (area) + * /tag/X/1/mode FsFmode column mode + * /tag/X/1/sel/ FsDclient + * /tag/X/1/1/class FsFclass Class:instance of client + * /tag/X/1/1/index FsFindex index of client in /client + * /tag/X/1/1/name FsFname name of client + * /tag/X/1/1/tags FsFtags tag of client + * /tag/X/1/geom FsFgeom geometry of client + * /tag/X/1/ctl FsFctl command interface (client) */ Qid root_qid; @@ -164,10 +164,10 @@ name_of_qid(Qid wqid[IXP_MAX_WELEM], unsigned short qsel) case FsDclients: return "client"; break; case FsDbars: return "bar"; break; case FsDview: - if(dir_type != FsDroot && dir_type != FsDtag) + if(dir_type != FsDtag) return nil; if(i1 == sel) - return "view"; + return "sel"; return view.data[i1]->name; break; case FsDbar: @@ -278,7 +278,7 @@ type_of_name(Qid wqid[IXP_MAX_WELEM], unsigned short qsel, char *name) return FsFtags; if(!strncmp(name, "client", 7)) return FsDclients; - if(!strncmp(name, "view", 5)) + if(!strncmp(name, "", 5)) return FsDview; if(!strncmp(name, "bar", 4)) return FsDbars; @@ -320,7 +320,7 @@ type_of_name(Qid wqid[IXP_MAX_WELEM], unsigned short qsel, char *name) return FsFmode; if((dir_type == FsDbars) && bar_of_name(name)) return FsDbar; - if((dir_type == FsDroot || dir_type == FsDtag) && view_of_name(name)) + if((dir_type == FsDtag) && view_of_name(name)) return FsDview; if(!strncmp(name, "sel", 4)) goto dyndir; @@ -330,6 +330,7 @@ type_of_name(Qid wqid[IXP_MAX_WELEM], unsigned short qsel, char *name) dyndir: switch(dir_type) { case FsDbars: return FsDbar; break; + case FsDtag: return FsDview; break; case FsDview: return FsDarea; break; case FsDclients: return FsDGclient; break; case FsDarea: return FsDclient; break; @@ -361,10 +362,10 @@ qid_of_name(Qid wqid[IXP_MAX_WELEM], unsigned short qsel, char *name) new.path = pack_qpath(type, 0, 0, 0); break; case FsDview: - if((dir_type != FsDroot && dir_type != FsDtag) || !view.size) + if((dir_type != FsDtag) || !view.size) return nil; new.type = IXP_QTDIR; - if(!strncmp(name, "view", 5)) + if(!strncmp(name, "sel", 4)) new.path = pack_qpath(FsDview, view.data[sel]->id, 0, 0); else { View *v; @@ -447,9 +448,6 @@ qid_of_name(Qid wqid[IXP_MAX_WELEM], unsigned short qsel, char *name) if(dir_type == FsDroot) return nil; case FsFtags: - if((dir_type != FsDroot) && (dir_type != FsDview) - && (dir_type != FsDGclient) && (dir_type != FsDclient)) - return nil; if((dir_type == FsDclient) && ((i1 == -1 || i2 == -1 || i3 == -1))) return nil; else if((dir_type == FsDGclient) && (i1 == -1)) @@ -589,12 +587,6 @@ stat_of_name(Stat *stat, char *name, Qid wqid[IXP_MAX_WELEM], unsigned short qse name, strlen(client.data[i1]->tags), IXP_DMREAD | IXP_DMWRITE); break; default: - { - unsigned int i, len = 0; - for(i = 0; i < view.size; i++) - len += strlen(view.data[i]->name) + 1; - return pack_stat(stat, wqid, qsel, name, len, IXP_DMREAD); - } break; } break; @@ -823,37 +815,11 @@ xread(IXPConn *c, Fcall *fcall) fcall->count = 0; if(fcall->offset) { switch (type) { - case FsDroot: - /* jump to offset */ - len = stat_of_name(&stat, "ctl", m->wqid, m->sel); - len += stat_of_name(&stat, "event", m->wqid, m->sel); - len += stat_of_name(&stat, "def", m->wqid, m->sel); - len += stat_of_name(&stat, "bar", m->wqid, m->sel); - len += stat_of_name(&stat, "tag", m->wqid, m->sel); - if(client.size) - len += stat_of_name(&stat, "client", m->wqid, m->sel); - if(view.size) { - len += stat_of_name(&stat, "tags", m->wqid, m->sel); - len += stat_of_name(&stat, "view", m->wqid, m->sel); - } - for(i = 0; i < view.size; i++) { - len += stat_of_name(&stat, view.data[i]->name, m->wqid, m->sel); - if(len <= fcall->offset) - continue; - break; - } - /* offset found, proceeding */ - for(; i < view.size; i++) { - len = stat_of_name(&stat, view.data[i]->name, m->wqid, m->sel); - if(fcall->count + len > fcall->iounit) - break; - fcall->count += len; - p = ixp_pack_stat(p, &stat); - } - break; case FsDtag: /* jump to offset */ len = 0; + if(view.size) + len += stat_of_name(&stat, "sel", m->wqid, m->sel); for(i = 0; i < view.size; i++) { len += stat_of_name(&stat, view.data[i]->name, m->wqid, m->sel); if(len <= fcall->offset) @@ -990,26 +956,6 @@ xread(IXPConn *c, Fcall *fcall) else if(fcall->count) memcpy(p, def.rules + fcall->offset, fcall->count); break; - case FsFtags: - if(dir_type == FsDroot) { - len = 0; - /* jump to offset */ - for(i = 0; i < view.size; i++) { - len += strlen(view.data[i]->name) + 1; - if(len <= fcall->offset) - continue; - } - /* offset found, proceeding */ - for(; i < view.size; i++) { - len = strlen(view.data[i]->name) + 1; - if(fcall->count + len > fcall->iounit) - break; - memcpy(p + fcall->count, view.data[i]->name, len - 1); - memcpy(p + fcall->count + len - 1, "\n", 1); - fcall->count += len; - } - } - break; default: break; } @@ -1025,27 +971,20 @@ xread(IXPConn *c, Fcall *fcall) p = ixp_pack_stat(p, &stat); fcall->count += stat_of_name(&stat, "bar", m->wqid, m->sel); p = ixp_pack_stat(p, &stat); - fcall->count += stat_of_name(&stat, "tag", m->wqid, m->sel); - p = ixp_pack_stat(p, &stat); - if(client.size) { - fcall->count += stat_of_name(&stat, "client", m->wqid, m->sel); - p = ixp_pack_stat(p, &stat); - } if(view.size) { - fcall->count += stat_of_name(&stat, "tags", m->wqid, m->sel); - p = ixp_pack_stat(p, &stat); - fcall->count += stat_of_name(&stat, "view", m->wqid, m->sel); + fcall->count += stat_of_name(&stat, "tag", m->wqid, m->sel); p = ixp_pack_stat(p, &stat); } - for(i = 0; i < view.size; i++) { - len = stat_of_name(&stat, view.data[i]->name, m->wqid, m->sel); - if(fcall->count + len > fcall->iounit) - break; - fcall->count += len; + if(client.size) { + fcall->count += stat_of_name(&stat, "client", m->wqid, m->sel); p = ixp_pack_stat(p, &stat); } break; case FsDtag: + if(view.size) { + fcall->count = stat_of_name(&stat, "sel", m->wqid, m->sel); + p = ixp_pack_stat(p, &stat); + } for(i = 0; i < view.size; i++) { len = stat_of_name(&stat, view.data[i]->name, m->wqid, m->sel); if(fcall->count + len > fcall->iounit) @@ -1230,14 +1169,6 @@ xread(IXPConn *c, Fcall *fcall) memcpy(p, client.data[i1]->tags, fcall->count); break; default: - for(i = 0; i < view.size; i++) { - len = strlen(view.data[i]->name) + 1; - if(fcall->count + len > fcall->iounit) - break; - memcpy(p + fcall->count, view.data[i]->name, len - 1); - memcpy(p + fcall->count + len - 1, "\n", 1); - fcall->count += len; - } break; } break; @@ -1405,8 +1336,6 @@ xwrite(IXPConn *c, Fcall *fcall) resize_all_clients(); break; case FsFtags: - if(dir_type == FsDroot) - return Enoperm; if(!fcall->count || (fcall->count > sizeof(buf))) return Ebadvalue; memcpy(buf, fcall->data, fcall->count); diff --git a/rc/wmiirc b/rc/wmiirc @@ -116,49 +116,49 @@ do Key) case "$1" in $MODKEY-$LEFT) - xwrite /view/ctl select prev;; + xwrite /tag/sel/ctl select prev;; $MODKEY-$RIGHT) - xwrite /view/ctl select next;; + xwrite /tag/sel/ctl select next;; $MODKEY-$DOWN) - xwrite /view/sel/ctl select next;; + xwrite /tag/sel/sel/ctl select next;; $MODKEY-$UP) - xwrite /view/sel/ctl select prev;; + xwrite /tag/sel/sel/ctl select prev;; $MODKEY-space) - xwrite /view/ctl select toggle;; + xwrite /tag/sel/ctl select toggle;; $MODKEY-d) - xwrite /view/sel/mode default;; + xwrite /tag/sel/sel/mode default;; $MODKEY-s) - xwrite /view/sel/mode stack;; + xwrite /tag/sel/sel/mode stack;; $MODKEY-m) - xwrite /view/sel/mode max;; + xwrite /tag/sel/sel/mode max;; $MODKEY-f) - xwrite /view/0/sel/geom 0 0 east south;; + xwrite /tag/sel/0/sel/geom 0 0 east south;; $MODKEY-a) PATH=$HOME/.wmii-4:CONFPREFIX/wmii-4:$PATH `proglist CONFPREFIX/wmii-4 $HOME/.wmii-4 | wmiimenu` &;; $MODKEY-p) wmiisetsid `wmiimenu <$PROGS_FILE` &;; $MODKEY-t) - xwrite /ctl view "`wmiir read /tags | wmiimenu`" &;; + xwrite /ctl tag/sel "`wmiir ls /tag | sed 's/sel\///; s/\///;' | wmiimenu`" &;; $MODKEY-[0-9]) - xwrite /ctl view `echo $1 | sed 's/.*-//'`;; + xwrite /ctl tag/sel `echo $1 | sed 's/.*-//'`;; $MODKEY-Return) xterm &;; $MODKEY-Shift-$LEFT) - xwrite /view/sel/sel/ctl move prev;; + xwrite /tag/sel/sel/sel/ctl move prev;; $MODKEY-Shift-$RIGHT) - xwrite /view/sel/sel/ctl move next;; + xwrite /tag/sel/sel/sel/ctl move next;; $MODKEY-Shift-$DOWN) - xwrite /view/sel/sel/ctl move down;; + xwrite /tag/sel/sel/sel/ctl move down;; $MODKEY-Shift-$UP) - xwrite /view/sel/sel/ctl move up;; + xwrite /tag/sel/sel/sel/ctl move up;; $MODKEY-Shift-space) - xwrite /view/sel/sel/ctl move toggle;; + xwrite /tag/sel/sel/sel/ctl move toggle;; $MODKEY-Shift-c) - xwrite /view/sel/sel/ctl kill;; + xwrite /tag/sel/sel/sel/ctl kill;; $MODKEY-Shift-t) - xwrite /view/sel/sel/tags ''"`wmiir read /tags | wmiimenu`"'' &;; + xwrite /tag/sel/sel/sel/tags ''"`wmiir ls /tag | sed 's/sel\///; s/\///;' | wmiimenu`"'' &;; $MODKEY-Shift-[0-9]) - xwrite /view/sel/sel/tags `echo $1 | sed 's/.*-//'`;; + xwrite /tag/sel/sel/sel/tags `echo $1 | sed 's/.*-//'`;; esac;; esac done &