From 40bc7c93d08f3c46de5d793987f9e1247b7d4dad Mon Sep 17 00:00:00 2001 From: Jan-Erik Rediger Date: Wed, 12 Aug 2009 18:18:39 +0200 Subject: [PATCH] Implement command to toggle border style Use 'bt' to toggle from normal to 1-px, borderless and back. --- src/commands.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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; }