equal
deleted
inserted
replaced
1 /* |
1 /* (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |
2 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |
|
3 * See LICENSE file for license details. |
2 * See LICENSE file for license details. |
4 */ |
3 */ |
5 #include "dwm.h" |
4 #include "dwm.h" |
6 #include <regex.h> |
5 #include <regex.h> |
7 #include <stdio.h> |
6 #include <stdio.h> |
51 |
50 |
52 if(rreg) |
51 if(rreg) |
53 return; |
52 return; |
54 len = sizeof(rule) / sizeof(rule[0]); |
53 len = sizeof(rule) / sizeof(rule[0]); |
55 rreg = emallocz(len * sizeof(RReg)); |
54 rreg = emallocz(len * sizeof(RReg)); |
56 |
|
57 for(i = 0; i < len; i++) { |
55 for(i = 0; i < len; i++) { |
58 if(rule[i].clpattern) { |
56 if(rule[i].clpattern) { |
59 reg = emallocz(sizeof(regex_t)); |
57 reg = emallocz(sizeof(regex_t)); |
60 if(regcomp(reg, rule[i].clpattern, 0)) |
58 if(regcomp(reg, rule[i].clpattern, 0)) |
61 free(reg); |
59 free(reg); |
113 tag(Arg *arg) { |
111 tag(Arg *arg) { |
114 unsigned int i; |
112 unsigned int i; |
115 |
113 |
116 if(!sel) |
114 if(!sel) |
117 return; |
115 return; |
118 |
|
119 for(i = 0; i < ntags; i++) |
116 for(i = 0; i < ntags; i++) |
120 sel->tags[i] = False; |
117 sel->tags[i] = False; |
121 sel->tags[arg->i] = True; |
118 sel->tags[arg->i] = True; |
122 sel->weight = arg->i; |
119 sel->weight = arg->i; |
123 arrange(NULL); |
120 arrange(NULL); |
127 toggletag(Arg *arg) { |
124 toggletag(Arg *arg) { |
128 unsigned int i; |
125 unsigned int i; |
129 |
126 |
130 if(!sel) |
127 if(!sel) |
131 return; |
128 return; |
132 |
|
133 sel->tags[arg->i] = !sel->tags[arg->i]; |
129 sel->tags[arg->i] = !sel->tags[arg->i]; |
134 for(i = 0; i < ntags && !sel->tags[i]; i++); |
130 for(i = 0; i < ntags && !sel->tags[i]; i++); |
135 if(i == ntags) |
131 if(i == ntags) |
136 sel->tags[arg->i] = True; |
132 sel->tags[arg->i] = True; |
137 sel->weight = (i == ntags) ? arg->i : i; |
133 sel->weight = (i == ntags) ? arg->i : i; |