start/cad

57 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
if [ -z "$1" ]; then
echo "❌ Błąd: Musisz podać plik!"
echo "👉 Użycie: cad nazwa_pliku.py"
exit 1
fi
FILE=$1
FULL_PATH=$(realpath $FILE)
SESSION="cad_session"
LIVE_SCRIPT="/home/pali112/Build123d/live.py"
# 1. Zabijamy starą sesję
tmux kill-session -t $SESSION 2>/dev/null
echo "🚀 Tworzę sesję..."
# ==========================================
# OKNO 1: CODE
# ==========================================
tmux new-session -d -s $SESSION -n 'Code' "vim $FILE"
# ==========================================
# OKNO 2: SERVER
# ==========================================
echo "🖥️ Przygotowuję maszynownię..."
# 1. Tworzymy drugie okno
tmux new-window -t $SESSION -n 'Server'
sleep 0.5 # Daj mu chwilę na wstanie
# 2. URUCHAMIAMY SERWER (Góra)
# W tym momencie mamy tylko jeden panel, więc ślemy do niego.
tmux send-keys -t "${SESSION}:Server" "python3 -m ocp_vscode --host 0.0.0.0 --port 3939" C-m
# 3. DZIELIMY OKNO
echo "✂️ Dzielę ekran..."
# Dzielimy aktywne okno (Server).
# Flaga -d nie jest użyta, więc focus przenosi się do NOWEGO (dolnego) panelu.
# Używamy -l 15 zamiast %, żeby wymusić stałą wysokość (15 linii tekstu na dole) - to pewniejsze.
tmux split-window -t "${SESSION}:Server" -v -l 15
sleep 0.5 # Ważna pauza!
# 4. URUCHAMIAMY RUNNERA (Dół)
# Skoro po splicie kursor jest na dole, ślemy po prostu do okna Server.
tmux send-keys -t "${SESSION}:Server" "python3 $LIVE_SCRIPT $FULL_PATH" C-m
# ==========================================
# FINISH
# ==========================================
# Wracamy do kodu
tmux select-window -t "${SESSION}:Code"
echo "✅ Gotowe! Podłączam..."
tmux attach-session -t $SESSION