aboutsummaryrefslogtreecommitdiff
path: root/scripts/.scripts/cycle-workspace_more_2.py
blob: 81ea163c21636a659f542784c58587fe53f8bf73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env python

# cycle-workspace
#   Moves the currently active workspace to the next active display
#   Depends on i3-py (`pip install i3-py`)
 
import i3

# figure out what is on, and what is currently on your screen.
focused_workspace = list(filter(lambda s: s['focused'], i3.get_workspaces()))[0]
outputs = list(filter(lambda s: s['active'], i3.get_outputs()))

# find the index of the currently focused workspace
currentIndex = 0
for i, output in enumerate(outputs):
    if output['name'] == focused_workspace['output']:
        currentIndex = i
        break
    
# find the next workspace
nextIndex = currentIndex + 1
if nextIndex >= len(outputs):
    nextIndex = 0
other_workspace = outputs[nextIndex]

# send current to the no-active one
i3.command('move', 'workspace to output '+other_workspace['name'])