From: Jan-Erik Rediger Date: Wed, 12 Aug 2009 16:18:39 +0000 (+0200) Subject: Implement command to toggle border style X-Git-Tag: 3.d~101 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=40bc7c93d08f3c46de5d793987f9e1247b7d4dad;p=i3%2Fi3 Implement command to toggle border style Use 'bt' to toggle from normal to 1-px, borderless and back. --- diff --git a/src/commands.c b/src/commands.c index e4475530..e8a71ac9 100644 --- a/src/commands.c +++ b/src/commands.c @@ -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; }