Chciałbym stworzyć „tryb fokusowy” dla terminala za pomocą tmux, trochę jak co robi goyo dla vima :
Problem 1: wymiarowanie okien
Moje myślenie polegało na tym, aby podzielić okno na trzy panele, a następnie ustawić centralny panel na stałą wartość maksymalną (może 80 kolumn? Może 100? Może inne maksimum w zależności od rozmiaru okna terminala, jak responsywne układy internetowe?) I ustawienie szyby boczne do równego wypełnienia pozostałych kolumn. Chciałbym także, aby działało to na ekranach o różnych rozmiarach, dzięki czemu mogę z niego korzystać zarówno na moim laptopie, jak i na pulpicie.
Obecnie jedynym sposobem, aby to zrobić, jest współpraca z powłoką ( to znaczy., aby uzyskać szerokość terminalu za pomocą tput cols
a następnie oblicz szerokość potrzebną dla każdego okienka za pomocą operacji matematycznych $(())
). Nie mam nic przeciwko temu, ale jeśli byłby wbudowany sposób na osiągnięcie tego w tmux, czułbym się naprawdę głupio, że tego nie zauważyłem.
Więc ... jest?
Problem 2: wygaszanie szyb bocznych
To jest mniej istotne; naprawdę nie jest tak źle, aby zobaczyć w większości puste okienko z monitem na górze. Wiem, że tmux ma clock-mode
(na przykład), który zastępuje zawartość paneli i zamiast tego wyświetla coś innego. Zastanawiam się, czy istnieje sposób na całkowite ukrycie zawartości nieaktywnego panelu. Jak dotąd najlepsze, co mogę wymyślić, to ustaw fg i bg na ten sam kolor :
:select-pane -t:.1 -P 'fg=black,bg=black'
Albo, Święty Graal
Wszystko to można osiągnąć o wiele łatwiej, gdyby istniało urządzenie marże na szybie w tmux. O ile mi wiadomo, ta funkcja nie istnieje, ale jestem daleko od eksperta tmux. Czy jest jakaś szansa, że tam jest i po prostu o tym nie wiem?