]> git.sur5r.net Git - i3/i3/commitdiff
Implement command to toggle border style
authorJan-Erik Rediger <badboy@archlinux.us>
Wed, 12 Aug 2009 16:18:39 +0000 (18:18 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Thu, 10 Sep 2009 16:44:27 +0000 (18:44 +0200)
Use 'bt' to toggle from normal to 1-px, borderless and back.

src/commands.c

index e44755306d5d8d24b684b22f3f1707aa73025376..e8a71ac99a27f910750d13a411506a3a384f3ebd 100644 (file)
@@ -902,12 +902,28 @@ void parse_command(xcb_connection_t *conn, const char *command) {
         }
 
         /* Is it 'bn' (border normal), 'bp' (border 1pixel) or 'bb' (border borderless)? */
+        /* or even 'bt' (toggle border: 'bp' -> 'bb' -> 'bn' ) */
         if (command[0] == 'b') {
                 if (last_focused == NULL) {
                         LOG("No window focused, cannot change border type\n");
                         return;
                 }
-                client_change_border(conn, last_focused, command[1]);
+
+                char com;
+                if (command[1] == 't') {
+                        if (last_focused->titlebar_position == TITLEBAR_TOP &&
+                                last_focused->borderless == false)
+                            com = 'p';
+                        else if (last_focused->titlebar_position == TITLEBAR_OFF &&
+                                last_focused->borderless == false)
+                            com = 'b';
+                        else
+                            com = 'n';
+                }
+                else
+                    com = command[1];
+
+                client_change_border(conn, last_focused, com);
                 return;
         }