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:
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 "$@";;