Chciałbym stworzyć „tryb fokusowy” dla terminala za pomocą tmux, trochę jak co robi goyo dla vima :

goyo screenshot

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?

Ryan Lue
źródło