57 lines
1.7 KiB
Bash
Executable File
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
|