AltYo (Quake-like эмулятор терминала)

Системные утилиты 3850 просм. 20 сообщ.

AltYo (Quake-like эмулятор терминала)

Для тех кто пользуется эмулятором терминала Tilda или другими выпадающими Quake-like/drop-down терминалами предлагается протестировать эмулятор терминала под названием AltYo.

От автора:

Вместо того чтобы портировать tilda на gtk3 я написал свою версию. В ней я постарался исправить все косяки которые меня раздражали в tilda многие годы. Своей программой пользуюсь/разрабатываю уже почти год, решил поделиться наработками.
Спойлер
linvinus | 2013-02-14 в 11:11:26
Писал для себя, и все нужные мне функции там есть, за исключением автоматической сортировки по имени хоста (она у меня в разработке), я пока не определился полезно это или нет.

В остальном, с сентября было только одно сообщение о баге, но воспроизвести не удалось и человек выпал из дискуссии.

Собственно, поэтому я решил немного по-рекламировать, чтобы получить больше отзывов.

Основное отличие от большинства аналогов - это возможность открыть большое количество терминалов и видеть все их заголовки без ущерба простоты использования. (тильдой неудобно пользоваться если открыть больше 5 терминалов, табы не умещаются на экране)

На работе у меня порядка 20 одновременно открытых терминалов с разных серверов, поэтому мне важно видеть на каком терминале что открыто.
Второе - формат текста в табах легко настраивается под себя, на втором видео ролике я постарался показать как можно настроить "темы", кроме формата в табах ещё можно выделять цветом необходимую информацию (номер, пользователь, хост, путь ).
Третье - все хоткеи конфигурируются, я старался избегать "жёстких" настроек. И есть хоткеи для второго десятка терминалов (двойное нажатие alt+1 переключит на 11 терминал)

В общем при всей похожести с другими терминалами есть много отличий :)

И, лично для меня, очень весомый аргумент никаких питонов и прочих интерпритируемых языков, мне важен каждый мегабайт памяти, т.к. программа работает месяцами, пока я не перезагружу комп,а делать это я не люблю.

Из недостатков пока только отсутствие графического конфигуратора, народ жалуется что не может толком сменить шрифт :) , проблема в том что это не отдельная настройка а настройка gtk темы, т.е. весь внешний вид описан в gtk теме которая хранится в параметре program_style, как дать возможность изменять шрифт и при этом позволить полностью перенастраивать внешний вид я пока не придумал (думал не много, если честно).

Основные особенности:

- Висит поверх всех окон
- Доступен по горячей клавише
- Поддерживаете заголовки терминала
- Кнопки с заголовками не ограничены шириной экрана, если не умещаются, то переходят на следующую строчку (мой Gtk виджет HVBox)
- Очерёдность терминалов можно менять перетаскивая в нужную позицию мышью
- Анимация не ломает отображение терминала (в tilda при включенной анимации строки съезжают вверх)
- Внешний вид настраивается через стиль Gtk CSS
- Все горячие клавиши перенастраиваются.
- Практически все настройки есть в конфигурационном файле
- Есть поиск в терминале
- Сохранение сессий (запоминает запущенные команды, не работает в случае если команды были набраны в screen (я не знаю как найти потомка от screen))
- Поддержка многомониторных конфигураций.
- Возможность автоматической сортировки закладок по имени хоста, возможность отключена по умолчанию
- Возможность быстрого переключения на первые 20 вкладок :) (двойное нажатие alt+1 переключится на 11 вкладку)

Небольшое видео с презентацией:

Известные проблемы:

- Программа падает когда окно скрыто и пользователь меняет настройки overlay-scrollbar.
- Настройка расположена в dconf com.canonical.desktop.interface.scrollbar-mode
- Это не проблема приложения, создан баг репорт
Обходного решение: не меняйте эту настройку когда приложение скрыто.

Исходный код распространяется под лицензией GPL3

Страница AltYo на github.com

Скомпилированные deb пакеты доступны в ppa автора

Обсуждение на forum.ubuntu.ru

После недолгого, в пару вечеров, знакомства мне AltYo понравился:

Изначально опробовал на Ubuntu, всё нормально работает, решил опробовать на Salix13.37, собрал пакетик (лежит тут), поставил... Но, после запуска спрашивает клавишу, прячется и после одного "выпадения" падает... Пока не разобрался почему, времени нет, но опробую его ещё на Арче и тогда займусь проблемой на Саликсе...

