Архивы: по дате | по разделам | по авторам

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

АрхивТехнологизмы (архив)
автор : Алексей Федорчук   09.02.2002

О приятном, удобном, дружественном и настоящем интерфейсе.

Пожалуй, наиболее интенсивно развивающееся направление в развитии открытого софта – это интегрированные визуальные (называемые также не совсем точно графическими) среды – 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 нечто в этом духе в нем и появится…


[1] К примеру, если Konqueror из KDE можно считать лучшим файловым менеджером всех времен и народов, то уже Kwrite – далеко не самый совершенный из текстовых редакторов. [обратно к тексту]

[2] Я уж не говорю о том, что интегрированные среды, заимствовавшие многие элементы интерфейса Mac/Windows, рассматриваются часто как идеологически чуждые миру Unix'а. Но это я во внимание не принимаю, ведь основа идеологии постсоветского человека – то, что все эти идеологии ему… до барабана. [обратно к тексту]

[3] Если не ошибаюсь, Виктором Вагнером – http://www.linuxrsp.ru/artic/true_unix_gui.html [обратно к тексту]

[4] Тем, кто помнит первые две версии Windows, не нужно объяснять, что такое уродливый графический интерфейс. Да и в мире X'ов подобные примеры сыщутся без труда. [обратно к тексту]

[5] Однако для того, чтобы заметить отсутствие эстетики – не нужно быть художественным критиком, достаточно обратиться к примечанию 3. [обратно к тексту]

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.