div.main {margin-left: 20pt; margin-right: 20pt}
Черный ящик, или к вопросу о True Unix GUI Автор: Алексей Федорчук,
alv@newmail.ru Опубликовано:
09.02.2002 Оригинал: http://www.softerra.ru/review/technologies/15830/
Пожалуй, наиболее интенсивно развивающееся
направление в развитии открытого софта – это интегрированные визуальные
(называемые также не совсем точно графическими) среды – KDE и GNOME, – и
приложения для них. Роль этих сред, особенно KDE, для роста популярности
Unix-подобных систем (особенно Linux'а) переоценить трудно. Именно они помогли и
помогают недавнему Windows-мигранту преодолеть барьер отчуждения от мира
командных строк и текстовых редакторов.
Однако по мере обвыкания в Unix-мире
интегрированные среды превращаются в своего рода раздражающий фактор. Этому
способствует и изобилие навязываемых для комплекта приложений, далеко не всегда
лучших в своем классе [1], и
сложность и непрозрачность ручных настроек, и не всегда оправданная
функционально требовательность к ресурсам. А главное, пожалуй, – излишне
громоздкий интерфейс, снижающий не столько даже объективное (то есть аппаратно
обусловленное) быстродействие, сколько замедление работы вследствие пресловутого
человеческого фактора (по простому это можно назвать – «глаза разбегаются»).
Кроме того, если KDE или GNOME воспринимается
как органичный компонент user-ориентированных дистрибутивов Linux, то на фоне
строгой простоты BSD-систем они выглядят чужеродными включениями [2]. И
возникает естественное желание вернуться к истокам, то есть к тому, что было
удачно названо True Unix GUI [3].
Правда, понятие это само по себе неоднозначно и
требует некоторого освещения. Действительно, какова основная цель использования
GUI'ев любого рода? Бытует мнение, что их главное (и чуть не единственное)
предназначение – открыть много-много терминальных окон для работы в командной
строке. Что, не смотря на некоторый экстремизм, не лишено резона. Ведь в
Unix-мире именно командная среда – наиболее эффективный инструмент для решения
90% пользовательских задач.
Однако остается еще 10%, которые требуют
какого-никакого графического режима. Ведь пока еще никто не додумался, как
ретушировать фотоизображения в окне терминала. И если в последнем можно строить
векторные чертежи или 3D-объекты, то для визуализации результатов графика все
равно потребуется. Как и соответствующая программа, которую, очевидно, придется
запускать из графической среды. Из чего и следует главная функция GUI –
обеспечить запуск программ, управление открытыми приложениями и взаимодействие
между ними. Все же остальное может рассматриваться как «бантики».
Хотя роль «бантиков» преуменьшать также не
следует. Если текстовую консоль при все желании невозможно изуродовать, то с
графическими интерфейсами это – плевое дело [4]. И
потому эстетика GUI – далеко не последнее, что требуется для эффективного
использования его функций. А поскольку эстетика для каждого своя [5],
настраиваемость среды приобретает самоценность. Причем настраиваемость,
осуществляемая простыми и понятными средствами.
Что же такое True Unix GUI с изложенных позиций?
Пожалуй, традиционно в качестве такового рассматривается FVWM – не случайно
именно он обычно оказывается оконным менеджером по умолчанию после установки
системы X Window. Однако, на мой взгляд, есть не менее законный претендент на
этот титул – оконный менеджер Blackbox.
Это – предельно простая по устройству и очень
компактная среда (размер исполняемого файла менее 200 Кбайт, в полтора-два раза
меньше также не тяжелых IceWM или WindowMaker). Для своей установки и работы она
не требует никаких специальных высокоуровневых библиотек типа Qt или Gtk. Тем не
менее, возможностей для пользователя она предоставляет вдоволь. Здесь и (рис.
1):
неограниченное количество виртуальных рабочих столов (Workspaces),
создаваемых при необходимости легким движением мыши;
удобные средства навигации между рабочими столами и окнами открытых
приложений; таковыми являются, во-первых, небольшая (и к тому же могущая
скрываться автоматически) панель управления (Toolbar), во-вторых – контекстное
меню, доступное по щелчку средней клавишей мыши;
легко доступное (по щелчку правой клавишей мыши) и элементарно
настраиваемое контекстное меню для запуска приложений.
возможность минимизации, максимизации и закрытия окон приложений,
сворачивания их до строки заголовка; при этом соответствующие управляющие
элементы расположены удобно и привычно.
Рис. 1. Оконный менеджер Blackbox – общий вид
О возможностях настройки Blackbox следует
сказать особо. Элементарное его конфигурирование выполняется непосредственно с
рабочего стола. Здесь можно изменить модели фокусировки окон (по щелчку мышью,
по перемещению курсора, автовсплытие) и их открытия (каскадное, «умное»,
упорядоченное в любом направлении), положение панели управления и некоторые
другие параметры (рис. 2, 3).
Рис. 2. Настройка панели управления
Рис. 3. Определение положения панели управления
Через главное же контекстное меню настраивается
и внешний вид Blackbox – с помощью выбора одного из имеющихся в комплекте стилей
(рис. 4). В это понятие входят цветовая гамма и характер заливки (сплошная,
градиентная) рабочего стола и прочих интерфейсных элементов, шрифт меню, оконных
титулов и прочего. Правда, свойства эти – сквозные, приписать индивидуальный
стиль отдельному рабочему столу не получается. Как нельзя и использовать фоновые
изображения для них.
Рис. 4. Выбор стилей из главного контекстного меню
Более тонкие настройки выполняются традиционным
способом – правкой конфигурационных файлов. Главным из них является
~/.blackboxrc, который при первом же запуске Blackbox автоматически образуется в
домашнем каталоге пользователя. Именно в нем прописаны модели фокусировки и
открытия окон, положение панели управления, количество и имена рабочих столов.
Кроме того, в ~/.blackboxrc указываются пути к
файлу, определяющему состав главного меню и к стилевому файлу, ответственному за
внешний вид. По умолчанию это /usr/X11R6/share/Blackbox/menu и
/usr/X11R6/share/Blackbox/styles/имя_стиля, соответственно. Редактированию
пользователем они, естественно, не поддаются. Однако ничто не мешает скопировать
целиком /usr/X11R6/share/Blackbox/ в свой пользовательский каталог cp -R /usr/X11R6/share/Blackbox/ ~/.Blackbox/
и развлекаться с ним в свое удовольствие. В
частности, переопределить состав главного меню можно просто в текстовом
редакторе. Для этого достаточно внести в него, после строки [begin] (Blackbox
0.61.x), требуемые приложения в следующем формате: [exec] (rxvt) {rxvt}
Можно организовать и субменю любой степени
вложенности: [submenu] (Graphics)
[exec] (XV) {xv}
[exec] (The GIMP) {gimp}
[exec] (Image Magick) {display}
[end]
Ничуть не сложнее и переопределить стили
внешнего вида – взяв за основу любой подходящий или создав свой собственный с
нуля по образу и подобию имеющихся. Каковые, к слову сказать, сделаны очень
строго и с большим вкусом – я, например, заменил в используемых мной стилях
только шрифты – на более подходящие моему зрению (см. рис. 1-3).
Ну и, конечно, нужно не забыть изменить пути к
соответствующим файлам в ~/.blackboxrc. После чего вопрос с настройками
Blackbox'а можно считать законченным.
Не знаю, удалось ли мне убедить читателя в
несравненных достоинствах Blackbox'а. Однако думается, что таковые
(компактность, оптимальное соотношение между возможностями настройки и их
простотой, удобство использования и исключительная элегантность) делают его
достойным звания истинно Unix'ового десктопа. Единственно, чего в нем не хватает
по большому счету – это какого-нибудь минитерминала типа minicli в KDE,
командной строки в панели IceWM или пункта Run в меню WindowMaker'а. Однако
текущая версия Blackbox – 0.6x.x, кто знает, может быть, к версии 1.0 нечто в
этом духе в нем и появится…
|