- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Журнал «Компьютерра» №32 от 06 сентября 2005 года - Журнал Компьютерра
Шрифт:
Интервал:
Закладка:
Конечно, в Ion’е есть понятие рабочего места (workspace). Юниксоидам не нужно объяснять, что это такое, а вот Windows-пользователи вряд ли знакомы с этим полезным объектом. Грубо говоря, каждый workspace - это просто независимый «стол», на котором размещаются окна. Например, на одном рабочем месте можно поместить браузер и ICQ-клиент и назвать его «Сеть», на другом - заниматься разработкой программ, на третьем - проверять почту, переключаясь между ними в случае необходимости. Для 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, позволяющий размещать в фиксированных местах экрана окна произвольных программ (в частности, именно через него делается местный аналог трея). Достаточно создать такой «док», поместить в него терминал, а потом организовать его отображение/скрытие и передачу фокуса. Соответствующий код займет буквально десяток строчек, а вы получите в распоряжение все, о чем мечтали.
Открытое будущееБезусловно, Ion не является заменой менеджерам «общего пользования» - по крайней мере, на текущий момент, - и я не думаю, что все читатели статьи побегут ставить Linux только ради того, чтобы перейти на этот диковинный интерфейс или попрактиковаться в программировании на Lua. Однако мне хотелось бы показать, что в мире существуют альтернативные точки зрения даже на такой, казалось бы, устоявшийся программный стереотип, как оконные системы. Порой эти альтернативы оказываются более удобными, чем общепринятые решения, - и кто знает, какими интерфейсами будут пользоваться наши потомки?
Клавиатурно-совместимый софтМенеджер оконКонечно, Ion не одинок в своих необычных взглядах на оконные системы. Помимо него существует еще несколько близких по духу разработок, отличающихся степенью минималистичности, настраиваемости и специфическими функциями (их список можно найти на странице Ion’а).
Mozilla Firefox, в общем-то, нормально управляется с клавиатуры. А после некоторой настройки (в частности, установки параметра accessibility.tabfocus в значение "3" для ускорения доступа к элементам веб-форм) - так и вообще все было бы хорошо, если б не один неприятный баг: в Gtk-версии при включенной неанглийской раскладке перестают работать многие горячие клавиши. Отчасти эта проблема решается установкой расширения keyconfig, с помощью которого можно задействовать не зависящие от раскладки кнопки (например, F1-F12), но более радикального решения вроде бы пока не существует. Также советую обратить внимание на добавочку Hit-a-Hint, позволяющую перейти по нужной ссылке, просто набрав ее номер, - очень удобное и оригинальное решение. Для любителей минимализма подойдет conkeror (не путать с konqueror) - по сути, это полностью переписанный интерфейс Firefox’а, лишенный всех изысков, который делает из браузера что-то вроде текстового редактора Emacs (наверное, я бы стал пользоваться именно им, если бы не указанная проблема с раскладками).
Мультимедиа
Эмулятор терминала
Конечно, любая консоль рассчитана в первую очередь на работу с клавиатурой. Однако отыскать подходящую «модель» было не так-то просто: gnome-terminal и konsole слишком тяжеловесны, xterm не умеет работать с красивыми шрифтами, а большинство других программ этого класса не поддерживают Юникод - «родную» кодировку установленной у меня Fedora Core. По душе пришелся проект rxvt-unicode (software.schmorp.de), лишенный вышеупомянутых пороков, включающий в себя несколько «вкусностей», вроде псевдопрозрачного фона и клиент-серверной модели, и на порядок ускоряющий создание новой консоли. После некоторой настройки - приятнейшая во всех отношениях программа.
Мелкие радостиВ отличие от Gnome или KDE, Ion не предоставляет готовую среду, в которой есть все необходимое для работы. Если без встроенного файлового менеджера или меню со списком установленных программ я вполне могу обойтись, то, например, без индикатора сетевой активности чувствую себя не в своей тарелке. Можно было бы запустить под Ion’ом gnome-panel и не расставаться с привычными элементами интерфейса, но вряд ли такое совмещение разнородных сред является правильным. Я пошел другим путем и установил gkrellm - очень удобный и красивый набор индикаторов, показывающих все, что только можно. С помощью дополнительной lua-настройки он был помещен в док и с тех пор всегда находится перед глазами. Ну а для проверки наличия входящей почты я использую прелестную маленькую утилитку gnubiff. Чего и вам желаю!