Всем привет!
тем кто пользуется программой tilda/guake и у кого ubuntu 12.04 или новее предлагаю протестировать мой аналог под названием AltYo.
AltYo - выпадающий терминал (drop down terminal) в духе консоли quake.
Вместо того чтобы портировать tilda на gtk3 я написал свою версию.
В ней я постарался исправить все косяки которые меня раздражали в tilda многие годы.
Своей программой пользуюсь/разрабатываю с конца 2011го, решил поделиться наработками.
Основной сайт программы
https://github.com/linvinus/AltYoсписок последних изменений
https://github.com/linvinus/AltYo/blob/master/debian/changelogбагрепорты постим тут
https://github.com/linvinus/AltYo/issuesобсуждаем в этой ветке.
Основные особенности
Версия 0.2
- Независимая программа - не привязана ни к какому рабочему столу
- Это бинарная программа (никаких питонов и жаваскриптов)
- Висит поверх всех окон
- Доступна по горячей клавише
- Поддерживаете заголовки терминала
- Кнопки с заголовками не ограничены шириной экрана, если не умещаются, то переходят на следующую строчку (мой Gtk виджет HVBox)
- Очерёдность терминалов можно менять перетаскивая в нужную позицию мышью
- Анимация не ломает отображение терминала (в tilda при включенной анимации строки съезжают вверх)
- Внешний вид настраивается через стиль Gtk CSS
- Все горячие клавиши перенастраиваются.
- Есть поиск в терминале
- Сохранение сессий (запоминает запущенные команды, не работает в случае если команды были набраны в screen (я не знаю как найти потомка от screen))
- Поддержка многомониторных конфигураций.
- возможность автоматической сортировки закладок по имени хоста, возможность отключена по умолчанию
- возможность быстрого переключения на
первые 20 вкладок любую вкладку (двойное нажатие alt+1 переключится на 11 вкладку, тройное нажатие alt+1 переключится на 21 вкладку, и т.д.)
Начиная с версии 0.3~rc2 (список не полный, улучшений масса)
- Графический диалог настроек
- Все настройки проверяются на корректность значений, если что то не так, программа об этом сообщит
- переписана функция рисования закладок, что позволило делать их прозрачными (для фанатов прозрачности) и вообще менять оформление насколько хватит фантазии
- Режим развернуть на весь экран (есть отдельная горячая клавиша)
- Переключаемое состояние поверх всех окон
- Возможность запускать консольные программы в altyo, параметр --exec
- Возможность запускать команды при старте программы
- Удалена зависимость libgee. Отныне для работы нужна только libvte >= 2.9 и Gtk >= 3.4 (для X11), и ничего более
- Тем кто пользуется zsh советую поставить слегка попатченную библиотеку libvte, иначе при изменении размера окна строки в терминале будут плыть, подробнее https://bbs.archlinux.org/viewtopic.php?pid=1246865
- Программа предупредит если вы попытаетесь закрыть вкладку, в которой запущена важная программа, например wget или ssh,даже если она запущена в фоне, список важных программ настраивается.
- Множество новых опций и улучшений прежних функций, все описывать нет смысла, откройте настройки и всё поймёте.
Но если очень интересно, полный лог тут https://github.com/linvinus/AltYo/blob/debian/0.3_rc2-linvinus1/debian/changelog ,версия 0.3 разрабатывалась с 21го февраля 2013
Начиная с версии 0.4~rc4 (основные изменения относительно 0.3~rc2)
- Новый режим обычного терминала
можно включить опцией --standalone
или открыть новое окно комбинацией <Ctrl><Shift>N
- Подсвечивает закладку когда завершается длительная операция (например компиляция ядра)
- После закрытия последней вкладки теперь есть возможность свернуть терминал или закрыть программу
- Новая возможность переключения между закладками - поиск в заголовках терминалов <Ctrl><Shift>D
- Возможность изменять кодировку для отдельного терминала
- Возможность указывать несколько опций --exec , каждая будет открыта в новой вкладке
- Возможность настроить где открывать новую закладку, в конце списка или справа от активной
- Размер и позиция на экране теперь индивидуальны для каждого монитора
- Автоматическая настройка размера и позиции при переносе окна между мониторами
- Возможность назначить "монитор по умолчанию", при подключении такого монитора программа автоматически переместится на него
- Возможность защитить закладку от случайного закрытия - опция во всплывающем меню закладки
- Возможность восстановить только что закрытую вкладку <Ctrl><Shift>R , или через всплывающее меню терминала (по умолчанию закрытие вкладки откладывается на 10 секунд)
- Возможность установить произвольный заголовок для закладки
- Возможность закрыть закладку средней кнопкой мыши, а двойной клик на пустом месте панели закладок откроет новую закладку
Скриншоты есть на главной странице
https://github.com/linvinus/AltYo и в постах этой темы.
Видео презентации.
версия 0.3
http://youtu.be/IEabsuFreskверсия 0.2
http://youtu.be/9W8m6T7HyVs версия 0.2
http://youtu.be/utxeh-SBTvIЕсли машина слабая, то советую отключить анимацию, так функция показать/скрыть будет работать мгновенно.
Известные проблемы:
Программа падает когда окно скрыто и пользователь меняет настройки overlay-scrollbar.
Настройка расположена в dconf com.canonical.desktop.interface.scrollbar-mode
Это не проблема приложения, создал баг репорт
https://bugs.launchpad.net/ubuntu/+source/overlay-scrollbar/+bug/1071167Обходного решение: не меняйте эту настройку когда приложение скрыто.
Исходный код распространяется под лицензией GPL3, доступен тут
https://github.com/linvinus/AltYoскомпилированные deb пакеты доступны в моём ppa
https://launchpad.net/~linvinus/+archive/altyoО том как подключить написано тут
https://help.ubuntu.ru/manual/ppaили вкратце
sudo add-apt-repository ppa:linvinus/altyo
sudo apt-get update
sudo apt-get install altyo
Инструкция как собрать из исходного кода.
(Для сборки версии 0.3 (апрель 2013го) libgee-dev более не нужна, vala >= 0.16)
$ sudo apt-get install build-essential valac-0.16 valac-0.16-vapi libvte-2.90-dev libgee-dev libgtk-3-dev
$ mkdir -p ~/src/altyo
$ cd ~/src/altyo
$ git clone https://github.com/linvinus/AltYo.git ./
$ make
$ ./altyo
Должно собраться
как собрать deb пакет:
$ sudo apt-get install build-essential valac-0.16 valac-0.16-vapi libvte-2.90-dev libgee-dev libgtk-3-dev git-buildpackage fakeroot
$ mkdir -p ~/src/altyo
$ cd ~/src/altyo
$ git clone https://github.com/linvinus/AltYo.git ./
$ git-buildpackage --git-upstream-tree=branch --git-upstream-branch=master -rfakeroot -sa
команда make source-package соберёт пакет с исходниками который можно собрать при помощи pbuilder если он у вас настроен.
Буду признателен любым полезным замечаниям.
Программа сама создаёт конфиг со всеми необходимыми параметрами, если вдруг что то пошло не так (хотя вряд ли), нужно включить режим отладки, опция debug=true в настройках, запустить программу из другого терминала (например gnome-terminal) и вывод прислать сюда.
Чтобы откатить любую настройку просто удалите её в файле, программа после переконфигурации сама создаст дефолтную настройку.
В программе конфигурируется почти всё. так что, если вдруг что то не понятно, спрашивайте.
Да и последнее "графического" конфигуратора пока нет и возможно не будет, т.к. большого смысла в нём я не вижу, один раз настроил и забыл Вместо окошка откроется закладка с вашим любимым консольным редактором, а когда выйдете из редактора конфигурация программы обновится.
При включенной опции меню "Follow the mouse", AltYo при появлении будет учитывать на каком мониторе курсор мыши.
Из скрытых особенностей, если один экземпляр уже запущен то при повторном запуске откроется окно первого экземпляра.
Это можно использовать если случайно какая то программа перебиндит main_hotkey
Также можно заставить перечитать конфигурацию вызовом altyo -r
И ещё одна особенность, перед открытием закладки с настройками, программа сохраняет настройки в файл. Поэтому, если настройки были отредактированы во внешней программе например gedit'е то они потеряются, если не перечитать конфигурацию через altyo -r
Мне ещё интересно использовали ли вы до этого подобные программы (tilda,guake,yakuake) , если да, то что лучше/хуже, по вашему мнению, по сравнению с AltYo?