Compare commits
No commits in common. "a09cd44ec56b57bc7d3cc8c4b13b436a1b4411e0" and "13e7ad3d312936ec740825a31da63d80a2702049" have entirely different histories.
a09cd44ec5
...
13e7ad3d31
2 changed files with 2 additions and 122 deletions
|
@ -1,3 +1,4 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
hyprctl monitors | awk '($1 == "Monitor") { print $2 }' | xargs hyprctl dispatch swapactiveworkspaces
|
monitors="$(hyprctl monitors | awk '($1 == "Monitor") { print $2 }' | xargs)"
|
||||||
|
hyprctl dispatch swapactiveworkspaces $monitors
|
||||||
|
|
||||||
|
|
|
@ -1,121 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
colored_star_message() {
|
|
||||||
local color="$1"
|
|
||||||
shift
|
|
||||||
printf '\033[1;'"${color}"'m*\033[0m \033[1m%s\033[0m\n' "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
ko() {
|
|
||||||
>&2 colored_star_message 31 "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
ok() {
|
|
||||||
colored_star_message 32 "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
get_vscreen_name() {
|
|
||||||
hyprctl monitors | awk '($1 == "Monitor") { print $2 }' | grep '^HEADLESS-[0-9]*$'
|
|
||||||
}
|
|
||||||
|
|
||||||
vscreen_exists() {
|
|
||||||
[ -n "$(get_vscreen_name)" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
vnc_running() {
|
|
||||||
wayvncctl output-list > /dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
get_mainmon_refrate() {
|
|
||||||
hyprctl monitors | grep -A 1 '^Monitor .* (ID 0):$' | sed 1d | xargs | sed 's/^.*@//g' | cut -d ' ' -f 1
|
|
||||||
}
|
|
||||||
|
|
||||||
create() {
|
|
||||||
# si il n'y a pas déjà d'écran
|
|
||||||
# créer un écran virtuel
|
|
||||||
# configurer l'écran
|
|
||||||
# donner le nom de l'écran
|
|
||||||
# si il n'y a pas de serveur VNC
|
|
||||||
# screener un serveur VNC
|
|
||||||
|
|
||||||
local \
|
|
||||||
vscreen_name \
|
|
||||||
resolution=1920x1080 \
|
|
||||||
position=0x0 \
|
|
||||||
listen_address=0.0.0.0
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if ! vscreen_exists; then
|
|
||||||
hyprctl output create headless
|
|
||||||
vscreen_name="$(get_vscreen_name)"
|
|
||||||
printf '%s \033[1m%s\033[0m\n' "New virtual screen:" "$vscreen_name" &
|
|
||||||
hyprctl keyword monitor \
|
|
||||||
"${vscreen_name}," \
|
|
||||||
"${resolution}@$(get_mainmon_refrate)," \
|
|
||||||
"${position}," \
|
|
||||||
1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! vnc_running; then
|
|
||||||
screen -d -m wayvnc -o "$vscreen_name" 0.0.0.0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
destroy() {
|
|
||||||
# si il y a un serveur VNC
|
|
||||||
# tuer le serveur VNC
|
|
||||||
# si il y a un écran virtuel
|
|
||||||
# supprimer l'écran virtuel
|
|
||||||
|
|
||||||
if vnc_running; then
|
|
||||||
wayvncctl wayvnc-exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if vscreen_exists; then
|
|
||||||
hyprctl output remove "$(get_vscreen_name)"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
status() {
|
|
||||||
# si il y a un serveur VNC
|
|
||||||
# afficher que le serveur VNC est en cours
|
|
||||||
# si il y a un écran virtuel
|
|
||||||
# afficher le nom de l'écran virtuel
|
|
||||||
local exit_status=0
|
|
||||||
|
|
||||||
if vnc_running; then
|
|
||||||
ok "The VNC server is running."
|
|
||||||
else
|
|
||||||
ko "The VNC server is not running."
|
|
||||||
exit_status="$(("$exit_status" + 1))"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if vscreen_exists; then
|
|
||||||
ok "Monitor name: $(get_vscreen_name)"
|
|
||||||
else
|
|
||||||
ko "The virtual monitor does not exist!"
|
|
||||||
exit_status="$(("$exit_status" + 1))"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit "$exit_status"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ -n "$1" ]; then
|
|
||||||
verb="$1"
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$verb" in
|
|
||||||
create|destroy|status)
|
|
||||||
"$verb"
|
|
||||||
;;
|
|
||||||
"")
|
|
||||||
status
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
ko "skill issue"
|
|
||||||
exit 3
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
Loading…
Reference in a new issue