Алексей Федорчук
Вступительный очерк о Terminix закончился риторическим вопросом: а что же такого впечатляющего в этом, вроде бы обычном, терминале? Попробую ответить на него описанием тех особенностей, которые впечатлили лично меня.
Во-первых, это, конечно же, тайлинг (tiling), который складывается из двух моментов. Первый — это расщепление терминального окна на два, любого из новообразованных — ещё на два, и так далее. Правда, процессы эти называются добавлением терминалов — Add terminal right и Add terminal down. Что, не смотря на отсутствие (в текущей версии) перевода этих словосочетаний с вражьей мовы гораздо понятней, нежели обычно употребляемые Разделить по вертикали или Разделить по вертикали: практика показывает, что в это вкладывается разный смысл — по положению разделительной черты или области окна. Мелочь, вроде бы, а приятно.
Каждая из разделённых областей действительно представляет собой самостоятельный терминал:
И каждый из них, щёлкнув на соответствующей иконке в строке его заголовка, можно развернуть на всё пространство окна, а затем «вернуть в свои законные границы»:
Ухватившись мышью за строку заголовка терминала, его можно переместить в пределах текущего окна окна или «вычленить» в окно новое:
Перетащить один из терминалов в другое открытое окно Terminix’а тоже не запрещается. И именно механизм перетаскивания терминалов бесспорно обеспечивает ему высокое звание «черепичного» терминала. Ибо просто «расщепительных» терминалов на свете и так было.
Переключаться между открытыми терминалами можно мышью, а также клавишами Control+Tab (вперёд), Shift+Control+Tab (назад), Alt+# (на терминал номер #).
А вот вкладок в Terminix’е не предусмотрено — их роль выполняют так называемые сеансы, создаваемые нажатием на иконку с плюсом в строке заголовка окна. Переключаться между сеансами можно через «выдвижную панель» сбоку окна, или с клавиатуры — клавишами Control+PgUp/PgDown или Alt+Control+#:
Вообще клавишных комбинаций в Terminix’е — бессчётное количество, буквально на каждое действие, какое только возможно, и все они настраиваются через меню Параметры:
Но о настройках поговорим в другой раз. А сейчас — ещё об одной фиче Terminix’а, поиске в выводе текущего терминала:
В каждом терминале можно задавать свои ключевые слова и критерии их поиска:
Модно включить синхронизацию ввода между терминалами одного сеанса:
А также отключить её для отдельных терминалов:
Надо заметить, что к Terminix’у, что штатно не прилагается никакой документации, нет даже обычной man-страницы (или — пока нет?). Так что детали функционала этого терминала можно выявить из рассмотрения параметров его настройки, что и будет предметом следующего очерка.
А пока стоит отметить, что автором Terminix’а является Геральд Нунн (Gerald Hunn):
Интерфейс программы, как можно было видеть на скриншотах, весьма прилично русифицирован, хотя в списке команды локализаторов имён соотечественников я не увидел:
А распространяется Terminix на условиях лицензии Mozilla:
P.S. Мне кажется, Terminix понравился бы Станису. Для него сплитинг терминального окна на много-много частей был реальной производственной необходимостью. И «для этих, для целей» он использовал Terminator. Хотя признавал, что с точки зрения настраиваемости он обычно избыточен.
А вот Terminix, по моему, как раз и обеспечивает разумный баланс между функционалом, настраиваемостью и простотой использования первого и лёгкостью выполнения второй.
Впрочем, повторяю, читатель сможет составить своё мнение по этому вопросу по прочтении следующего очерка.
Справедливости ради — пара примечаний.
Поиск в терминале реализуется виджетом vte, и, соответственно, доступен в любом эмуляторе терминала, использующем эту библиотеку: gnome-terminal, xfce4-terminal и т.д. Даже если запустить собственное простенькое приложение vte-2.91, то в нём будет точно такой же поиск.
«Сабтерминалы» давно есть в qterminal, например.
Настройка горячих клавиш тоже есть, например, в gnome-terminal.
Что действительно является особенностью terminix — это то, что он написан на D, других таких я не видел :)
Igor, Terminix предлагает новую модель управления окнами. По крайней мере — в терминалах. Такой нет в Терминаторе, QTerminal, et cetera. Она гораздо шире стандартного тайлинга. Собственно, это и является главной особенностью.
На счёт VTE, Игорь, всё верно. И в About’е Terminix’а об этом сказано. И на git’е тоже. Вот только поиска из коробки нет ни в gnome-terminal’е, ни в xfterminal’е. А в Terminix’е — есть.
Как говорит Сэм,
> Terminix предлагает новую модель управления окнами.
И такой я тоже нигде не видел, в том числе и в Terminator’е.
Как это поиска нету? Shift+Ctrl+F — поиск что в gnome-terminal, что в xfce4-terminal.
Насчёт сабтерминалов согласен, возможность сворачивать/разворачивать, похоже, уникальная. Возможность же перетаскивать вкладки в другое окно (а также отделять в новое) есть в том же xfce4-terminal.
Ну, тоже ради справедливости — в xfce4-terminal отделённую в новое окно вкладку вернуть назад не выйдет. Всё же совсем по другому в Terminixe реализация. Гибче.
> Ну, тоже ради справедливости — в xfce4-terminal отделённую в
> новое окно вкладку вернуть назад не выйдет.
Да, перетащить в другое окно можно только вкладку, окно в окно нельзя.
Думаете, это нужная фича? Можно сделать, но придётся решать, когда пользователь хочет слить окна, а когда просто переместить окно поверх другого.
> Всё же совсем по другому в Terminixe реализация. Гибче.
Согласен, работа с окнами впечатляет.
Igor, я не уполномочен решать за всех пользователей:) Но лично для себя вижу ситуации, когда такая фича лишней не была бы. Что касаемо объединения, то у Terminix оно реализовано довольно внятно: тянем за рамку окна — перемещение окон, тянем за саму вкладку — объединение.
Сэм, записал :)
Сэм, ага, с не сразу прсёк, что
> тянем за рамку окна — перемещение окон, тянем за саму вкладку — объединение.
Потому как сразу сгоряча убрал заголовки. Вернул взад :)
Впечатление такое, что прочитал обзор возможностей оконного менеджера i3
не удивлюсь если у них и конфиги похожие
> Насчёт сабтерминалов согласен, возможность сворачивать/разворачивать, похоже, уникальная.
tmux: prefix z по дефолту
Читая описание было ощущение что это gnu screen с возможностью управления с клавиатуры, но дочитав до вкладок понял что это больше похоже на шибко урезанный tmux в гуях нежели на скрин.
ЗЫ. Пишу комментарий и задумался о том что было бы иногда удобно с помощью меню делать в tmux некоторые вещи (тот же сплит на панели из меню или перекидывание в другое «окно»), но терминалов с его поддержкой не встречал всего один — iTerm2 под маком, умеет хоть и немного, но достаточно (но то всё же macos, а не родной linux)
> с возможностью управления с клавиатуры
с помощью мышки и меню, конечно же… извиняюсь
sgch, Вы будете смеяться, но похоже, что пользовательских конфигов у Tieminix, похоже, нет как класса — всё пишется непосредственно в ~/.config/dcong/user. Попозже проверю.
muhas, tmux’а не видел, но потому, что слышал о нём — да похоже.
А чем он лучше yakuate терминала?