Xinqi Bao's Git
projects
/
dwm.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
fixed issue reported by Christian Garbs
[dwm.git]
/
layout.c
diff --git
a/layout.c
b/layout.c
index
0dc062f
..
abdf30f
100644
(file)
--- a/
layout.c
+++ b/
layout.c
@@
-198,11
+198,9
@@
setlayout(const char *arg) {
int i;
if(!arg) {
int i;
if(!arg) {
- for(i = 0; i < nlayouts && lt != &layout[i]; i++);
- if(i == nlayouts - 1)
- lt = &layout[0];
- else
- lt = &layout[++i];
+ lt++;
+ if(lt == layout + nlayouts)
+ lt = layout;
}
else {
i = atoi(arg);
}
else {
i = atoi(arg);
@@
-218,8
+216,12
@@
setlayout(const char *arg) {
void
togglebar(const char *arg) {
void
togglebar(const char *arg) {
- bpos = (bpos == BarOff) ? BARPOS : BarOff;
+ if(bpos == BarOff)
+ bpos = (BARPOS == BarOff) ? BarTop : BARPOS;
+ else
+ bpos = BarOff;
updatebarpos();
updatebarpos();
+ lt->arrange();
}
void
}
void
@@
-245,7
+247,7
@@
void
zoom(const char *arg) {
Client *c;
zoom(const char *arg) {
Client *c;
- if(!sel || lt->arrange
!= tile
|| sel->isfloating)
+ if(!sel || lt->arrange
== floating
|| sel->isfloating)
return;
if((c = sel) == nexttiled(clients))
if(!(c = nexttiled(c->next)))
return;
if((c = sel) == nexttiled(clients))
if(!(c = nexttiled(c->next)))