diff options
author | Sven Wegener <sven.wegener@stealer.net> | 2010-04-05 10:28:26 +0200 |
---|---|---|
committer | Sven Wegener <sven.wegener@stealer.net> | 2010-04-05 11:08:27 +0200 |
commit | 31919b4ce12ee1216998d5cd198fc999b77d1540 (patch) | |
tree | 1b880297162df0e0435fedd620c34a6451628132 | |
parent | daf6ffc1cb01b396ae8be7d68b47659df91f4c77 (diff) |
Add support for %+u and %Lu format optionsswegener-4.0.3
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
-rw-r--r-- | extern.h | 2 | ||||
-rw-r--r-- | process.c | 31 | ||||
-rw-r--r-- | screen.c | 2 |
3 files changed, 20 insertions, 15 deletions
@@ -197,7 +197,7 @@ extern int IsNumColon __P((char *, int, char *, int)); extern void ShowWindows __P((int)); extern char *AddWindows __P((char *, int, int, int)); extern char *AddWindowFlags __P((char *, int, struct win *)); -extern char *AddOtherUsers __P((char *, int, struct win *)); +extern char *AddOtherUsers __P((char *, int, struct win *, int, int)); extern int WindowByNoN __P((char *)); extern struct win *FindNiceWindow __P((struct win *, char *)); #ifdef COPY_PASTE @@ -4828,10 +4828,12 @@ struct win *p; } char * -AddOtherUsers(buf, len, p) +AddOtherUsers(buf, len, p, show_self, show_all) char *buf; int len; struct win *p; +int show_self; +int show_all; { struct display *d, *olddisplay = display; struct canvas *cv; @@ -4841,28 +4843,31 @@ struct win *p; s = buf; for (display = displays; display; display = display->d_next) { - if (olddisplay && D_user == olddisplay->d_user) + if (!show_self && olddisplay && D_user == olddisplay->d_user) continue; for (cv = D_cvlist; cv; cv = cv->c_next) if (Layer2Window(cv->c_layer) == p) break; if (!cv) continue; - for (d = displays; d && d != display; d = d->d_next) - { - struct display *tmp = display; - display = d; - for (cv = D_cvlist; cv; cv = cv->c_next) + if (!show_all) + { + for (d = displays; d && d != display; d = d->d_next) { - if (Layer2Window(cv->c_layer) == p) + struct display *tmp = display; + display = d; + for (cv = D_cvlist; cv; cv = cv->c_next) + { + if (Layer2Window(cv->c_layer) == p) + break; + } + display = tmp; + if (cv && D_user == d->d_user) break; } - display = tmp; - if (cv && D_user == d->d_user) - break; + if (d && d != display) + continue; } - if (d && d != display) - continue; if (len > 1 && s != buf) { *s++ = ','; @@ -2541,7 +2541,7 @@ int rec; case 'u': *p = 0; if (win) - AddOtherUsers(p, l - 1, win); + AddOtherUsers(p, l - 1, win, plusflg, longflg); if (*p) qmflag = 1; p += strlen(p) - 1; |