Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Журнал «Компьютерра» №32 от 06 сентября 2005 года - Журнал Компьютерра - Страница 2
Как и положено программе, рассчитанной на эффективность, а не на пресловутую интуитивную понятность, Ion встретил меня своим man’ом - краткой инструкцией по эксплуатации. Из нее стало известно, например, что окон в менеджере нет (по крайней мере, таких, к которым все привыкли). Честно говоря, в нем еще много чего нет. Например, нет кнопки «Пуск» или ее аналога, нет иконок на рабочем столе, нет трея (по крайней мере, по умолчанию), нет панели задач, нет часиков в углу экрана… Ion - это «чистый» window manager, без лишних наворотов.
Главный принцип работы - разделяй, объединяй и властвуй. Экран разбивается на несколько частей, именуемых рамками, или фреймами (frame), в которых и запускаются программы. В одном фрейме можно запустить сколько угодно приложений, но отображаться в каждый момент времени будет только одно «окно», развернутое на весь размер рамки, а от остальных останутся лишь закладки на заголовке, - аналогично поступают Firefox и Opera с отдельными веб-страницами. Естественно, фреймы не могут пересекаться и накладываться друг на друга, зато их размеры меняются согласованно, можно разделить текущий фрейм на два или удалить, склеив с другим, переместить окно из одного в другой и т. д. Все операции доступны с клавиатуры (еще бы!), но и мышка не отправлена на свалку истории - несмотря на отсутствие привычных трех кнопок в углу окна, правый клик вызывает контекстное меню, в котором можно поискать нужную функцию.
Конечно, в Ion’е есть понятие рабочего места (workspace). Юниксоидам не нужно объяснять, что это такое, а вот Windows-пользователи вряд ли знакомы с этим полезным объектом. Грубо говоря, каждый workspace - это просто независимый «стол», на котором размещаются окна. Например, на одном рабочем месте можно поместить браузер и ICQ-клиент и назвать его «Сеть», на другом - заниматься разработкой программ, на третьем - проверять почту, переключаясь между ними в случае необходимости. Для Ion’а обычный workspace - это что-то вроде набора фреймов со своими приложениями, и не более того.
Несмотря на логичность предлагаемого интерфейса, не всем программам нравится жить в его жестких рамках (в прямом и переносном смысле). Если браузер или текстовый процессор LyX, в котором пишутся эти строки, совсем не против подобной философии, то, например, четыре окошка графического редактора Gimp (палитра, выбор цвета, список слоев и само редактируемое изображение), помещенные в один фрейм, смотрятся довольно забавно: чтобы выбрать, например, зеленую кисть заданного размера, нужно три или четыре раза переключаться между табами. Для борьбы с подобными программами в Ion’е предусмотрен специальный тип рабочего места - WFloatWS, в котором присутствуют уже классические «плавающие» окна, поддерживающие, однако, табы (рис. 2).
Есть еще несколько «вкусностей», которые придутся по душе любителям клавиатурных интерфейсов. В первую очередь, встроенная командная строка (query, строка запроса), появляющаяся в низу текущего фрейма по нажатию F3. Конечно, это не полноценный shell, но она поддерживает дополнение с помощью кнопки Tab и вполне подходит для быстрого запуска нужного приложения. Столь же легко можно открыть произвольный man, подключиться к удаленной машине по ssh, открыть или отредактировать файл - причем автодополнение каждый раз будет работать наиболее разумным образом, предлагая выбирать только из подходящих для текущей операции объектов.
Ну а если использование одной лишь командной строки вам наскучило, можно нажать F12 и обнаружить меню, знакомое по другим менеджерам: выход и перезагрузка Ion’а, смена оформления, запуск терминала - привычные пункты здесь есть, а остальные можно добавить самостоятельно. Как именно? Об этом ниже.
Если бы в 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. Однако мне хотелось бы показать, что в мире существуют альтернативные точки зрения даже на такой, казалось бы, устоявшийся программный стереотип, как оконные системы. Порой эти альтернативы оказываются более удобными, чем общепринятые решения, - и кто знает, какими интерфейсами будут пользоваться наши потомки?
- Предыдущая
- 2/28
- Следующая