lt will point to a foo-layout during cleanup now (Gottox' suggestion), and togglelayout respects Arg->v
38a43c2d
1 file(s) · +6 −1
| 363 | 363 | void |
|
| 364 | 364 | cleanup(void) { |
|
| 365 | 365 | Arg a = {.i = ~0}; |
|
| 366 | + | Layout foo = { 0 }; |
|
| 367 | + | ||
| 366 | 368 | close(STDIN_FILENO); |
|
| 367 | 369 | view(&a); |
|
| 370 | + | lt = &foo; |
|
| 368 | 371 | while(stack) |
|
| 369 | 372 | unmanage(stack); |
|
| 370 | 373 | if(dc.font.set) |
|
| 1476 | 1479 | ||
| 1477 | 1480 | void |
|
| 1478 | 1481 | togglelayout(const Arg *arg) { |
|
| 1479 | - | if(++lt == &layouts[LENGTH(layouts)]) |
|
| 1482 | + | if(arg->v) |
|
| 1483 | + | lt = (Layout *)arg->v; |
|
| 1484 | + | else if(++lt == &layouts[LENGTH(layouts)]) |
|
| 1480 | 1485 | lt = &layouts[0]; |
|
| 1481 | 1486 | if(sel) |
|
| 1482 | 1487 | arrange(); |
|