#!/usr/bin/env bash

modes="std
single
single-sec
layout"

portalo_mode_std () {
    echo "Loading portalo standard screen layout"
	yadm config --unset-all local.class monitor-single
	yadm config --unset-all local.class monitor-single-sec
}

portalo_mode_single () {
    echo "Loading portalo single screen layout"
	yadm config --unset-all local.class monitor-single-sec
	yadm config --add local.class monitor-single
}

portalo_mode_single_sec () {
    echo "Loading portalo single screen layout on secondary screen"
	yadm config --unset-all local.class monitor-single
	yadm config --add local.class monitor-single-sec
}

portalo_mode_layout () {
    layout_dir="$HOME/.config/hypr/layouts"
    layouts=$(\ls -1 "$layout_dir")
    layout=$(echo "$layouts" | $DMENU -p "layout")
    if [ -n "$layout" ]; then
        "$layout_dir/$layout"
    fi
}

if [ -z "$1" ]; then
    mode=$(echo "$modes" | $DMENU -p "mode")
else 
    mode=$1
fi

case $mode in
    "std")          portalo_mode_std ;;
    "single")       portalo_mode_single ;;
    "single-sec")   portalo_mode_single_sec ;;
    "layout")       portalo_mode_layout ;;
    *)              echo "'$mode' is not a valid mode (single, std)" ;;
esac