Implement mode toggle

This commit is contained in:
Michael Stapelberg
2010-05-31 22:48:28 +02:00
parent e67c712f31
commit 71e0e49c0e
3 changed files with 14 additions and 2 deletions

View File

@ -109,6 +109,7 @@ void parse_cmd(const char *new) {
%token TOK_TILING "tiling"
%token TOK_FLOATING "floating"
%token TOK_WORKSPACE "workspace"
%token TOK_TOGGLE "toggle"
%token TOK_FOCUS "focus"
%token TOK_MOVE "move"
%token TOK_OPEN "open"
@ -398,14 +399,20 @@ direction:
mode:
TOK_MODE WHITESPACE window_mode
{
printf("should switch mode to %s\n", ($<number>3 == TOK_FLOATING ? "floating" : "tiling"));
/* TODO: actually switch mode (not toggle) */
if ($<number>3 == TOK_TOGGLE) {
printf("should toggle mode\n");
toggle_floating_mode(focused, false);
} else {
printf("should switch mode to %s\n", ($<number>3 == TOK_FLOATING ? "floating" : "tiling"));
/* TODO: actually switch mode (not toggle) */
}
}
;
window_mode:
TOK_FLOATING { $<number>$ = TOK_FLOATING; }
| TOK_TILING { $<number>$ = TOK_TILING; }
| TOK_TOGGLE { $<number>$ = TOK_TOGGLE; }
;
level: