#!/usr/bin/python

# Code explanation:
#
# 1. The script imports the subprocess and time modules.
# 2. It enters an infinite loop that continuously checks for the current
#    layout.
# 3. The subprocess.run() function is used to call the hyprctl command
#    and capture its output.
# 4. The output is decoded from bytes to a string and processed to extract the
#    layout information.
# 5. Based on the layout, the script prints the corresponding symbol.
# 6. The script then sleeps for 1 second before checking the layout again,
#    allowing it to update the output in real-time as the layout changes.

import subprocess
import time

while True:
    result = subprocess.run(['hyprctl', 'getoption'
                           , 'general:layout'], stdout=subprocess.PIPE)

    hl = result.stdout.decode('utf-8').splitlines()[0].split(':')[1].strip()

    if hl == "monocle":
        print("[M]")
    elif hl == "scrolling":
        print("[S]")
    else:
        print("[]=")

    time.sleep(1)
