diff options
Diffstat (limited to '')
-rw-r--r-- | .i3/config | 5 | ||||
-rwxr-xr-x | .i3/scripts/new_workspace.py | 23 |
2 files changed, 27 insertions, 1 deletions
@@ -153,7 +153,10 @@ bindsym $mod+g exec $nsi $script/workspaces.sh bindsym $mod+Shift+g exec $nsi $script/workspaces.sh move # rename «3 -bindsym $mod+n exec $nsi i3-input -F 'rename workspace to "%s"' -P 'Rename workspace: ' +bindsym $mod+Shift+n exec $nsi i3-input -F 'rename workspace to "%s"' -P 'Rename workspace: ' + +# new temp workspace «3 +bindsym $mod+n exec $nsi $script/new_workspace.py # Resizing «2 ############# diff --git a/.i3/scripts/new_workspace.py b/.i3/scripts/new_workspace.py new file mode 100755 index 0000000..cfb73d1 --- /dev/null +++ b/.i3/scripts/new_workspace.py @@ -0,0 +1,23 @@ +#!/usr/bin/python + +# +# Switch to a new workspace, which gets the first free numbe >= 0 +# + +import sys +from os.path import realpath, dirname + +cwd = realpath(dirname(__file__)) +sys.path.insert(1, cwd) + +import i3 + +nums = (w["num"] for w in i3.get_workspaces()) +nums = filter(lambda n: n is not None and n >= 0, nums) + +for i,n in enumerate(sorted(nums)): + if i != n: + i3.workspace(str(i)) + break +else: + i3.workspace(str(i+1)) |