wmii

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

commit 8f913e622177362525f03fde0496024ad9e4ddeb
parent 0e1cba7e962b4a3f27a51a253368810bc0b12d7b
Author: Kris Maglione <jg@suckless.org>
Date:   Mon, 12 Feb 2007 23:32:00 -0500

Added an experimental feature to notify users of views with urgent clients.


Diffstat:
client.c | 22++++++++++++++--------
rc/wmiirc | 8++++++++
2 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/client.c b/client.c @@ -305,21 +305,27 @@ kill_client(Client * c) { static void set_urgent(Client *c, Bool urgent, Bool write) { XWMHints *wmh; - char *cwrite; + char *cwrite, *cnot; + Frame *f; cwrite = "Client"; if(write) cwrite = "Manager"; + cnot = "Not"; + if(urgent) + cnot = ""; if(urgent != c->urgent) { - if(urgent) - write_event("Urgent 0x%x %s\n", client->win, cwrite); - else - write_event("NotUrgent 0x%x %s\n", client->win, cwrite); + write_event("%sUrgent 0x%x %s\n", cnot, client->win, cwrite); c->urgent = urgent; - if(c->sel && c->sel->view == screen->sel) { - update_frame_widget_colors(c->sel); - draw_frame(c->sel); + if(c->sel) { + if(c->sel->view == screen->sel) { + update_frame_widget_colors(c->sel); + draw_frame(c->sel); + } + if(!urgent || c->sel->view != screen->sel) + for(f=c->frame; f; f=f->cnext) + write_event("%sUrgentTag %s %s\n", cnot, cwrite, f->view->name); } } diff --git a/rc/wmiirc b/rc/wmiirc @@ -170,6 +170,14 @@ do UnfocusTag) wmiir echo "/lbar/$parms" "$WMII_NORMCOLORS" "$parms" ;; + UrgentTag) + shift + wmiir echo "/lbar/$@" "*$@" + ;; + NotUrgentTag) + shift + wmiir echo "/lbar/$@" "$@" + ;; LeftBarClick) shift wmiir echo /ctl view "$@";;