Оконные менеджеры. Тайловые оконные менеджеры под Windows

Здравствуйте! Прочитав недавно статью в Linux, мне захотелось рассказать всем о менеджере, который был там упомянут - «awesome».
Это тайлинговый windows manager для unix (linux, freebsd, openbsd, netbsd).

Описание

Awesome WM - тайлинговый wm, с возможностями быть и композитным. Это одна из его особенностей, часто пользователям требуется компактность (тайлинговая сторона этого WM), но и иногда можно и поработать в обычном режиме (композитном). Он очень легок, не нагружает процессор, и пространство экрана используется очень размерено и пустых пространств не остается (в тайлинговом режиме).
Настраивается он при помощи конфигурационного файла, на скриптовом языке Lua. Есть поддержка плагинов, которые тоже, в свою очередь, написаны на Lua.

Установка

Установить его очень просто, например на Arch Linux просто напишите
sudo pacman -S awesome vicious
Или на Debian based
sudo apt-get install awesome awesome-extra
Пакет «vicious» содержит в себе базовые плагины, которые Вы в дальнейшем можете использовать.

Далее требуется прописать его загрузки при загрузке X Window System. Это прописывается в файле, находящемся в домашнем каталоге, ".xinitrc".
#!/bin/sh exec awesome
Перезагружаемся и появляется это wm.

Первое знакомство



Вот так выглядит ваша сессия при первом включении. Казалось бы, как в этом работать и что тут делать? На самом деле все просто, когда поймешь ее систему. Все действия с окнами выполняются с помощью хоткеев. По умолчанию они таковы (все это можно прочитать в «man awesome», сам текст взят с gentoo wiki):

super + number переход на другой тэг, где тэг это номер клавиши, точнее его положение (проводя аналогию с другими wm, тэг = вирт. рабочий стол).
super + shift + number перенести текущее окно на другой тэг.
super + j, super+k переход между окнами.
super + shift + j или super + shift + k поменять местами два окна.
super + Space изменение отображения окон. (В awesome очень много видов отображений - тайлинговые: вертикально, горизонтально; композитные - можно мышкой таскать; приложение в фокусе на весь экран и пр.)
super + Enter запустить терминал.
super + r запуск программы.
super+shift+c закрыть окно.
super+shift+r перезапустить awesome.
super+shift+q выйти из awesome.

Несомненно кому-то они не удобны. Но ведь мы можем все изменить! Поэтому переходим к конфигурационному файлу.

Конфигурационный файл

Предупреждение, для редактирования его нужны хотя бы небольшие навыки в программировании или написании скриптов.
Глобальный конфиг файл находится в системе в "/etc/xdg/awesome/rc.lua", но его лучше не изменять, тк если он не правильный, то wm не запустится. Поэтому сделаем свой.
mkdir ~/.config/awesome cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
И будем изменять уже непосредственно его.
Прежде всего хотелось бы изменить некоторые клавиши.
Хоткеи находятся в секции
" - {{{ Key bindings "
Изменять все просто.
modkey - это наша клавиша super (с логотипом windows на клавиатуре).
Например:
awful.key({ modkey, "Shift" }, "q", awesome.quit),
Это строчка говорит, что super + Shift + q заставит awesome закрыться.
Допустим, мы хотим оставить тоже самое, но без shift, тогда будет
awful.key({ modkey, }, "q", awesome.quit), Или например просто по клавише Esc (Это лишь пример!)
awful.key({}, "Esc", awesome.quit), Думаю, логика понятна.
Так, с клавишами разобрались. Теперь стоит настроить глобальные переменные.
Эта секция находится в начале. (Далее мои собственные настройки, которые вы можете, конечно же, изменить)
terminal = "terminal" browser = "chromium-dev" editor = os.getenv("vim") or "vim" editor_cmd = terminal .. " -e " .. editor
Думаю с «внутренностями» мы разобрались, пора браться за внешний вид.

Еще чуть-чуть про настройку

Все так же продолжаем работать в конфигурационном файле.
Сперва, вместо просто цифр хотелось бы переименовать наши тэги. Это находится в секции
"--- {{{ Tags"
Вместо цифр просто напишите имена.
Например у меня:
tags[s] = awful.tag({ "All", "IM", "Work", "Etc", "Media"}, s, layouts)
Вообще про конфигурацию я написать хорошо не сумею, ведь это дело персональное. Лучше всего про это прочитать на awesome wiki . Вообще, дописав конфиг, Вы ощутите новую легкость работы с окнами. Большое количество плюшек можно найти .

Вместо заключения

