19 lines
537 B
Python
Executable File
19 lines
537 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
from itertools import groupby
|
|
|
|
import i3ipc
|
|
|
|
i3 = i3ipc.Connection()
|
|
workspaces = i3.get_workspaces()
|
|
|
|
for tens, workspace_group in groupby(workspaces, lambda ws: ws.num // 10):
|
|
workspaces = [ws for ws in workspace_group
|
|
if ws.num != -1 and ws.num % 10 != 0]
|
|
|
|
workspaces.sort(key=lambda ws: ws.num)
|
|
for num, ws in enumerate(workspaces, 1):
|
|
name = ws.name.split(":")
|
|
name[0] = str(tens * 10 + num)
|
|
i3.command(f"rename workspace {ws.name} to {':'.join(name)}")
|