summaryrefslogtreecommitdiff
path: root/patch/focusurgent.c
diff options
context:
space:
mode:
Diffstat (limited to 'patch/focusurgent.c')
-rw-r--r--patch/focusurgent.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/patch/focusurgent.c b/patch/focusurgent.c
new file mode 100644
index 0000000..86a918e
--- /dev/null
+++ b/patch/focusurgent.c
@@ -0,0 +1,16 @@
+void
+focusurgent(const Arg *arg)
+{
+ Client *c;
+ int i;
+ for (c = selmon->clients; c && !c->isurgent; c = c->next);
+ if (c) {
+ for (i = 0; i < NUMTAGS && !((1 << i) & c->tags); i++);
+ if (i < NUMTAGS) {
+ if (((1 << i) & TAGMASK) != selmon->tagset[selmon->seltags])
+ view(&((Arg) { .ui = 1 << i }));
+ focus(c);
+ }
+ }
+}
+