Журнал Компьютерра -32 от 06 сентября 2005 года - Компьютерра Журнал 619 страница 4.

Шрифт
Фон

Столь же легко можно открыть произвольный man, подключиться к удаленной машине по ssh, открыть или отредактировать файл - причем автодополнение каждый раз будет работать наиболее разумным образом, предлагая выбирать только из подходящих для текущей операции объектов.

Ну а если использование одной лишь командной строки вам наскучило, можно нажать F12 и обнаружить меню, знакомое по другим менеджерам: выход и перезагрузка Ion’а, смена оформления, запуск терминала - привычные пункты здесь есть, а остальные можно добавить самостоятельно. Как именно? Об этом ниже.

Lua и доки

Если бы в Ion’е были только фреймы, о нем, наверное, все равно стоило бы написать - но вряд ли в нем можно было бы работать. Однако это далеко не все возможности, скрывающиеся за неказистым внешним видом и статусом «экспериментального проекта». Какие именно возможности? Да какие хотите! Как и многие другие свободные программы, Ion является не просто оконным менеджером, а эдаким конструктором по сборке оконных менеджеров. По тому же пути идет браузер Firefox, многие текстовые редакторы (Vim, Jed, Emacs), да и сам Linux порой называют «надстройкой над компилятором gcc» (в шутку, конечно). В качестве языка разработки Ion использует

[При этом сам Ion написан на C] - высокоуровневый объектно-ориентированный интерпретируемый язык, с которым я был знаком по его Palm-инкарнации Plua[См. «КТ» #498, «Сага о найденных мегагерцах»].

В простейшем случае Lua используется для базовой настройки буквально всего, что только можно настроить. Скажем, привязка горячих клавиш (keybinding) управляется конфигурационным файлом ion-bindings.lua, представляющим собой просто кусок lua-программы. Если вы хотите изменить стандартную «распальцовку» или добавить новые функции, вам именно сюда. Поначалу кажется, что синтаксис сложнее, чем обычно бывает в файлах настройки, но после нескольких экспериментов и анализа существующей конфигурации его правка превращается в сплошное удовольствие - особенно когда начинаешь понимать, какие возможности здесь открываются[Не стоит редактировать «глобальные» настройки, лежащие в /usr/local/etc/ion (или другом системном каталоге - зависит от установки); гораздо правильнее скопировать нужный файл в ~/.ion2/ и редактировать его там - в противном случае вы рискуете потерять ценные скрипты при переустановке или обновлении Ion’а].

Аналогичным образом, с помощью правки настроечных lua-файлов, можно изменять как поведение, так и внешний вид Ion’а. Скажем, мне пришлось сменить шрифты в выбранной теме оформления, чтобы они поддерживали Юникод и отображали русские буквы в заголовках окон, командных строках и меню[Настройка производится в файле draw.lua, а для запуска Ion’а в режиме unicode-совместимости следует использовать ключ -i18n].

***

Более того: помимо правки существующих элементов, можно создавать свои. Например, можно отредактировать системное меню, вызываемое по F12, а можно добавить свое собственное - и привязать его к какой-нибудь другой кнопке. Или сделать свою командную строку - с нужными вам элементами автодополнения. Или вот, допустим, захотелось вам иметь собственную консоль, по умолчанию не видимую, вызываемую на белый свет с помощью горячей клавиши, не привязанную ни к каким фреймам и не зависящую от текущего workspace. Думаете, придется править низкоуровневый исходный код Ion’а? А вот и нет! Все гораздо проще: в системе есть модуль dock, позволяющий размещать в фиксированных местах экрана окна произвольных программ (в частности, именно через него делается местный аналог трея). Достаточно создать такой «док», поместить в него терминал, а потом организовать его отображение/скрытие и передачу фокуса. Соответствующий код займет буквально десяток строчек, а вы получите в распоряжение все, о чем мечтали.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке