Разделы:

Главная

О проекте

Загрузки

Документация:

Linux

BSD

Другие Unix

Программинг

HTML, XML...

Сервера

"Окна Закрой!"

MANы

 


Виктор Вислобоков

Менеджер окон Qvwm

Предисловие

Вообще-то в последнее время всё больше и больше пользователей предпочитает работать с интегрированными средами типа GNOME или KDE, не обращая внимание на менеджеры окон, которые существуют сами по себе. По большому счёту, они, скорее всего, правы. Несмотря на тяжесть и неповоротливость интегрированных сред, мы всё-равно в конечном итоге никуда не денемся, потому что удобство работы в таких средах намного выше, а современные мощности компьютерной техники позволяют вполне сносно работать даже с весьма тяжелыми программами. Учитывая, что быстродействие компьютеров с каждым годом значительно растёт, я думаю, что менеджеры окон, которые не могут работать с интегрированными средами будут интересны только тем, у кого старый компьютер или тем, кто привык выжимать из своего компьютера всё до последней капли и не любит расточительства ресурсов компьютера впустую.

Таким образом, я надеюсь, что эта обзорная статья найдет своего читателя и будет кому-либо полезна. Вполне возможно, что она даже вдохновит кого-либо дописать интеграцию Qvwm с GNOME или KDE, чтобы и в этих средах продолжать пользоваться возможностями Qvwm. Кроме того, Qvwm изначально задумывался авторами как некое подобие рабочего стола в MS Windows, чего собственно они с успехом достигли. Так что Qvwm может также быть инетересен и тем, кто недавно пришёл в UNIX или Linux из Windows.

Особенности Qvwm

Несмотря на то, что активная разработка Qvwm была закончена в 2001 году, этот менеджер окон по прежнему может быть весьма актуальным. Он предоставляет практически все возможности, которые сейчас есть у современных менеджеров окон и даже кое в чём превосходит некоторые из них. Вот краткий обзор возможнсотей Qvwm:

Малый размер занимаемой памяти и высокое быстродействие

Qvwm был написан "с нуля" на языке C++. Я не смотрел исходный код, но то обстоятельство, что всё бегает довольно шустро и кроме того, что написанный в 2001 код прекрасно компилируются и современными компиляторами C++, даёт все основания полагать, что исходный код написан добротно. Кстати писали японцы и это тоже кое о чём говорит - это ребята старательные. Быстрота загрузки, перезапуска, работы меню видны невооружённым взглядом. Немаловажным может являться и то обстоятельство, что Qvwm может работать не только под Linux, но и под другими UNIX системами.

Нормальная локализация

Вот ещё и не мечтал никто в 2001 году об уникодной русской локали. Однако, когда я указал в настройках Qvwm локаль ru_RU.UTF-8, ничего более делать не пришлось - и шрифты русские подставились корректно и там где меню были по-русски тоже всё хорошо, и даже дату и день недели показывает правильно на панели задач.

Наличие гибкой системы настроек

Обычно у Qvwm один файл с настройками, хотя никто не мешает выделить секции в отельные файлы и потом через директиву Include загрузить их в основной. Стиль настроек очень напомнинает IceWM: обычный текстовый файл, в котором в каждой строке сперва идет название параметра, затем знак равенства и значение. Так что всё вполне понятно, никаких заумных XML файлов, как например у metacity, где без долгого и нудного копания не разберешься. Между тем, та система настроек, которая имеется в наличии, позволяет управлять практически всем, чем нужно. Как уже отмечалось, Qvwm был задуман как некое подобие рабочего стола Windows, поэтому и настройки были ориентированы именно на возможности Windows и поэтому в Qvwm нельзя создавать навороченных тем с десятью кнопками на окно.

Управление из других программ с помощью специального файла

При сборке Qvwm можно включить специальную возможность управления Qvwm из других программ. Если эта возможность включена, то при запуске Qvwm создает специальный файл, который является именованным каналом (pipe), с помощью которого можно управлять Qvwm. Управление осуществляет предельно просто - нужно просто записать в специальный файл одну (или несколько) из команд, которые понимает Qvwm. Запись производится как в обычный файл, т.е. сделать это можно как из программы, написанной на C, так и из какого-либо сценария или командного интерпретатора shell.

Наличие панели задач

Как и в Windows системах, Qvwm имеет панель задач. Внешний вид также очень характерный. Настраивается практически всё - цвета иконки, размеры, надписи. Вот картиночка:



Конечно, в стандартной поставке, внешний вид будет несколько оличаться. То что вы видите - результат некоторых моих усилий. Особенно хочу обратить внимание на  значки в правой части панели задач. Собственно каждый из этих значков - это окно отдельного приложения X Window System, которое внедрено (swallow) в панель задач. Именно таким изящным способом реализуется механизм апплетов. Там два значка - один это окно программы Xload, которая показывает загрузку системы, а второе - это окно моей собственной программки, написанной с использованием библиотеки Gtk. Эта программка позволяет управлять устройством CDROM. Если значок с красным крестиком - то компакт-диск не вставлен. В этом состоянии можно вставить компак-диск и щелчком мышки по значку смнонтировать его. При этом красный крестик исчезает, если диск смонтирован успешно. Далее по щелчку мышки выполняется команда eject, которая производит размонтирование и выталкивание диска. после чего на значке появляется крестик. Удобно? С легкостью вы сами можете написать или использовать готовые программы, которые реализуют нужную вам функциональность.

