Files
dotfiles/.local/bin/lisgd-niri.sh
2026-03-11 13:14:14 +01:00

52 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
DEVICE=/dev/input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-event
ORIENTATION=${ORIENTATION:-normal}
echo "Starting lisgd with orientation: $ORIENTATION" >> /tmp/lisgd.log
if [[ $ORIENTATION == "normal" ]]; then
niri msg output eDP-1 transform normal
elif [[ $ORIENTATION == "270" ]]; then
niri msg output eDP-1 transform 270
elif [[ $ORIENTATION == "inverted" ]]; then
niri msg output eDP-1 transform inverted
elif [[ $ORIENTATION == "90" ]]; then
niri msg output eDP-1 transform 90
else
echo "Unknown orientation: $ORIENTATION" >> /tmp/lisgd.log
fi
stop_lisgd() {
pkill -f "lisgd -d $DEVICE" 2>/dev/null
}
start_lisgd() {
echo "Starting lisgd for device: $DEVICE" >> /tmp/lisgd.log
stop_lisgd
sleep 0.1
lisgd -d "$DEVICE" -t 10 -T 5 \
-g "4,DU,*,*,niri msg action open-overview" \
-g "1,DU,B,*,niri msg action open-overview" \
-g "3,LR,*,*,niri msg action focus-column-left" \
-g "3,RL,*,*,niri msg action focus-column-right" \
-g "3,DU,*,*,niri msg action focus-workspace-up" \
-g "3,UD,*,*,niri msg action focus-workspace-down" \
&
LISGD_PID=$!
echo "Started lisgd with PID: $LISGD_PID" >> /tmp/lisgd.log
}
cleanup() {
stop_lisgd
exit 0
}
trap cleanup SIGINT SIGTERM
start_lisgd