equal
deleted
inserted
replaced
1 /* See LICENSE file for copyright and license details. */ |
1 /* See LICENSE file for copyright and license details. */ |
2 #include "dwm.h" |
2 #include "dwm.h" |
3 #include <regex.h> |
3 #include <regex.h> |
4 #include <stdio.h> |
4 #include <stdio.h> |
5 #include <stdlib.h> |
5 #include <stdlib.h> |
6 #include <string.h> |
|
7 #include <X11/Xatom.h> |
|
8 #include <X11/Xutil.h> |
6 #include <X11/Xutil.h> |
9 |
7 |
10 /* static */ |
8 /* static */ |
11 |
9 |
12 typedef struct { |
10 typedef struct { |
116 for(i = 0; i < ntags; i++) |
114 for(i = 0; i < ntags; i++) |
117 sel->tags[i] = arg == NULL; |
115 sel->tags[i] = arg == NULL; |
118 i = idxoftag(arg); |
116 i = idxoftag(arg); |
119 if(i >= 0 && i < ntags) |
117 if(i >= 0 && i < ntags) |
120 sel->tags[i] = True; |
118 sel->tags[i] = True; |
121 saveconfig(sel); |
119 saveprops(sel); |
122 arrange(); |
120 arrange(); |
123 } |
121 } |
124 |
122 |
125 void |
123 void |
126 togglefloating(const char *arg) { |
124 togglefloating(const char *arg) { |
127 if(!sel || isfloating()) |
125 if(!sel || isfloating()) |
128 return; |
126 return; |
129 sel->isfloating = !sel->isfloating; |
127 sel->isfloating = !sel->isfloating; |
130 if(sel->isfloating) { |
128 if(sel->isfloating) { |
131 resize(sel, sel->x, sel->y, sel->w, sel->h, True); |
129 resize(sel, sel->x, sel->y, sel->w, sel->h, True); |
132 saveconfig(sel); |
130 saveprops(sel); |
133 } |
131 } |
134 arrange(); |
132 arrange(); |
135 } |
133 } |
136 |
134 |
137 void |
135 void |
143 i = idxoftag(arg); |
141 i = idxoftag(arg); |
144 sel->tags[i] = !sel->tags[i]; |
142 sel->tags[i] = !sel->tags[i]; |
145 for(j = 0; j < ntags && !sel->tags[j]; j++); |
143 for(j = 0; j < ntags && !sel->tags[j]; j++); |
146 if(j == ntags) |
144 if(j == ntags) |
147 sel->tags[i] = True; |
145 sel->tags[i] = True; |
148 saveconfig(sel); |
146 saveprops(sel); |
149 arrange(); |
147 arrange(); |
150 } |
148 } |
151 |
149 |
152 void |
150 void |
153 toggleview(const char *arg) { |
151 toggleview(const char *arg) { |
156 i = idxoftag(arg); |
154 i = idxoftag(arg); |
157 seltags[i] = !seltags[i]; |
155 seltags[i] = !seltags[i]; |
158 for(j = 0; j < ntags && !seltags[j]; j++); |
156 for(j = 0; j < ntags && !seltags[j]; j++); |
159 if(j == ntags) |
157 if(j == ntags) |
160 seltags[i] = True; /* cannot toggle last view */ |
158 seltags[i] = True; /* cannot toggle last view */ |
|
159 savedwmprops(); |
161 arrange(); |
160 arrange(); |
162 } |
161 } |
163 |
162 |
164 void |
163 void |
165 view(const char *arg) { |
164 view(const char *arg) { |
168 for(i = 0; i < ntags; i++) |
167 for(i = 0; i < ntags; i++) |
169 seltags[i] = arg == NULL; |
168 seltags[i] = arg == NULL; |
170 i = idxoftag(arg); |
169 i = idxoftag(arg); |
171 if(i >= 0 && i < ntags) |
170 if(i >= 0 && i < ntags) |
172 seltags[i] = True; |
171 seltags[i] = True; |
|
172 savedwmprops(); |
173 arrange(); |
173 arrange(); |
174 } |
174 } |