On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

Черный ящик, или к вопросу о True Unix GUI

Пожалуй, наиболее интенсивно развивающееся направление в развитии открытого софта - это интегрированные визуальные (называемые также не совсем точно графическими) среды - KDE и GNOME, - и приложения для них. Роль этих сред, особенно KDE, для роста популярности Unix-подобных систем (особенно Linux'а) переоценить трудно. Именно они помогли и помогают недавнему Windows-мигранту преодолеть барьер отчуждения от мира командных строк и текстовых редакторов.

Однако по мере обвыкания в Unix-мире интегрированные среды превращаются в своего рода раздражающий фактор. Этому способствует и изобилие навязываемых для комплекта приложений, далеко не всегда лучших в своем классе  , и сложность и непрозрачность ручных настроек, и не всегда оправданная функционально требовательность к ресурсам. А главное, пожалуй, - излишне громоздкий интерфейс, снижающий не столько даже объективное (то есть аппаратно обусловленное) быстродействие, сколько замедление работы вследствие пресловутого человеческого фактора (по простому это можно назвать - 'глаза разбегаются').

Кроме того, если KDE или GNOME воспринимается как органичный компонент user-ориентированных дистрибутивов Linux, то на фоне строгой простоты BSD-систем они выглядят чужеродными включениями  . И возникает естественное желание вернуться к истокам, то есть к тому, что было удачно названо True Unix GUI  .

Правда, понятие это само по себе неоднозначно и требует некоторого освещения. Действительно, какова основная цель использования GUI'ев любого рода? Бытует мнение, что их главное (и чуть не единственное) предназначение - открыть много-много терминальных окон для работы в командной строке. Что, не смотря на некоторый экстремизм, не лишено резона. Ведь в Unix-мире именно командная среда - наиболее эффективный инструмент для решения 90% пользовательских задач.

Однако остается еще 10%, которые требуют какого-никакого графического режима. Ведь пока еще никто не додумался, как ретушировать фотоизображения в окне терминала. И если в последнем можно строить векторные чертежи или 3D-объекты, то для визуализации результатов графика все равно потребуется. Как и соответствующая программа, которую, очевидно, придется запускать из графической среды. Из чего и следует главная функция GUI - обеспечить запуск программ, управление открытыми приложениями и взаимодействие между ними. Все же остальное может рассматриваться как 'бантики'.

Хотя роль 'бантиков' преуменьшать также не следует. Если текстовую консоль при все желании невозможно изуродовать, то с графическими интерфейсами это - плевое дело  . И потому эстетика GUI - далеко не последнее, что требуется для эффективного использования его функций. А поскольку эстетика для каждого своя  , настраиваемость среды приобретает самоценность. Причем настраиваемость, осуществляемая простыми и понятными средствами.

Что же такое True Unix GUI с изложенных позиций? Пожалуй, традиционно в качестве такового рассматривается FVWM - не случайно именно он обычно оказывается оконным менеджером по умолчанию после установки системы X Window. Однако, на мой взгляд, есть не менее законный претендент на этот титул - оконный менеджер Blackbox.

Это - предельно простая по устройству и очень компактная среда (размер исполняемого файла менее 200 Кбайт, в полтора-два раза меньше также не тяжелых IceWM или WindowMaker). Для своей установки и работы она не требует никаких специальных высокоуровневых библиотек типа Qt или Gtk. Тем не менее, возможностей для пользователя она предоставляет вдоволь. Здесь и (рис. 1):

  • неограниченное количество виртуальных рабочих столов (Workspaces), создаваемых при необходимости легким движением мыши;
  • удобные средства навигации между рабочими столами и окнами открытых приложений; таковыми являются, во-первых, небольшая (и к тому же могущая скрываться автоматически) панель управления (Toolbar), во-вторых - контекстное меню, доступное по щелчку средней клавишей мыши;
  • легко доступное (по щелчку правой клавишей мыши) и элементарно настраиваемое контекстное меню для запуска приложений.
  • возможность минимизации, максимизации и закрытия окон приложений, сворачивания их до строки заголовка; при этом соответствующие управляющие элементы расположены удобно и привычно.

 Рис. 1

Рис. 1. Оконный менеджер Blackbox - общий вид

О возможностях настройки Blackbox следует сказать особо. Элементарное его конфигурирование выполняется непосредственно с рабочего стола. Здесь можно изменить модели фокусировки окон (по щелчку мышью, по перемещению курсора, автовсплытие) и их открытия (каскадное, 'умное', упорядоченное в любом направлении), положение панели управления и некоторые другие параметры (рис. 2, 3).

 Рис. 2

Рис. 2. Настройка панели управления

 Рис. 3

Рис. 3. Определение положения панели управления

Через главное же контекстное меню настраивается и внешний вид Blackbox - с помощью выбора одного из имеющихся в комплекте стилей (рис. 4). В это понятие входят цветовая гамма и характер заливки (сплошная, градиентная) рабочего стола и прочих интерфейсных элементов, шрифт меню, оконных титулов и прочего. Правда, свойства эти - сквозные, приписать индивидуальный стиль отдельному рабочему столу не получается. Как нельзя и использовать фоновые изображения для них.

 Рис. 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 нечто в этом духе в нем и появится.



Литература по Unix.