Наличие иконок на рабочем столе

Возможность, которой больше вы не найдете не у одного менеджера окон. Авторы почему-то считают, что не царское это дело. Вы можете расположить на рабочем столе столько значков, сколько вам захочется. При этом вы можете к каждому значку привязать запуск приложения. Используя специальный формат файлов .ani, можно размещать и значки с анимацией. Т.е. вполне реально получить на вашем рабочем столе значок, который будет изменять свой вшений вид. Кроме того, можно разместить на рабочем столе анимационный рисунок, который не будет значком и щёлкнув на который, вы не сможете запустить приложение, а также не сможете перетаскивать его как другие значки, словом как бы обычный рисунок, но при этом с возможностью анимации. Вот картиночка:



Наличие виртуальных страниц рабочего стола

Вообще говоря термин "рабочий стол" я считаю несколько неудачным. Современные менеджеры окон и Qvwm обеспечивают наличие нескольких страниц, как бы виртуальных экранов (или рабочих столов), а также наличие слоёв, что придает некоторую трехмерность. Поэтому я бы заменил термин "рабочий стол" (desktop) на "рабочее пространство" (workspace).

Словом, вы можете задать произволюную матрицу N на M виртуальных рабочих столов и перемещаться по этому рабочему пространству либо используя команды Qvwm такие как QVWM_LEFT_PAGING, QVWM_RIGHT_PAGING, QVWM_UP_PAGING, QVWM_DOWN_PAGING, либо с помошью пэйджера - специального окна, которое можно включить по вашему желанию и которое как раз и будет содержать матрицу виртуальных рабочих столов в уменьшенном виде. При щелчке по одной из ячеек матрицы, вы переместитесь на нужный вам рабочий стол. Размер окна пэйджера, а также его положение и способность быть поверх всех окон - настраиваются. Вот картиночка:



Горячие клавиши

Даже GNOME я могу попрекнуть в том, что в нем нет возможности назначить произвольную клавишу для выполнения произвольной команды. А вот Qvwm такую возможность имеет. При этом вы можете назначить горячей клавише как выполнение внутренней команды Qvwm, так и выполнение любой внешней программы. Разумеется участвуют такие клавиши как CTRL и ALT.

Прочие возможности

Что можно сказать ещё. Обрамление окна имеет стандарьный для Windows вид. Конечно, вы можете поменять цвета и подсказки, но вы не можете изменить рисунки на кнопках обрамления окна, или количество этих кнопок. Однако, меню, которое вызывается при щелчке на левую кнопку в заголовке она, вы можете обставить по своему вкусу. Вот как это выглядит у меня:



Понятное дело, что в стандартной поставке этого нет и вам предстоит обустраиваться самому. Однако, в конце статьи я даю свои настройки и вы можете начать плясать от них.

Система меню также довольно традиционна. Всё как в Windows не исключая и возможности пристроить боковую картику в меню, чего опять-таки до сих пор нет в GNOME. Настраивая меню, можно задать клавиши быстрого доступа, а также настроить анимацию и разные временные характеристики, связанные с появлением меню и их залипаниями.



Ещё одна "совместимость" с Windows заключается в наличии встроенного диалога при завершении работы Qvwm. Опять-таки вы можете настроить все сообщения, иконку и т.д. Характерно, что при активации этого диалога, реализована даже такая особенность Windows как затемненение остальной части рабочего стола. К сожалению не могу показать картику, так как в этом режиме GIMP у меня не работает.

Заключение

В заключении хочу заметить, что никто не мешает использовать Qvwm совместно с GNOME. Однако, некоторые вещи будут работать откровенно криво. Впрочем, если вам они не нужны, то можно легко вызывать приложения GNOME как обычные программы и спокойно работать с ними, без панели, десктопа Naulilus и некоторых других излишеств.

Qvwm - это полноценный, гибкий и красивый менеджер окон. Попробуйте и надеюсь он вам понравится!

Что ещё осталось? Ах да. Настройки. В архивчике qvwm.tar.gz, который весит 250K, вы найдете все файлы, которые я использую для настройки Qvwm. Хочу заметить, что локаль у меня ru_RU.UTF-8 и те, у кого KOI8-R должны перекодировать текстовый файл и в настроке сменить параметр LocaleName. Ещё хочу заметить, что в каталоге icons файлы, который начинаются на win_* имеют сомнительную лицензионную чистоту, поскольку являются по внешнему виду передранными из Windows 98.


Партнёры и спонсоры проекта:

Все материалы сайта распространяются по лицензии GNU/GPL
© ProUNIX 2003-2009, UnixLib 2005-2009, SoftLib 2006-2009.