Add support for init script to hyprland-monitord

This commit is contained in:
ItsDrike 2024-10-13 23:36:00 +02:00
parent d9c71e2310
commit 867ba642c6
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0
2 changed files with 29 additions and 0 deletions

View file

@ -0,0 +1,22 @@
#!/bin/bash
set -euo pipefail
MONITORS_AMT="$(hyprctl monitors -j | jq length)"
if [ "$MONITORS_AMT" -lt 1 ]; then
>&2 echo "You seem to have 0 monitors..."
exit 1
fi
if [ "$MONITORS_AMT" -eq 2 ]; then
eww open bar1
fi
if [ "$MONITORS_AMT" -eq 1 ]; then
eww active-windows | grep "bar1" && eww close bar1
fi
if [ "$MONITORS_AMT" -gt 2 ]; then
>&2 echo "Unexpected monitor configuration (more than 2 monitors)"
exit 1
fi

View file

@ -21,6 +21,7 @@ set -euo pipefail
# Place, Suite 330, Boston, MA 02111-1307 USA # Place, Suite 330, Boston, MA 02111-1307 USA
SCRIPTS_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/hyprland-monitord" SCRIPTS_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/hyprland-monitord"
INIT_SCRIPT="$SCRIPTS_DIR/init.sh"
ADD_SCRIPT="$SCRIPTS_DIR/added.sh" ADD_SCRIPT="$SCRIPTS_DIR/added.sh"
REMOVE_SCRIPT="$SCRIPTS_DIR/removed.sh" REMOVE_SCRIPT="$SCRIPTS_DIR/removed.sh"
@ -100,6 +101,12 @@ handle_remove() {
>&2 echo "Listening for monitor IPC events" >&2 echo "Listening for monitor IPC events"
if [ -f "$INIT_SCRIPT" ]; then
"$INIT_SCRIPT"
else
>&2 echo "Init script file not found ($INIT_SCRIPT)"
fi
hyprland_ipc "monitoraddedv2" | while read -r line; do hyprland_ipc "monitoraddedv2" | while read -r line; do
handle_add "$line" handle_add "$line"
done & done &