소스 검색

lt will point to a foo-layout during cleanup now (Gottox' suggestion), and togglelayout respects Arg->v

Anselm R Garbe 17 년 전
부모
커밋
38a43c2dcc
1개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 1
      dwm.c

+ 6 - 1
dwm.c

@@ -363,8 +363,11 @@ checkotherwm(void) {
 void
 cleanup(void) {
 	Arg a = {.i = ~0};
+	Layout foo = { 0 };
+
 	close(STDIN_FILENO);
 	view(&a);
+	lt = &foo;
 	while(stack)
 		unmanage(stack);
 	if(dc.font.set)
@@ -1476,7 +1479,9 @@ togglefloating(const Arg *arg) {
 
 void
 togglelayout(const Arg *arg) {
-	if(++lt == &layouts[LENGTH(layouts)])
+	if(arg->v)
+		lt = (Layout *)arg->v;
+	else if(++lt == &layouts[LENGTH(layouts)])
 		lt = &layouts[0];
 	if(sel)
 		arrange();