diff --git a/argen/.config/argen/init b/argen/.config/argen/init index 09774ed..309742c 100755 --- a/argen/.config/argen/init +++ b/argen/.config/argen/init @@ -150,5 +150,7 @@ for num in 1 2 3 4 5 6 7 8 9; do " done +argenctl binding set normal Super+Shift S exec ~/.config/argen/session.sh + # Rules argenctl rule add float --app-id "my-app" diff --git a/argen/.config/argen/session.sh b/argen/.config/argen/session.sh new file mode 100755 index 0000000..0b12f26 --- /dev/null +++ b/argen/.config/argen/session.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +set -eu + +id=$(for name in $(ls ~/.config/argen/sessions/*.sh); do echo $(basename "${name%.sh}"); done | fuzzel -d -p'session> ') +if argenctl context list | grep "^${id}\$"; then + argenctl context switch "${id}" + exit +fi +argenctl context new "$id" + +first=$(argenctl output list --json | jq -r '.[0].id') +length=$(argenctl output list --json | jq -r 'length') +for n in $(seq $length); do + current=$(argenctl output list --json | jq -r '.[] | select(.focused).id') + if [ "$current" = "$first" ]; then + break + fi + argenctl output focus next +done + +if [ -e ~/.lightmode ]; then + THEME=light +else + THEME=dark +fi +export TERMINAL="footclient -o initial-color-theme=$THEME" + +exec sh ~/.config/argen/sessions/"${id}.sh" diff --git a/argen/.config/argen/sessions/dotfiles.sh b/argen/.config/argen/sessions/dotfiles.sh new file mode 100644 index 0000000..5dc1fc0 --- /dev/null +++ b/argen/.config/argen/sessions/dotfiles.sh @@ -0,0 +1,3 @@ +argenctl output focus next + +argenctl sh "$TERMINAL -D ~/dotfiles kak" diff --git a/argen/.config/argen/sessions/web.sh b/argen/.config/argen/sessions/web.sh new file mode 100644 index 0000000..f1fcdbf --- /dev/null +++ b/argen/.config/argen/sessions/web.sh @@ -0,0 +1,6 @@ +argenctl exec librewolf + +sleep 1 +argenctl output focus next + +argenctl exec qutebrowser