Хочу отметить, что данный wm идеально подойдет людям, которые часто держат в фокусе несколько окон. Так же он подойдет для слабых машин и легковесных систем, и машин с небольшими экранами (ноутбуки)
Заучив (по началу), а потом по наитию нажимая хоткеи, Вы уже не будете думать над тем, как, куда, что сделать с окном, как его разместить.
Например в awesome в одном тэге можно держать определенные окна. Например у меня в тэге IM находятся Skype и Pidgin.
Но что слова! Скриншоты!


Полноразмерный последний скриншот
Мои обои, по просьбам трудящихся.
А так же видео, демонстрирующее работу WM.

Так же прилагаю архив со своим конфигом + плагины.

Надеюсь, я заинтересовал Вас этим классным (от англ. awesome) WM, и Вы попробуете его в деле! И готов с радостью ответить и помочь в комментариях.

Оригинал: "Ubuntu Hacks / The Linux Desktop"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: август 2010 г.

GNOME и KDE замечательные оконные менеджеры, но они несколько тяжеловаты. Если вы используете старую систему, либо вы просто хотите увеличить скорость работы, вы можете воспользоваться под Ubuntu другими оконными менеджерами, такими как Fluxbox, XFCE или Enlightenment.

Если в Linux есть что-то самое главное, то это — возможность выбора. Если вам не нравится какая-нибудь конкретная программа, есть весьма большая вероятность, что в Linux для нее найдется по меньшей мере хотя бы один альтернативный вариант. Это также справедливо и для всей среды рабочего стола. В состав среды рабочего стола входит большое количество различных программ, таких как оконный менеджер (который обрабатывает прорисовку границ вокруг ваших окон, их перемещение и т. д.), панели, позволяющие вам запускать программы, программы фонового управления и многое другое. Самыми популярными среди таких вариантов среды рабочего стола являются GNOME и KDE. В Ubuntu по умолчанию в качестве среды рабочего стола используется GNOME [Совет # 15 ], но в качестве альтернативы также предлагается вариант Kubuntu [Совет # 16 ], в котором по умолчанию автоматически устанавливается KDE.

Если вам не особенно нравятся GNOME и KDE, у вас все еще остаются другие варианты. В Linux есть громадное количество оконных менеджеров, которые можно использовать вместо таких полностью скомплектованных вариантов рабочего стола, как GNOME или KDE, и все популярные оконные менеджеры доступны для Ubuntu. Есть несколько причин, из-за которых вы можете захотеть попробовать некоторые из этих оконных менеджеров:

  • Обе среды GNOME и KDE для своего запуска требуют значительное количество ресурсов. В большинстве альтернативных оконных менеджеров ресурсов требуется существенно меньше, поэтому они могут оказаться интересными в случае, если вы используете старый компьютер или если вы просто хотите просто улучшить производительность вашего компьютера.
  • В альтернативных оконных менеджерах часто предлагается совершенно иной набор функций и, в некоторых случаях, используется другой подход к тому, как осуществляется управление вашими окнами. К числу таких особенностей относятся возможность группировать окна в виде одного окна, имеющего вкладки (Fluxbox) или возможность задавать массу различных настроек, которые будут радовать глаз, и выполнять тонкую настройку местоположения ваших окон (Enlightenment).

Подсказка

Если вы хотите придерживаться KDE или GNOME, есть несколько простых приемов, с помощью которых вы можете уменьшить использование ресурсов. В KDE запустите программу kpersonalizer (находится в пакете с тем же самым именем) и укажите меньший уровень ресурсов, затрачиваемых в KDE для поддержки оформления. В GNOME используйте конфигурационный редактор [Совет # 15 ] и в параметре /apps/metacity/general/reduced_resources (пониженное использование ресурсов) укажите значение true .

Даже если у вас нет конкретных причин пробовать другие оконные менеджеры, полезно установить некоторые из них и посмотреть, как в них происходит управление окнами. Если они вам не понравятся, вы сможете легко вернуться в ту среду рабочего стола, которую вы предпочитаете.

В данном совете мы опишем несколько других оконных менеджеров и их установку и использование в Ubuntu. Есть сотни оконных менеджеров, о которых можно было бы рассказать, но здесь мы поговорим о трех популярных альтернативных вариантах GNOME и KDE: XFCE, Fluxbox и Enlightenment.

Создаем меню приложений

Первым шагом перед тем, как вы установите новый оконный менеджер, будет установка и обновление программы, которая управляет меню выбора приложений, так что вы сможете запускать приложения без программ запуска приложений, имеющихся в GNOME или KDE. Используйте средство установки пакетов, которым вы предпочитаете пользоваться, и установите пакет, называющийся menu . После того, как программа будет установлена, откройте терминальное окно и обновите текущий список программ этого меню:

$ sudo update-menus

Переходим к вашему новому оконному менеджеру

Мы обсудим, как устанавливать и использовать каждый из оконных менеджеров, но, поскольку вы будете пользоваться одним и тем же способом выбора каждого из них, мы, в первую очередь, опишем его. Каждый из оконных менеджеров, когда вы его установите, интегрируется с используемым в Ubuntu менеджером рабочего стола (по умолчанию - GDM, для Kubuntu — KDM) и добавляется в список доступных сессий.

После того, как вы установите конкретный оконный менеджер, выйдите из текущей среды рабочего стола с тем, чтобы перейти на главный экран входа в систему. Нажмите на кнопку Sessions ("Сессии"), чтобы увидеть список доступных рабочих столов и оконных менеджеров, и выберите оконный менеджер, который вы хотите попробовать. После того как вы войдете в систему, вам будет предоставлена возможность запомнить этот оконный менеджер как используемый постоянно или используемый только в этом сеансе. Если вы захотите вернуться обратно, выйдите из системы, а затем выберите из списка ваш предыдущий оконный менеджер (в Ubuntu - GNOME, в Kubuntu - KDE).

Пробуем XFCE

Если вы интересуетесь другими оконными менеджерами или рабочими столами, вероятно, одним их первых рабочих столов, которые вы попробуете, будет XFCE. XFCE (http://www.xfce.org) существенно более легковесный, так что вы получите множество функциональных возможностей полной среды рабочего стола, таких как панель, иконки рабочего стола и панели задач, но с улучшенной производительностью.

Для того, чтобы установить XFCE, установите пакет xfce4 с помощью менеджера пакетов, которым вы предпочитаете пользоваться. Будет установлена среда рабочего стола и большое количество сопутствующих инструментальных средств. В XFCE есть ряд других не очень существенных плагинов и программ, которые также можно установить. Просто воспользуйтесь в вашем менеджере пакетов функцией поиска с ключевым словом xfce для того, чтобы их все найти.

Как только XFCE будет установлен, выйдите из системы, выберите сессию XFCE, войдите в систему и перед вами предстанет рабочий XFCE, используемый по умолчанию (см. рис. 2-8).

Рис.2-8. Рабочий стол XFCE, используемый в Ubuntu по умолчанию

XFCE представляет собой панель, расположенную в нижней части рабочего стола, откуда вы можете запускать такие обычные инструменты, как терминал, файловый менеджер xffm , используемый в XFCE, веб-браузер и другие приложения. Для того, чтобы запустить приложения, которых нет в панели, щелкните правой кнопкой мыши по рабочему столу для того, чтобы открыть главное меню. Вы можете изменить настройки программы запуска программ, щелкнув для этого правой кнопкой мыши по программе запуска, находящейся в панели. Вы также можете щелкнуть правой кнопкой мыши по другим частям панели и добавить в панель новые элементы, такие как программы запуска, пейджеры и другие программы.

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

В XFCE есть графический конфигурационный инструмент, доступ к которому вы можете получить, нажав на иконку с изображением гаечного ключа, расположенную на панели. С помощью этой программы вы можете конфигурировать различные настройки от выбора фона рабочего рабочего стола и до задания сочетаний горячих клавиш, настроек хранителя экрана и панели задач. Щелкните по иконке User Interface (Пользовательский интерфейс) для того, чтобы открыть менеджер тем, в котором вы можете настроить внешний вид XFCE.

Для того, чтобы выйти из XFCE, щелкните по иконке питания, расположенной на панели, либо щелкните правой кнопкой мыши по рабочему столу и выберите вариант Quit (Выйти). Чтобы получить более подробную информацию о XFCE, посетите официальную страницу по ссылке http://www.xfce.org .

Используем Fluxbox

Пробуем Enlightenment

Другие оконные менеджеры

Есть много других оконных менеджеров, таких как Blackbox, Openbox, WindowMaker, AfterStep, и FVWM, которые вы можете установить под Ubuntu. Для установки любого из этих оконных менеджеров, поищите его имя с помощью менеджера пакетов, которым вы предпочитаете пользоваться, а затем установить соответствующий пакет. Большинство основных оконных менеджеров сами добавляют себя в меню сессий, поэтому вы можете легко выбрать их, когда вы входите в систему.

Оконные менеджеры в Linux Что же такое оконный менеджер или window manager в Linux? Оконный менеджер (или менеджер экрана) - это программа, которая, прежде всего, заботится о том, как будут выглядеть ваши окна. То есть, какой и где будет заголовок, как будут выглядеть кнопки закрытия, минимизации и т.д. Но, кроме этого, менеджер также определяет, как окна можно будет перемещать и какие операции над ними можно будет проводить (закрытие, минимизация, максимизация, максимизация только по вертикали и т.д.). Все, что относится к окнам на экране вашего монитора, вменяется в обязанности менеджера окон. Собственно, поэтому он так и называется. Однако современным программам, которые выполняют функции менеджера экрана в системе, приходится также заниматься фоновой картинкой, подвешивать различные иконки на десктоп и т.д. и т.п.
Менеджер окон занимает второй уровень в иерархии программ графической оболочки XFree86. На первом уровне (самом низком) находится сервер XFree86, а на третьем (самом высоком) - прикладные программы, которые взаимодействуют с сервером XFree86 либо напрямую, либо через менеджер окон при помощи специального набора библиотек, вроде Motif, Lesstif, KDElibs, GTK и т.д. Менеджеры окон в системах, работающих под управлением XFree86, отвечают за управление визуальными компонентами экрана, такими как окна, кнопки, рамки, строки текста.
В Xсах можно работать и без какого-либо менеджера окон. Однако даже на минимальный комфорт в таком случае надеяться не следует. Ваши окна не будут иметь заголовка и границ, а следовательно, их нельзя будет двигать по рабочему столу и изменять размеры. Так что менеджер экрана вам просто необходим для того, чтобы чувствовать себя человеком.
Рассмотрим несколько достойных представителей семейства оконных менеджеров:

IceWM
Начнем обзор менеджеров окон с самых простых и легковесных. Наиболее известным в этой категории является IceWM. Несмотря на малые размеры, IceWM обладает всеми возможностями нормального менеджера окон. Он даже позволяет устанавливать различные темы. IceWM написан на C++ с самого начала, т.е. в нем не используется исходный код ни от какого другого менеджера окон. При его проектировании ставились следующие цели:
- быть удобным, быстрым и простым в использовании;
- работать сразу после установки без сложной настройки;
- использовать мышь как дополнительное устройство ввода;
- сочетать в себе все лучшие особенности других менеджеров.
IceWM полностью совместим с GNOME и частично с KDE, но может использоваться и отдельно.
IceWM имеет все для того, чтобы пользователь мог нормально работать. В самом низу экрана располагается панель, на которой слева расположена кнопка для запуска различных программ, аналогичная кнопке "пуск" в Windows"9x. Сразу после нее находится кнопка, которая показывает список окон. Затем следуют три кнопки для быстрого запуска программ, а потом еще четыре для переключения между виртуальными экранами. Кроме всего этого, вы можете наблюдать на тулбаре часы, индикаторы почтового ящика и загрузки системы. Естественно, что наличие/отсутствие кнопок может конфигурироваться пользователем.

AfterStep (www.afterstep.org)
AfterStep основан на другом менеджере окон - Fvwm, но переработан таким образом, чтобы воспроизводить внешний вид и поведение NextStep. Правда, добавлено множество полезных и интересных возможностей. Начав свое существование под названием Bowman, AfterStep перерос просто эмуляцию NextStep и стал вполне своеобразным менеджером экрана. Экран под управлением этого менеджера окон выглядит следующим образом: сверху строка, которая показывает все работающие приложения и их окна; слева или внизу обычно находится панель для запуска программ и куда помещаются различные индикаторы.
К главным характеристикам AfterStep, которые делают его привлекательным для пользователей, можно отнести следующее:
- стабильность и вдумчивую проработку всех компонентов;
- cовместимость с большинством библиотек и менеджеров экрана (GNOME, KDE, Motif);
- размер основного исполняемого кода очень мал.

Window Maker
Еще один не менее популярный менеджер окон, который позволяет организовать ваш экран при помощи так называемых доков (docks).
Грубо говоря, док в WM (WindowMaker) похож именно на док в море. Только в данном случае море - это весь ваш экран, а док - определенное место, где "прикрепляются" приложения; они не могут перемещаться по рабочему столу. Приложения прикрепляются в виде иконки (поскольку обычно именно так выглядит минимизированное приложение в WM). В WindowMaker"e все приложения имеют ассоциированные с ними иконки. В любое время вы можете спрятать любое из окон под его иконкой. После двойного нажатия на нее окно приложения вновь появится на экране.
Вы можете помещать иконки приложений, которые постоянно используете, в области дока для того, чтобы иметь возможность легко запускать их. Когда приложение, с которым связана иконка, не запущено, на ней появляются три точки, которые означают, что приложение находится в неактивном состоянии. После запуска программы эти три точки исчезают.
Приложение в доке также поддерживает запуск себя при перетаскивании чего-либо на кнопку этого приложения. К примеру, вы можете перетащить файл с рисунком на кнопку - запустится графический редактор и откроет файл с изображением, которое вы перетаскивали.
Сейчас существует много приложений для дока, которые созданы с учетом работы WindowMaker"a. Например, индикаторы нагрузки системы, часы, проигрыватели CD-дисков и MP3-файлов.
В WindowMaker"е приложение имеет связанную с ним иконку, даже если не минимизировано, в отличие от explorer"a Windows. Как и большинство оконных менеджеров, WindowMaker поддерживает систему виртуальных экранов.

Enlightment
"Лучше один раз увидеть, чем сто раз услышать", - это точно об Enlightment. Настраивается практически под любого пользователя. Даже под самого привередливого. Имеет огромное количество всевозможных визуальных эффектов (выпадающих меню, выезжающих из-за пределов экрана окон и т.п.), которые радуют глаз и делают общение с компьютером похожим на то, что мы иногда видим в различных техногенных фильмах.
Наворотам и прибамбасам этого менеджера экрана нет числа. Ваши окна могут при появлении выдвигаться из-за границ экрана или образовываться из точки, постепенно увеличиваясь. Терминал с различными бэкграундами, в том числе и с отображением части бэкграунда экрана, над которым сейчас находится терминал.
Некоторые недолюбливают Enlightment за его слишком уж большую страсть к визуальным эффектам. Да, это в определенной степени скрашивает многие часы, которые человек проводит за компьютером, но есть и те, кто больше ценят удобство и функциональность того окружения, в котором работают.
Вернемся к нашим баранам. Оконные менеджеры сами по себе не могут дать полностью комфортной работы в графической среде. Поэтому практически всегда используется Desktop Environment - окружение рабочего стола или среда рабочего стола. Она возлагает на свои плечи заботу обо всем, что касается комфортной работы пользователя в графической оболочке операционной системы. Различные тулбары, ярлыки для выполнения программ и многое другое. Как и большинство оконных менеджеров, все среды рабочего стола имеют средства для переключения между виртуальными экранами. Для этого на панели существует набор кнопок или специальное приложение - пейджер (никакого отношения к мобильной связи оно не имеет). Современные среды рабочего стола (к примеру, GNOME и KDE) базируются на определенной библиотеке графического интерфейса пользователя и включают в свой дистрибутив разнообразные полезные программы (редакторы, электронные записные книжки, органайзеры, простенькие игры, почтовые клиенты и прочее).
Помимо всем известных Gnome и KDE, существует еще ряд Desktop Environment. Рассмотрим некоторые из них.

XFCE (www.xfce.org)
Легко настраиваемая, не требовательная к ресурсам среда. Правда, запрашивающая для работы библиотеку GTK и от этого частично совместимая с GNOME. То есть вы можете одновременно использовать часть возможностей из GNOME и главную панель от XFCE.
Самое большое отличие этой программы в том, что она позволяет изменять меню своей панели без большой затраты сил. Просто надо выбрать пункт меню, которое вы хотите отредактировать, и нажать правую кнопку мыши. Для добавления пункта в меню надо всего лишь нажать на крайний пункт меню. Такая легкость настройки для Linux не характерна (шутка).

CDE
CDE (Common Desktop Environment) - это наследие от самого UNIX"a. Так как для работы CDE нужна коммерческая библиотека Motif, этот продукт не выпускается под лицензией GNU и его приходится покупать. Его используют на таких коммерческих операционных системах, как SCO Unix, BSDI, AIX.
XFCE - свободно распространяемый потомок CDE. Обе программы имеют одну цель: обеспечить достаточно переносимый интерфейс для пользователя и обеспечить его всем необходимым для комфортной работы.

От переводчика: эта заметка интересна тем, что представляет собой справочник по современным оконным менеджерам, в том числе, новым и мало известным. В принципе, в ней нет ничего, что бы «ниасилил» пользователь с самыми минимальными познаниями в английском, так что перевод её вроде бы и ни к чему. Однако мы знаем, что заметки из блогов имеют обыкновение иногда исчезать, что применительно к данной было бы жалко. Единственный метод борьбы с этим — переразмещение. Но на русскоязычном ресурсе нелепо было бы переразмещать англоязычную статью, поэтому я и решил сделать этот перевод.

Один из лучших способов ускорить работу своего Linux-десктопа — использовать самый лёгкий оконный менеджер. Всем, для кого важна скорость работы техники, приверженцам минимализма, и тем, кто все еще надеется реанимировать свою устаревшую аппаратуру, я представляю 20 самых быстрых и простых оконных менеджеров для Linux.

Window Maker

Window Maker — популярный менеджер окон, разработанный для эмуляции графического интерфейса пользователя NeXT в качестве OpenStep-совместимой среды, характеризуется, как "один из самых полезных и универсальных менеджеров окон из числа доступных". Window Maker имеет репутацию быстрого, эффективного и очень устойчивого. Он очень популярен как Open Source решение для использования и на новых, и на старых машинах. Как и большинство оконных менеджеров, он поддерживает большое количество тем.

Blackbox

— минималистический оконный менеджер для тех, кто ищет быструю и прозрачную среду без излишеств. Ряд функций Blackbox обеспечивается только через другие приложения. Пример — приложение bbkeys для использования "горячих клавиш". Blackbox написан на Си++, и код его полностью оригинален. Он был разработан Брэдли Т. Хьюзом (Bradley T. Hughes) и распространяется по лицензии MIT.

Fluxbox

Fluxbox — оконный менеджер, основанный на Blackbox версии 0.61.1. Он отличается лёгкостью и настраиваемостью, и имеет минимальную поддержку графических пиктограмм. Его пользовательский интерфейс имеет только панель задач и меню, которое вызывается щелчком правой кнопки мыши на рабочем столе. Конфигурация — через текстовые файлы.

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

dwm

dwm — минималистичный и динамичный менеджер окон тайлингового типа. Внешне он сходен с wmii, но внутри намного более прост. Менеджер dwm написан на чистом Си и для упрощения не имеет никаких инструментов настройки, кроме правки исходников. Это не так страшно, как кажется. Однако одна из установок проекта: исходный текст никогда не будет превышать 2000 строк, и опции пользовательской конфигурации должны быть представлены макросами и содержаться в одном заголовочном файле. Как говорит автор проекта, dwm оптимизирован для ноутбуков с высоким разрешением и широкоформатных дисплеев.

FVWM

F Virtual Window Manager (в F ныне не вкладывается никакого официального значения) — витуальный оконный менеджер для системы X. Первоначально происходя от twm, FVWM развился в мощную и хорошо конфигурируемую среду для систем UNIX.

Вот некоторые из его особенностей:

  • Поддержка любого количества виртуальных рабочих столов, каждый из которых может быть разделен на множество страниц.
  • Полная поддержка EWMH, ICCCM-2 и хинтов GNOME.
  • Полная интернационализация, включая мультибайтные наборы символов и двунаправленный текст.
  • Заголовочная панель может быть отключена или размещена на любом краю окна.
  • Анимированные тени окон в любом направлении.
  • Конфигурируемые панели рабочих столов.
  • Есть возможность рисовать мышью формы и связывать их с командами.
  • Поддержка Xinerama для использования нескольких мониторов.
  • Динамически расширяемые пользовательские модули.

JWM

JWM , Joe"s Window Manager — оконный менеджер, написанный Джо Вингбермухле (Joe Wingbermuehle). JWM написан на Си, и для минимизации в нем используется только библиотека Xlib. При компиляции может быть добавлена поддержка следующих опций:
  • иконки в формате PNG и/или XPM;
  • Xinerama;
  • FriBidi;
  • расширение Shape.

wmii

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

Минималистичность философии wmii выражена в том, что для достижения простоты и понятности его размер не превышает 10 000 строк кода (включая все утилиты и библиотеки). Как и сходный с ним dwm, wmii изначально настроен использовать dmenu для запуска программ и поддерживает быстрый доступ к пользовательским скриптам, расположенным в подкаталоге пользовательского каталога.

Openbox

Openbox — свободный оконный менеджер для X Window System, лицензируемой под GNU GPL. Openbox первоначально происходил от Blackbox версии 0.65.0, но был полностью переписан на Си, так что его версия 3.0 не содержит никакого кода Blackbox.

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

WindowLab

WindowLab основан на aewm, наследуя его компактность и лёгкость. Во многих отношениях WindowLab сделан под влиянием пользовательского интерфейса Amiga, но не является её полным клоном. Доступ к верхнему уровню меню осуществляется щелчком правой кнопкой мыши на нём, как в Amiga, и это обеспечивает удобство и простоту использования, поскольку как только мышь входит в область меню, её перемещения ограничены им и в горизонтальном, и в вертикальном направлениях.

Строка меню не управляется приложениями; это &mdach; меню запуска, содержимое которого прописывается в dot-файле домашнего каталога пользователя в виде списков заголовков и соответствующих им команд.

ratpoison

ratpoison — свободный минималистический менеджер окон для оконной системы X, изначально написанный Шоном Беттсом (Shawn Betts). Его пользовательский интерфейс и бо льшая часть функциональных возможностей происходят от терминального мультиплексора GNU Screen. Название связано с тем, что этот оконный менеджер позволяет пользователю управлять окнами, не используя мышь.

Преемник ratpoison — Stumpwm; ratpoison становился всё объёмнее, и Беттс решил повторно воспроизвести его функциональные возможности с помощью Common Lisp.

Sawfish

Sawfish прежде был известен как Sawmill; это название было изменено, поскольку так же именовалась коммерческая программа анализа web-логов. В Sawfish используется Lisp-подобный язык сценариев, что позволяет легко его расширять. Например, в него легко включить клавиатурные последовательности для XMMS.

Sawfish не имеет панели и использовался как оконный менеджер в GNOME, пока в версии 2.2 последнего его не заменили на Metacity.

IceWM

IceWM — оконный менеджер, написанный Марко Масеком (Marko Macek) "с нуля" на Си++. Менеджер распространяется на условиях GNU Lesser General Public License. IceWM предоставляет превосходный look and feel, будучи легким и настраиваемым.

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

wm2

wm2 — минималистический оконный менеджер, написанный Крисом Каннамом (Chris Cannam). Он обеспечивает перемещение, изменение размеров и удаление окон, но не поддерживает пиктограммы. Вместо этого wm2 использует временное скрытие окон с рабочего стола; скрытые окна могут быть восстановлены через меню корневого окна. Этот менеджер окон не предлагает ни интерактивного конфигурирования (некоторые настройки могут быть выполнены путем редактирования конфигурационного файла), ни виртуальных рабочих столов, ни других особенностей современных оконных менеджеров типа конфигурируемых главных меню, инструментальных панелей и т.д.


StumpWM

StumpWM — оконный менеджер для POSIX-совместимых Unix-подобных операционных систем, запускаемый из оконной системы X. Он является преемником ratpoison. StumpWM пытается быть настраиваемым и одновременно визуально минимальным. В нем нет никаких декораций окон, пиктограмм и кнопок. Зато имеются различные "крючки" для прикрепления личных изменений и переменные, которые можно менять.

Waimea

Waimea — легкий менеджер окон для системы X, разработанный в стиле Blackbox. Он заимствует некоторый код из Blackbox, однако не является его форком.

Waimea имеет очень продвинутый движок стилей с такими особенностями, как поддержка стиля Blackbox, стиля pixmap и прозрачных текстур. Текст может рендериться двояко, с использованием и шрифтов ядра X, и шрифтов Xft. Waimea также включает быструю легкую систему меню с поддержкой динамических меню.

xmonad

xmonad — оконный менеджер тайлового типа, написанный на функциональном языке Haskell. Разрабатываемый с марта 2007 года, он, подобно dwm, larswm, StumpWM и другим родственным менеджерам, стремится позволить пользователю продуктивно управлять окнами без использования мыши. xmonad распространяется со многими Unix-подобными операционными системами, включая Archlinux, Debian, Ubuntu, Gentoo, FreeBSD, NetBSD и OpenBSD.

Внимание! Эта статья не содержит руководств по настройке того или иного оконного менеджера. В ней объясняются некоторые общие теоретические и практические аспекты использования оконных менеджеров. Для получения инструкций обратитесь к статье о конкретном оконном менеджере в этой вики или задайте вопрос на форуме

Оконный менеджер - это приложение, которое отвечает за размещение, декорирование окон, взаимодействие с окнами - изменение размеров, максимизация, свёртывание, закрытие. Оконный менеджер взаимодействует с графическим сервером X11, который занимается взаимодействием c видеокартой и устройствами ввода/вывода (клавиатура, мышь и монитор).

Оконный менеджер может работать как вместе с окружением рабочего стола (Gnome , KDE , XFCE), так и отдельно от него. Функционал, предоставляемый оконными менеджерами, может достаточно серьёзно различаться.

Оконный менеджер в окружении рабочего стола

Итак, в состав окружения рабочего стола уже входит оконный менеджер. В случае с Gnome это Metacity, в случае с KDE - kwin, XFCE использует по умолчанию xfwm4. Окружение рабочего стола LXDE использует менеджер окон openbox - в отличие от других DE, использующих оконные менеджеры, написанные специально для них, LXDE включает в свой состав менеджер окон, разрабатываемый независимо от остального окружения.

В составе каждого из этих окружений оконный менеджер, поставляемый «по умолчанию», может быть заменён другим по тем или иным причинам.

Два, пожалуй, самых показательных для Ubuntu примера - замена стандартного менеджера окон Metacity на Compiz для включения различных спецэффектов или на Openbox для снижения потребления ресурсов и обеспечения более точного управления окнами (более эффективное использование горячих клавиш, помещение окон в различные слои (Always on top) и т.д.)

Собственно, не существует никаких препятствий для использования оконного менеджера kwin в рабочем окружении Gnome или наоборот.

В случае, если в составе рабочего окружения заменяется оконный менеджер, обычно достаточно следующих действий:

    Добавление команды на замену оконного менеджера в автозапуск средствами утилит контроля сессий данного окружения (хрестоматийный compiz –replace)

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

При замене оконного менеджера в составе рабочего окружения последнее продолжает выполнять для вас ряд важных функций - контроль сессий, монтирование съёмных носителей, управление буфером обмена и сетью, ассоциацию файлов с приложениями. Вы меняете только и исключительно механизм управления окнами и рабочим столом.

Оконный менеджер без окружения рабочего стола

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

Что до сих пор обеспечивало вам рабочее окружение? Что вам теперь предстоит настроить самостоятельно? Какие задачи решает большинство оконных менеджеров, а какие выполняются с помощью сторонних утилит?

Давайте разберём по порядку.

    Автозапуск и контроль сессий. Если в окружении рабочего стола вы могли добавить приложение в автозапуск через графический интерфейс, то теперь вам, скорее всего, придётся прописывать такие приложения в конфигурационном файле вашего оконного менеджера. Забегая вперёд, скажу, что скорее всего в автозапуск нужно будет добавить трей и/или панель, переключатель раскладки клавиатуры, утилиту для управления сетевыми подключениями, утилиту для монтирования съёмных носителей, утилиту для отрисовки обоев, почтовый клиент и интернет-мессенджер, торрент-клиент.

При добавлении в автозапуск приложений следите за порядком, в котором они запускаются. Например, если вы хотите запустить менеджер сетевых подключений или торрент-клиент, им, скорее всего, потребуется трей, поэтому они должны запускаться после трея, возможно, с некторой задержкой (используйте команду sleep)

    Управление сетевыми подключениями. Окружение рабочего стола предоставляет вам менеджер сетевых подключений, в случае с оконным менеджером вам нужно будет позаботиться об этом самому. Вы можете подключаться к сети до старта графического сервера либо после запуска оконного менеджера и трея запускать nm-applet или wicd-client .

    Буфер обмена. Вы можете заметить, что вставить фрагмент текста из браузера в текстовый редактор теперь можно только тогда, когда «донорское» приложение запущено. Установите и добавьте в автозапуск менеджер буфера обмена, например, parcellite .

    Переключение раскладок клавиатуры. Оно исчезло!

Самое универсальное решение:

Setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:ctrl_shift_toggle,grp_led:scroll"

Её тоже нужно добавить в автозапуск. Для более тонкой настройки переключения раскладок воспользуйтесь утилитами xxkb или xneur

    Возможно, вам нужны панели и/или трей. В состав оконного менеджера может входить панель, как в случае с fluxbox, но вы можете воспользоваться любой другой - нетребовательной к ресурсам tint2 или функциональными gnome-panel или xfce-panel

    Управление питанием. Если вы используете ноутбук, возможно, вам понадобится управлять профилями энергопотребления. Можно использовать gnome-power-manager или xfce-power-manager

    Обои. Большинство менеджеров окон покажут вам вместо обоев чёрный экран. Для того, чтобы менять и показывать обои, нужна отдельная утилита, подходят специальный менеджер обоев nitrogen или просмотрщик изображений feh

    Иконки рабочего стола. Если они вообще вам нужны, то можно воспользоваться файл-менеджером, который умеет их рисовать. Nautilus , pcmanfm или rox-filer подойдут. Nautilus - в меньшей степени - он стремится захватить наиболее полный контроль над рабочим столом и может мешать вашему оконному менеджеру.

    Монтирование съёмных носителей. Можно переложить эту функцию на файловый менеджер либо настроить монтирование с помощью udev

    Внешний вид приложений. Шрифты, иконки, темы рабочего стола, темы курсоров. Теперь их нужно настраивать самостоятельно. Создайте в своей домашней папке скрытые папки.icons и.themes, в первую можно складывать темы иконок и курсоров, во вторую - темы GTK. Внимание! Следите за иерархией папок! Темы будут настраиваться только в случае, если путь к теме выглядит так: ~/.themes/название_темы /gtk-2.0. Некоторые авторы делают паки тем, и в папке «Тема» могут оказаться подпапки «Тема светлая» и «Тема тёмная». Удобный инструмент настройки тем gtk, иконок, шрифтов и тем курсора - lxappearance . Не забудьте, что темам gtk для корректной работы требуются так называемые «движки» тем, которых в свежеустановленной минимальной системе, скорее всего, нет. Их можно установить из репозитариев, посмотреть, какие движки есть в репозитарии можно так: aptitude search gtk-engines

    Выключение компьютера иначе чем через halt/shutdown из консоли. Если для вашего оконного менеджера нет утилиты для выключения, то вам придётся прибегнуть к сторонним диалогам выключения, и при этом отредактировать sudoers только с помощью visudo для разрешения своему пользователю выключения и перезагрузки компьютера без ввода пароля

    Утилита для быстрого запуска приложений посредством ввода команды. Попробуйте для этих целей gmrun

    Композитинг, также известный как «прозрачность и кубик». Поскольку compiz сам является оконным менеджером, совместить его с openbox или fvwm, к сожалению, нельзя. Существуют, однако, композитные менеджеры, занимающиеся не отрисовкой окон, а исключительно спецэффектами - cairocompmgr и связка xcompmgr и transset - оба позволяют добавить несколько простых композитинговых спецэффектов (тени, прозрачность), но не более того.

Горячие клавиши, декорации окон, виртуальные рабочие столы и меню, как правило, предоставляются оконным менеджером и настраиваются в конфигурационном файле последнего.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то