#!/usr/bin/env python3
"""Assign the first ten workspaces using the connected display layout."""
import json
import subprocess

monitors = json.loads(subprocess.check_output(['hyprctl', 'monitors', '-j']))
monitors.sort(key=lambda monitor: (monitor['x'], monitor['y']))
if monitors:
    rules = []
    for workspace in range(1, 11):
        monitor = monitors[0 if len(monitors) == 1 or workspace <= 5 else 1]['name']
        rules.append('hl.workspace_rule({ workspace = "%d", monitor = %s, default = %s })' % (
            workspace, json.dumps(monitor), 'true' if workspace == 1 or (len(monitors) > 1 and workspace == 6) else 'false'))
    subprocess.run(['hyprctl', 'eval', '; '.join(rules)], check=True)
