-
-
Save ineentho/66e1cc382c86026164d248dc27e1cf6f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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']) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Awesome, thanks for this!