Il meccanismo
Cosa avvia davvero il pannello, e cosa succede dopo.
Uno pseudo-terminale che esegue la tua shell di login, con un ambiente messo insieme di proposito invece che ereditato in blocco — e una risposta definita per il momento in cui un comando lì dentro cambia il file lì sopra.
01Parte nella cartella del file
La directory di lavoro è quella del file nella scheda, non la radice del progetto. Se quella cartella è sparita, ripiega sulla cartella aperta, poi sulla tua cartella home. Due schede con file in cartelle diverse danno due shell in posti diversi.
02Oppure appartiene a una cartella dello spazio di lavoro
Un terminale può essere avviato per una delle radici dello spazio di lavoro invece che per un file, ed è la shell che vuoi per una compilazione o una serie di test. Il pannello chiede cosa intendevi quando la scelta è reale, e permette di passare da una shell già avviata all’altra.
03Fissare tiene viva una shell oltre la sua scheda
Un terminale di file finisce con la sua scheda, a meno che tu non lo fissi. Una shell fissata continua a girare, e riaprire quel file la recupera invece di avviarne una seconda. Un terminale di progetto è fissato per definizione.
04Il pannello si divide in un massimo di tre shell
Terminale ▸ Dividi il terminale (⌃⇧5) divide il pannello in colonne come l’editor si divide in riquadri. Una divisione è una seconda shell con lo stesso legame — stesso file, stesso fissaggio, chiusa dalla stessa scheda — avviata nella cartella in cui si trova in quel momento la shell da cui nasce, di solito quella in cui sei appena andato.
05Una scheda pulita si ricarica, in silenzio
Lancia un formattatore e la scheda si aggiorna. Non chiede, di proposito: una volta che un terminale può scrivere in questi file, una conferma per ogni file significherebbe una valanga di finestre per un comando che hai appena scritto tu.
06Una scheda con modifiche non salvate non viene mai sovrascritta
Chiede — « modificato sul disco. Questa scheda ha modifiche non salvate. Ricaricare e scartarle? » — con Ricarica e Tieni le mie. Scegliere Tieni le mie sposta avanti la data di modifica registrata, così non richiede per lo stesso cambiamento.
07La tua shell di login, con -l
La shell viene avviata come shell di login, così ~/.zprofile e compagni vengono letti. Gli strumenti installati da Homebrew o da un gestore di versioni sono nel PATH perché la shell l’ha preparato come fa sempre.
08TERM e COLORTERM sono impostate come si deve
TERM vale xterm-256color e COLORTERM vale truecolor, così i programmi che controllano prima di emettere colore a 24 bit lo emettono davvero.
09TERM_PROGRAM dice Linelark
È la variabile che gli strumenti leggono per sapere in quale terminale si trovano, e risponderle onestamente è il modo in cui si adattano correttamente.
10Linelark_FILE nomina il file in primo piano
La directory di lavoro ha sempre detto solo la cartella. Questa dice quale file, che è ciò che di solito serve a uno strumento da riga di comando.
11Viene impostata o rimossa, mai ereditata
L’app può essere avviata da una di queste shell. Senza cancellarla, una scheda senza nome erediterebbe un valore vecchio e si spaccerebbe per il file di qualcun altro.
12Le fughe di debug vengono rimosse
OS_ACTIVITY_DT_MODE e compagni vengono tolti dall’ambiente del processo figlio, altrimenti i programmi avviati da una build di sviluppo credono di essere sotto debug.