Х.м. похожее сообщение было на форме убунту, но человек выпал из обсуждения.
Немного о работе программы:
в случае если включена анимация, используется специальное виртуальное окно, куда перебрасывается текущее окно altyo, а в основном появляется виджет который рисует картинку виртуального окна, это позволяет создать анимацию окна без ломания размеров виджетов, в GTK если изменить размер одного виджета это вызовет изменение всех виджетов из за чего плывёт содержимое в окне терминала.
Виджет виртуального окна довольно новый и возможно не отлажен хорошо.
Другим словами попробуй отключить анимацию и проверить есть ли баг. Если нет то дело в этом виджете если есть то дело в чём то другом.
В программе есть опция debug если установить значение true то после перезапуска порограммы в консоль откуда была запущенна программа будут сыпаться отладочные сообщения, так можно понять что именно приводит к падению.
ещё лучще запустить в отладчике gdb и после падения получить результат команды bt

Не знал о выпадающих эмуляторах терминала, пробовать не буду.

linvinus:

Х.м. похожее сообщение было на форме убунту, но человек выпал из обсуждения
Да разобрался с этим уже...
И что за жизнь то... Вот только собрался сделать доброе дело, захотелось вот закинуть AltYo на AUR, а его там уже выставили, ну что за облом!
Осталось только его опробровать:

sorrymak:

Не знал о выпадающих эмуляторах терминала, пробовать не буду.
Можно подумать то кто то по вашим страданиям заплакает...

Я думал это вы сделали :)
Программа начинает жить своей жизнью :)
Добавил ссылку на пакет для Арча в readme.

А что именно приводило к падению на слаке случайно не выяснили?
Как я понял в Арче работает без проблем (если отключить дебиановский патч ALTERNATE_SCREEN_SCROLL)

Не, я только собрался, глянул ещё раз, а там уже есть...
Буквально на пару часов опоздал!

А что именно приводило к падению на слаке случайно не выяснили?

Просто в Слаке гткашные/гномовые библиотеки (gtk3, libgee, vala и ещё кое что) всё ещё шибко старые для AltYo, даже в 14 версии (а у меня она всё ещё 13.37). Использование же "костылей и подпорок" даёт очень нестабильный результат, лучше подожду пока GSB (GNOME SlackBuild) до нужных версий обновится, ну или вдруг возьмут и MATE на GTK3 портируют (мечтательно).

Понятно, будем считать что это не баг.

Всем привет!
доступна для тестирования новая версия http://forum.ubuntu.ru/index.php?topic=198594.msg1658281#msg1658281

Ага, спасибки! Обновился на Убунте! Диалог настроек прикольный:

Вечерком поковыряю, всякопоразному!

posixru, привет.
у тебя случайно нет возможности проверить программу на arch-e?
один пользователь жалуется что у него чёрный экран при старте программы, и ещё глюки.

я на на убунте это воспроизвести не могу, да же на 13.04.
В общем, если есть возможность нужно.
1) собрать последнюю версию из гит.
2) удали старый конфиг (если он был и там нет ничего важного) rm ~/.config/altyo/config.ini
3) запусти программу, должно появиться окно программы без артифактов.

4)если всё ок, то открой настройки на закладке комбинации клавиш, в списке клавиш есть Maximize-Restore
нужно назначить любую свободную комбинацию, например F11.

5) теперь нужно проверить переходит ли окно между режимами развёрнуто на весь экран, и нормальным (при помощи этой комбинации).
желательно отдельно с одной закладкой, и с 40 закладками.
Эта функция очень сильно зависит от оконного менеджера, я проверял в metacity,openbox'e, kwin 4.6
Но один пользователь говорит что в у него в kwin и xfce есть проблемы.
В общем буду признателен любой помощи.

Программу (бинарник) можно перетаскивать между дистрибутивами (кроме версии собранной в ubuntu-debian), версию от убунты можно перетаскивать только между debian-based, это связано со специфичным патчем, которого нет в других дистрибутивах.
Главная зависимость gtk3.4 или новее.

