Allow assign to workspace by number

Makes "assign [<criteria>] workspace number <number>" work in the same
manner as "move to workspace number <number>" instead of assigning the
window to a workspace named "number <number>".

config.spec is modified to expect a 'number' string and an extra
argument is used in cfg_assign.

For workspaces that don't exist yet, workspace_get is used as a
fallback. This also allows the user to assign to "<number> <workspace>"
eg "2: work" and the full name will be used if workspace number 2
doesn't exist yet.

Fixes #2590.
This commit is contained in:
Orestis Floros
2017-08-28 05:14:03 +03:00
parent 0f2bce3916
commit eaf7a49e28
8 changed files with 135 additions and 35 deletions

View File

@ -151,8 +151,14 @@ state ASSIGN_WORKSPACE:
->
'workspace'
->
'number'
-> ASSIGN_WORKSPACE_NUMBER
workspace = string
-> call cfg_assign($workspace)
-> call cfg_assign($workspace, 0)
state ASSIGN_WORKSPACE_NUMBER:
number = string
-> call cfg_assign($number, 1)
# no_focus <criteria>
state NO_FOCUS: