#!/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