КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 715516 томов
Объем библиотеки - 1419 Гб.
Всего авторов - 275286
Пользователей - 125254

Новое на форуме

Новое в блогах

Впечатления

Garry99 про Мальцев: Повелитель пространства. Том 1 (СИ) (Попаданцы)

Супер мега рояль вначале все портит.

Рейтинг: 0 ( 0 за, 0 против).
Lena Stol про Иванов: Сын леса (СИ) (Фэнтези: прочее)

"Читала" с пятого на десятое, много пропускала.

Рейтинг: 0 ( 0 за, 0 против).
iv4f3dorov про Максимов: Император Владимир (СИ) (Современная проза)

Афтырь мудак, креатив говно.

Рейтинг: 0 ( 0 за, 0 против).
Каркун про Салтыков-Щедрин: Господа Головлевы (Классическая проза)

Прекраснейший текст! Не текст, а горький мёд. Лучшее, из того, что написал Михаил Евграфович. Литературный язык - чистое наслаждение. Жемчужина отечественной словесности. А прочесть эту книгу, нужно уже поживши. Будучи никак не моложе тридцати.
Школьникам эту книгу не "прожить". Не прочувствовать, как красива родная речь в этом романе.

Рейтинг: +4 ( 4 за, 0 против).

Журнал «Компьютерра» №32 от 06 сентября 2005 года [Журнал «Компьютерра»] (fb2) читать постранично, страница - 3


 [Настройки текста]  [Cбросить фильтры]

необходимости. Для Ion’а обычный workspace - это что-то вроде набора фреймов со своими приложениями, и не более того.

Несмотря на логичность предлагаемого интерфейса, не всем программам нравится жить в его жестких рамках (в прямом и переносном смысле). Если браузер или текстовый процессор LyX, в котором пишутся эти строки, совсем не против подобной философии, то, например, четыре окошка графического редактора Gimp (палитра, выбор цвета, список слоев и само редактируемое изображение), помещенные в один фрейм, смотрятся довольно забавно: чтобы выбрать, например, зеленую кисть заданного размера, нужно три или четыре раза переключаться между табами. Для борьбы с подобными программами в Ion’е предусмотрен специальный тип рабочего места - WFloatWS, в котором присутствуют уже классические «плавающие» окна, поддерживающие, однако, табы (рис. 2).


***

Есть еще несколько «вкусностей», которые придутся по душе любителям клавиатурных интерфейсов. В первую очередь, встроенная командная строка (query, строка запроса), появляющаяся в низу текущего фрейма по нажатию F3. Конечно, это не полноценный shell, но она поддерживает дополнение с помощью кнопки Tab и вполне подходит для быстрого запуска нужного приложения. Столь же легко можно открыть произвольный 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, позволяющий размещать в фиксированных местах экрана окна произвольных программ (в частности, именно через него делается местный аналог трея). Достаточно создать такой «док», поместить в него терминал, а потом организовать его отображение/скрытие и передачу фокуса. Соответствующий код