summaryrefslogtreecommitdiff
path: root/patch/bar_tagicons.c
diff options
context:
space:
mode:
Diffstat (limited to 'patch/bar_tagicons.c')
-rw-r--r--patch/bar_tagicons.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/patch/bar_tagicons.c b/patch/bar_tagicons.c
new file mode 100644
index 0000000..235a6e2
--- /dev/null
+++ b/patch/bar_tagicons.c
@@ -0,0 +1,21 @@
+char *
+tagicon(Monitor *m, int tag)
+{
+ #if BAR_ALTTAGSDECORATION_PATCH
+ Client *c;
+ #endif // BAR_ALTTAGSDECORATION_PATCH
+ int tagindex = tag + NUMTAGS * m->index;
+ if (tagindex >= LENGTH(tagicons[DEFAULT_TAGS]))
+ tagindex = tagindex % LENGTH(tagicons[DEFAULT_TAGS]);
+ #if BAR_ALTTAGSDECORATION_PATCH
+ for (c = m->clients; c && (!(c->tags & 1 << tag) || HIDDEN(c)); c = c->next);
+ if (c)
+ return tagicons[ALT_TAGS_DECORATION][tagindex];
+ #endif // BAR_ALTTAGSDECORATION_PATCH
+ #if BAR_ALTERNATIVE_TAGS_PATCH
+ if (m->alttag)
+ return tagicons[ALTERNATIVE_TAGS][tagindex];
+ #endif // BAR_ALTERNATIVE_TAGS_PATCH
+ return tagicons[DEFAULT_TAGS][tagindex];
+}
+