И вот ещё загадка.
Я пока не могу понять почему кода используется zsh то содержимое окна ломается между переключениями "развёрнуто на весь кран" и нормальным размерном окна.
Это не проблема программы, точно такой же глюк в gnome-terminal, любое изменение размера окна сдвигает строки.
Может у тебя будут какие нибудь идее с чем это может быть связано.
От конфига zsh не зависит, пробовал сбрасывать.

linvinus:

у тебя случайно нет возможности проверить программу на arch-e?

Последнее время на нём его и использую:

Никаких глюков замечено не было, в Openbox, вообще ничего, хотя в нём его дольше всего использовал и настройками баловался всякапоразному. А вот в XFCE, при включении визуальных эффектов, пару раз наблюдал полностью чёрный диалог настройки, но после перезапуска терминала всё исправлялось.

ЗЫ: Может стоит добавить в "Размер и расположение" возможность сменить выпадение терминала сверху на выскакивание его снизу? У меня панель всегда вверху и падающий терминал лично мне бы был прикольнее!
Да и вроде бы нет у мне известных Quake-like терминалов такой фишки!

дизайн программы подразумевает что под программой всегда есть свободное место.
Иначе табам некуда будет расти, иначе диалогу поиска некуда будет выпадать.
А контролировать положение окна и так очень сложно.
Оконные менеджеры так и норовят передвинуть или изменить размер окна, на "правильный" по их мнению.
Думаю не стоит городить огород ради этого.

А изменение размера окна не проверял?
Программа должна уметь разворачиваться на весь экран и возвращаться в исходное положение.

linvinus:

дизайн программы подразумевает что под программой всегда есть свободное место.

Когда ноут лежит на пузе (не буду же я сидеть у компа после окончания трудотерапии), то выскакивающий снизу и с вкладками сверху терминал много удобнее... Терминатор у меня там обычно и тусуется. Ну не удобен он при такой позиции (вываливаемый сверху), наиболее актуальна для просмотра середина и низ экрана и выпрыгнутый снизу с вкладками сверху:

linvinus:

Оконные менеджеры так и норовят передвинуть или изменить размер окна, на "правильный" по их мнению.
Не заметил такого, в последней версии, 0.1 прыгал, а сейчас нет, в Openbox, Xfce и MATE проверено.
А изменение размера окна не проверял?
Проверил, работает, и на Арче и на Саликсе:

Когда ноут лежит на пузе (не буду же я сидеть у компа после окончания трудотерапии)

А я наоборот много лет прокорячился с ноутом по диванам, а недавно решил попробовать купить себе "кресло руководителя", подключил к ноуту монитор, клаву, мышь и доволен вполне таким удобством :) за последние пару месяцев ноут брал на диван 1 раз :) как по мне, то стало удобнее.

По поводу положения снизу, я вспомнил что есть такая штука как гравитация, если сказать оконому менеджеру что она снизу вверх (южная), то все проблемы устраняются :)
так что я это реализовал, только закладки по прежнему снизу.

Спасибо за проверки.
Осталось с kwin разобраться.
Кстати я и с zsh разобрался, подробнее тут https://bbs.archlinux.org/viewtopic.php?id=159822

крайнее сообщение дюже старенькое, проект развивается?
хотелось бы задать глупый вопрос, просто это детская мечта
возможно сделать сохранение открытых табов , да ещё с открытыми путями? такую возможность я бы наверное даже купил бы за разумный прайс :rolleyes:

andybeg:

крайнее сообщение дюже старенькое, проект развивается?
Так судя по github правка 15 дней назад была, значит явно жив проект!

andybeg:

возможно сделать сохранение открытых табов , да ещё с открытыми путями?
Почему то сразу вспомнились screen, byobu и tmux...
А то что реализовано не устраивает? Ну автор то русский, отпишите ему, должен откликнутся.

Почему то сразу вспомнились screen, byobu и tmux...

screen давно не пользоал, но когда с ним работал функции сохранения путей у него не было (или плохо искал) byobu и tmux смотрел, весьма не дурные, но переход между консолями крайне неудобен, если работаешь чисто в консоли, то наверное хорошо, а в гуях бегать между ними всётаки лучше мышкой
А то что реализовано не устраивает?
признаться, меня и тильда устраивала, у сабжа свой шарм, не хватает сохранения вкладок
А то что реализовано не устраивает?
постучусь

Написать ответ…