Bugfix: Properly parse commands like “move workspace torrent” (Thanks rasi)

fixes #955
next
Michael Stapelberg 2013-02-19 00:27:55 +01:00
parent 29c027db3b
commit 9bfe6a6236
3 changed files with 8 additions and 4 deletions

View File

@ -84,14 +84,14 @@ for my $line (@lines) {
# Cleanup the identifier (if any).
$identifier =~ s/^\s*(\S+)\s*=\s*$/$1/g;
# Cleanup the tokens (remove whitespace).
$tokens =~ s/\s*//g;
# The default action is to stay in the current state.
$action = $current_state if length($action) == 0;
#say "identifier = *$identifier*, token = *$tokens*, action = *$action*";
for my $token (split(',', $tokens)) {
# Cleanup trailing/leading whitespace.
$token =~ s/^\s*//g;
$token =~ s/\s*$//g;
my $store_token = {
token => $token,
identifier => $identifier,

View File

@ -262,7 +262,7 @@ state MOVE_DIRECTION_PX:
-> call cmd_move_direction($direction, $pixels)
state MOVE_WORKSPACE:
'to'
'to '
-> MOVE_WORKSPACE_TO_OUTPUT
workspace = 'next_on_output', 'prev_on_output', 'next', 'prev', 'current'
-> call cmd_move_con_to_workspace($workspace)

View File

@ -52,6 +52,8 @@ is(parser_calls(
'move window to workspace 3; ' .
'move container to workspace 3; ' .
'move workspace foobar; ' .
'move workspace torrent; ' .
'move workspace to output LVDS1; ' .
'move workspace 3: foobar; ' .
'move workspace "3: foobar"; ' .
'move workspace "3: foobar, baz"; '),
@ -59,6 +61,8 @@ is(parser_calls(
"cmd_move_con_to_workspace_name(3)\n" .
"cmd_move_con_to_workspace_name(3)\n" .
"cmd_move_con_to_workspace_name(foobar)\n" .
"cmd_move_con_to_workspace_name(torrent)\n" .
"cmd_move_workspace_to_output(LVDS1)\n" .
"cmd_move_con_to_workspace_name(3: foobar)\n" .
"cmd_move_con_to_workspace_name(3: foobar)\n" .
"cmd_move_con_to_workspace_name(3: foobar, baz)",