#!/usr/bin/env python3

import sys
import subprocess
import json

FILTER        = sys.argv[1:]
I3_WORKSPACES = ['i3-msg', '-t', 'get_workspaces']
I3_RENAME     = ['i3-msg', 'rename', 'workspace', 'to']
ESCAPE        = [
    ['\\', '\\\\'],
    ['"',  '\\"' ],
]

def run(*args):
    return subprocess.check_output(args, text=True).strip()

def name():
    for workspace in json.loads(run(*I3_WORKSPACES)):
        if workspace['focused']:
            return workspace['name']

def filter(value):
    return run(*FILTER, value)

def rename(value):
    for old, new in ESCAPE:
        value.replace(old, new)
    run(*I3_RENAME, f'"{value}"')

rename(filter(name()))