45 lines
1.4 KiB
Bash
45 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
# Open Symbol + Footprint editors from running schematic/PCB editors
|
|
# Supports both Hyprland (Wayland) and dwm (X11)
|
|
|
|
set -euo pipefail
|
|
|
|
# ==============================================================================
|
|
# Environment Detection
|
|
# ==============================================================================
|
|
if [[ -n "${HYPRLAND_INSTANCE_SIGNATURE:-}" ]]; then
|
|
WM="hyprland"
|
|
else
|
|
WM="dwm"
|
|
PROFILE=$(autorandr --detected 2>/dev/null || echo "mobile")
|
|
fi
|
|
|
|
# ==============================================================================
|
|
# Main
|
|
# ==============================================================================
|
|
if [[ "$WM" == "hyprland" ]]; then
|
|
# Hyprland: Focus workspaces and send keys
|
|
hyprctl dispatch workspace 101
|
|
sleep 0.25
|
|
xdotool key ctrl+u # Open Footprint Editor from PCB
|
|
|
|
sleep 2
|
|
|
|
hyprctl dispatch workspace 102
|
|
sleep 0.25
|
|
xdotool key ctrl+i # Open Symbol Editor from Schematic
|
|
else
|
|
# Focus PCB Editor, open Footprint Editor
|
|
[[ "$PROFILE" != "mobile" ]] && echo "mon-prim" > /tmp/dwm.fifo
|
|
echo "kicad" > /tmp/dwm.fifo
|
|
sleep 0.25
|
|
xdotool key ctrl+u
|
|
|
|
sleep 0.5
|
|
|
|
# Focus right monitor, Schematic Editor, open Symbol Editor
|
|
[[ "$PROFILE" != "mobile" ]] && echo "mon-sec" > /tmp/dwm.fifo
|
|
echo "kicad" > /tmp/dwm.fifo
|
|
sleep 0.25
|
|
xdotool key ctrl+i
|
|
fi
|