#!/usr/bin/env python from json import loads from os import popen from sys import argv def ipc_query(req="command", msg=""): ans = popen("i3-msg -t " + req + " " + msg).readlines()[0] return loads(ans) if __name__ == "__main__": # Usage & checking args if len(argv) != 2: print("Usage: i3-switch-workspace name-of-workspace") exit(-1) newworkspace = argv[1] # Retrieving active display active_display = None for w in ipc_query(req="get_workspaces"): if w['focused']: active_display = w['output'] # Moving workspace to active display print(ipc_query(msg="'workspace number " + newworkspace + "; move workspace to output " + active_display + "'"))