Оконные менеджеры. Обзор оконных менеджеров в линукс

Приветствую! Копаясь в черновиках, я обнаружил старую заготовку для статьи, которую собирался написать несколько месяцев назад. К сожалению жизненные (и не только) обстоятельства не позволили это сделать вовремя. Но сейчас я наконец нашёл время, и сегодня мы поговорим о нескольких оконных менеджерах в популярных графических окружениях для Linux. Я подробно рассмотрю функции оконного менеджера, функционал, напишу о так называемых композитных оконных менеджерах и так далее. Надеюсь будет интересно всем. Начнём.

Оконный менеджер - это программа, которая управляет окнами приложений в системе. А именно: осуществляет позиционирование окон на экране, отвечает за изменение их размера, фокусировку и прочее. При этом оконный менеджер работает поверх существующей оконной системы. В простейшем случае, оконный менеджер просто управляет окнами и взаимодействием с ним оборудования ввода, и не делает с ними ничего другого. При этом нагрузка за отрисовку ложится на центральный процессор (так называемая программная отрисовка ). Некоторые оконные менеджеры, помимо управления окном, могут отрисовывать тени на его гранях, добавлять различные анимации, плавности, полупрозрачности и так далее. В этом случае, оконный менеджер является композитным . Одной из важнейших (но необязательных) функций композитного оконного менеджера является задействование для отрисовки окна возможностей видеокарты, как правило посредством OpenGL . Тем самым увеличивая качество отрисовки и значительно снижая нагрузку на центральный процессор. Функционал композитного менеджера может быть как встроенным в оконный менеджер, так и являться отдельной программой. Часто отрисовку окна через композитный оконный менеджер называют просто - композитингом . Если вы хорошо знакомы с Windows, то вот пример из Windows 7 : когда в ней отключены эффекты Aero , отрисовка ведётся силами центрального процессора. Нагрузка на видеокарту меньше, однако при воспроизведении видео на экране появляются артефакты, известные как тиринг (когда кадры меняются слишком быстро и посередине видно прозрачную мерцающую полосу).

Когда эффекты Aero включены - отрисовка ведётся силами видеокарты. Что становится очевидным, так как появляются анимации появления и сворачивания окна, полупрозрачности и так далее.

Однако, композитинг имеет и обратную сторону. При отрисовке рабочего стола силами видеокарты, частота кадров в секунду синхронизируется с частотой монитора (как правило 60 кадров в секунду, что соответствует стандартным 60 герцовым мониторам), поэтому в играх частота будет несколько ниже, так как будет идти двойная синхронизация кадра. В тяжёлых случаях - . Поэтому часто можно встретить рекомендации отключать графические эффекты при запуске игр (к примеру выключать тот же Aero в Windows 7). Вернёмся непосредственно к Линуксу. В данный момент доминирующей графической подсистемой в Линуксе является Xorg (иксы). И работа оконного менеджера в ней точно такая, какой я описал её выше. При этом функционал композитинга не был изначально в Xorg, и его реализовали значительно позже, потому композитный менеджер работает там как-бы сбоку. В общем случае, получается весьма толстый бутерброд различных слоёв, через который происходит отрисовка картинки.

В большинстве случаев для пользователя это не важно. Но вот в играх это даёт ощутимые ограничения. Сейчас же на смену Xorg идут две графические подсистемы - Wayland и Mir . Первый не привязан к какому-либо дистрибутиву или графической оболочке, в то время как второй разрабатывается для Ubuntu и её графической оболочки Unity , и уже работает в мобильной редакции Ubuntu. О Mir поговорим в отдельной статье. Что же касается Wayland - в нём отсутствуют привычные понятия оконного и композитного менеджера. В нём есть только композитор , который и производит все операции над окнами, без лишних прослоек. Отрисовка приложения при этом ложится на программный инструмент (тулкит), на котором оно написано. Например Qt , или GTK . Это так называемая отрисовка на стороне клиента . В случае же если отрисовка окна идёт непосредственно в Wayland-композиторе, то это называется отрисовкой на стороне сервера . В случае отрисовки на стороне клиента, заголовок окна приложения, его внешний вид и прочее целиком ложится на разработчика приложения. В результате может случиться так называемый "эффект Windows": если в приложение не заложен функционал изменения размера окна, то окно приложения будет всегда фиксированного размера. Пример окна с декорацией заголовка на стороне клиента (обратите внимание на кнопки управления приложением в заголовке окна):

Этот функционал реализован в GNOME. В KDE же используется отрисовка на стороне сервера, в результате все окна будут иметь одинаковый заголовок и легко меняться в размере:

Кстати, если запустить приложение с CSD (Client-Side Decorations) в оконном менеджере, не поддерживающем отрисовку на стороне клиента - приложение получит два заголовка:

CSD кстати говоря, оказался довольно удачным решением. Настолько удачным, что его взяла к себе сама Apple:

Wayland уже работает в автомобильных ОС, в мобильных операционках Tizen и SailfishOS , и много где ещё. Философия Wayland - "Каждый выводимый кадр должен быть идеальным" . И это действительно так. Отрисовка в Wayland по качеству превосходит таковую в Xorg (к примеру в Wayland в принципе невозможен тиринг), плюс ко всему - в Wayland сильно затруднено создание кейлоггеров (перехватчиков клавиатурных нажатий), что положительно сказывается на безопасности. Однако Wayland пока не поддерживается фирменными проприетарными драйверами Nvidia и AMD , что сильно затрудняет его введение по умолчанию в дистрибутивах Linux. К вопросу поддержки его Линуксовыми графическими оболочками мы вернёмся чуть позже. Говорить на эту тему можно очень долго, потому предлагаю перейти непосредственно к обзору оконных менеджеров в популярных графических окружениях в Linux.

Metacity - оконный менеджер ныне покойной графической среды GNOME 2 . Пришёл на замену использовавшимся там Sawfish и Enlightenment . Отличается весьма скромным потреблением ресурсов. Поддерживает простой программный композитинг (отбрасываемые тени, прозрачности, предпросмотр окон). Изначально был написан на GTK+ 2 , позже был переписан на GTK+ 3 , что сделало возможным его использование в GNOME 3.0-3.8. В настоящее время является частью проекта GNOME Flashback , ипользуется в графической среде Cinnamon для запуска на оборудовании, не поддерживающим аппаратное ускорение графики, а также поставляется в качестве опции в Linux Mint MATE и UbuntuMATE .

Mutter - дальнейшее развитие Metacity для GNOME 3 . Mutter является полностью композитным менеджером, для отрисовки 2D задействует высокопроизводительную библиотеку векторной графики Cairo , а для отрисовки 3D - Clutter , который использует для ускорения OpenGL . Работа оболочки GNOME Shell реализована в виде плагина для Mutter, в результате чего задействуются все возможности этого оконного менеджера во всём функционале GNOME 3. Начиная с GNOME 3.10 , работа среды без Mutter невозможна. Mutter также является оконным менджером с наиболее полной и законченной поддержкой Wayland, отрисовка ведётся на стороне клиента (клиентом выступает библиотека GTK+ 3 ). Функциональность Mutter может расширяться с помощью плагинов . Mutter нельзя назвать легковесным оконным менеджером, и он абсолютно не годится для старого и слабого оборудования.

Muffin - форк Mutter от разработчиков графического окружения Cinnamon . Разрабатывается командой разработчиков Linux Mint . Muffin унаследовал многие функции Mutter, для отрисовки также задействует Cairo и Clutter. Однако не имеет поддержки Wayland (разработчики пока не считают его готовым для применения), а также абстрагируется от возможностей GTK+ (если релизы Mutter привязаны к релизам GTK+, то Muffin может собираться с любой версией GTK+, не ниже минимально поддерживаемой). В отличии от Mutter, Muffin почти вдвое меньше потребляет оперативной памяти, а также меньше нагружает видеоподсистему, что делает применение Cinnamon идеальным для бюджетных ноутбуков. Функционал также расширяем за счёт плагинов.

Marco - форк Metacity от разработчиков графического окружения MATE . Использует те же принципы отрисовки окон, программный композитинг и так далее. Может быть заменён на Metacity или Compiz.

Compiz - один из первых полностью композитных оконных менеджеров с большим функционалом и поддержкой расширений. Первоначально, Compiz работал только с 3D аппаратурой поддерживаемой Xgl : большей частью видеокарт NVIDIA и ATI . Но с 22 мая 2006 года Compiz стал работать на стандартном X.org Server используя AIGLX . Кроме видеокарт Intel GMA, AIGLX поддерживает видеокарты AMD (начиная с R300) при использовании открытых драйверов. Знаменит Кубом рабочих столов , и прочими плагинами-украшалками. В паре с декоратором окон Emerald , в своё время, являлся наиболее популярным способом показать графические возможности Linux (очень многие эффекты, создаваемые им, были не доступны в других операционных системах того времени, а некоторые были скопированы именно из Compiz). Compiz может применяться как полностью самостоятельный оконный менеджер, отрисовка полностью аппаратная, посредством OpenGL. Оконные менеджеры Metacity, Marco и Xfwm4 очень часто заменяются на Compiz, в первую очередь - для избавления от тиринга. В настоящее время, официальная разработка Compiz закрыта. Ветка 0.8 поддерживается энтузиастами, а 0.9 - разработчиками Ubuntu, для графической оболочки Unity 7, которая как и GNOME Shell для Mutter, является плагином для Compiz. Также Compiz поставляется как опция в Linux Mint MATE и UbuntuMATE.




Xfwm4 - стандартный оконный менеджер графической среды Xfce . С версии 4.2 обзавёлся программным композитингом. Данный оконный менеджер весьма легковесный, простой и может применяться не только в Xfce, но и, например, в MATE. В настоящее время разработчики портируют его на GTK+ 3, а также реализуют поддержку отрисовки через OpenGL. Может быть заменён на Compiz, Metacity или Marco.

Kwin - один из самых полнофункциональных, стабильных и гибких оконных менеджеров в Linux. Является стандартным для графической среды KDE . Начиная с KDE 4 , стал полностью композитным, поддерживает многие эффекты из Compiz, может задействовать для отрисовки OpenGL 2.0 , 3.1 , OpenGL ES или отрисовку через расширение Xrender , способен блокироваться полноэкранным приложением (например игрой, увеличивая тем самым производительность), имеет широкие возможности настройки эффектов, анимации, а с версии 5 - имеет поддержку Wayland, отрисовки через расширения EGL (вместо стандартного интерфейса GLX ), и многое другое. В KDE 4 может быть без проблем заменён на Compiz. Kwin написан на Qt , и задействует многие возможности этого фреймворка. Но если GNOME практически прибит гвоздями к GTK+ 3, разработчики которого всё время ломают его API с новыми релизами, то в Qt ситуация во много раз лучше, и выпуски KDE не привязаны жёстко к выпускам Qt. В аварийных ситуациях, Kwin показывает потрясающую стабильность - он будет автоматически переключать режимы отрисовки, в случае проблем с видеодрайвером, будет перезапускаться, но не прекратит отрисовку. Также Kwin, при всём своём функционале, весьма легковесен (в сравнении с Mutter и отчасти Muffin), что делает его пригодным к применению на слабых ноутбуках, нетбуках и подобном.




Compton - композитный менеджер, форк Xcompmgr . Не является оконным менеджером, а просто дополняет существующий функционалом композитного. Часто применяется в паре с Openbox, Metacity и Marco. Эффектами не богат, но наиболее популярные, такие как прозрачности, тени, анимации, плавные переходы и, конечно же, отрисовка через OpenGL, реализованы в полной мере. Также поставляется как опция в Linux Mint MATE и UbuntuMATE.

Openbox - популярный суперлегковесный оконный менеджер. Не имеет в себе функционала композитного, даже программно. Является стандартным оконным менеджером в окружениях LXDE и LXQt . Может быть заменён на любой другой, как и использоваться для замены во многих окружениях, например MATE и Xfce.


Разумеется это далеко не все доступный в Linux оконные менеджеры. И в будущем я напишу как создать своё собственное графическое окружение из разных компонентов. Некого монстра Франкенштейна, сшитого из разных кусков:) Если есть пожелания - пишите в комментариях.

Оконные менеджеры

Все оконные менеджеры делятся на собственно оконные менеджеры и уже выросшие из них так называемые интегрированные графические среды. Последние отличаются тем, что, помимо базовых функций управления окнами, предоставляют дополнительные утилиты и приложения, которые написаны специально для этой среды и хорошо интегрируются с ней. Интегрированных графических сред три – KDE, GNOME и XFce, а оконных менеджеров насчитывается не один десяток. Ссылки на сайты проектов большинства из них вы найдете, например, на http://www.xwinman.org/ . Используемая при создании оконного менеджера библиотека является ответственной за то, каким образом X-Window будет отрисовывать меню, кнопки, значки и другие графические элементы. С одной стороны, это неудобно, так как в разных дистрибутивах рабочий стол может выглядеть иначе, и неподготовленный пользователь может запутаться. С другой стороны, каждый может выбрать себе среду по вкусу или ресурсам. Установив простой оконный менеджер, можно работать в самом современном дистрибутиве на устаревшем оборудовании.

Из книги Прикладные свободные программы и системы в школе автора Отставнов Максим

2.12 Оконные менеджеры «BlackBox» и «FluxBox» Рис. 2-9«BlackBox» («BB») - один из самых компактных, «минималистичных» и быстродействующих оконных менеджеров. Он позволяет эффективно организовать работу на «рабочем столе», не «захламляя» его ненужными ссылками и не расходуя экранное

Из книги Свободные программы и системы в школе автора Отставнов Максим

2.12 Оконные менеджеры «BlackBox» и «FluxBox» Рис. 2-9«BlackBox» («BB») – один из самых компактных, «минималистичных» и быстродействующих оконных менеджеров. Он позволяет эффективно организовать работу на «рабочем столе», не «захламляя» его ненужными ссылками и не расходуя экранное

Из книги Музыкальный центр на компьютере автора Леонтьев Виталий Петрович

Download-менеджеры Программа-«качалка» – едва ли не первая дополнительная утилита, которую нужно установить на компьютер для работы с Сетью. Хотя бы потому, что все остальное у нас уже есть: браузер для работы со страничками, почтовая программа – для почты… А вот для работы с

Из книги 200 лучших программ для Linux автора Яремчук Сергей Акимович

Файловые менеджеры Frigate (Фрегат) Сайт: http://www.frigate3.comРазмер: 5 МбСтатус: SharewareЦена: 500 рублейРусскоязычный клон популярного файлового менеджера Total Commander (который, в свою очередь, воспроизводит интерфейс не менее легендарного Norton Commander). По своим возможностям обе программы

Из книги 3ds Max 2008 для дизайна интерьеров автора Семак Рита

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

Композитные оконные менеджеры Мода на трехмерные рабочие столы не обошла и Linux. Более того, пользователи этой системы могли увидеть готовое решение даже раньше выхода Windows Vista. Самое главное заключается в том, что при использовании оконных менеджеров 3D системные

Из книги Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT автора Фролов Александр Вячеславович

Упражнение 4. Оконные и дверные проемы Из данного упражнения вы узнаете, как создать оконные и дверные проемы в помещении (рис. 4.31). Рис. 4.31. Вид коробки помещения с оконными проемами1. Откройте сохраненный ранее файл Коробка помещения.max. Чтобы можно было вставить окна или

Из книги 500 лучших программ для Windows автора Уваров Сергей Сергеевич

18.2. Менеджеры закачки Оцените недостатки браузера IE. Если я рекомендую использовать менеджеры закачки, это означает, что любой из них умеет делать все то, чего не умеет IE. Например, с помощью менеджера закачки вы можете отсортировать принятые файлы по категориям, например

Из книги С компьютером на ты. Самое необходимое автора Егоров А. А.

Оконные сообщения Эта группа включает сообщения, предназначенные для обработкой функцией окна. Практически все сообщения, идентификаторы которых начинаются префиксом WM_, за исключением сообщения WM_COMMAND, относятся к этой группе.Оконные сообщения предназначаются для

Из книги Delphi. Трюки и эффекты автора Чиртик Александр Анатольевич

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

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Менеджеры закачки Раньше файлы загружались исключительно средствами браузера. Сегодня разработчики менеджеров закачки производят качественные продукты, позволяющие решить массу задач, выполнявшихся раньше вручную.InstantGet Производитель Тип ОС Язык Размер,

Из книги Русский справочник по Win32 API автора Сорока Тарас

9.3. Менеджеры закачек Во время работы в Интернете иногда возникает необходимость скачать тот или иной файл. Если файл маленький, то его можно без проблем скачать с помощью браузера: нажали на ссылку и выбрали, куда сохранить. Через некоторое время файл загрузится на

Из книги Священные войны мира FOSS автора Федорчук Алексей Викторович

Приложение 2 Оконные стили В приложении представлены таблицы, описывающие следующие оконные стили: общие (табл. П2.1), дополнительные (табл. П2.2), стили кнопок (табл. П2.3), статических надписей (табл. П2.4), текстовых полей (табл. П2.5), списков (табл. П2.6) и стили раскрывающихся

Из книги автора

Менеджеры полномочий Попробуйте использовать эти инструменты для упрощения управления пользователями, ролями и полномочиями SQL:* Grant Manager от Eadfost на http://www.eadsoft.com/english/products/ grantmanager. Пробная версия этого продукта под Windows доступна в качестве 30-дневной утилиты в виде отдельной

Из книги автора

Оконные процедуры WindowProc Функция WindowProc является определяемой приложением функцией обратного вызова, которая обрабатывает отправленные окну сообщения. LRESULT CALLBACK WindowProc (HWND hwnd , // дескриптор окна UINT uMsg , // идентификатор сообщения WPARAM wParam , // первый параметр сообщения LPARAM lParam

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

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

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

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

MacOS

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

Для ненавистников горячих клавиш есть активные края, разворачивающие окно до определённых размеров при перетягивании к соответствующим границам экрана. Есть даже возможность заменить действия стандартных кнопок «Закрыть», «Свернуть», «Развернуть» на более удобные для вас.

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

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

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

4. Moom

Главная идея Moom - удобное изменение размеров окон через небольшое меню, которое всплывает при наведении на кнопку «Развернуть». Там содержатся избранные шаблоны (их можно заменить по желанию) и сетка, позволяющая настроить размер окна вручную. Для тех, кому больше нравится работа с клавиатуры, предусмотрены горячие клавиши, дублирующие пункты меню.

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

Из продвинутых возможностей приложение может похвастаться поддержкой AppleScript, позволяющей создавать свои собственные действия.

Windows

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

В дополнение к клавиатурным сокращениям в AquaSnap можно настроить шорткаты для мыши и даже заменить действия стандартных кнопок управления окном.

7. MaxTo

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

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

У Mosaico примерно те же возможности, что и у других менеджеров, включая горячие клавиши для изменения окон и активные границы экрана. Ключевые отличия - это функция автоматического распределения пространства между открытыми окнами на основе умного алгоритма, а также возможность сохранять и быстро восстанавливать избранные группы окон в один клик.

9. Divvy

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

В macOS есть замечательная функция Misson Control, отображающая эскизы окон запущенных приложений на всех рабочих столах. Именно её и повторяет BetterDesktopTool.

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

Здравствуйте! Прочитав недавно статью в 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, и Вы попробуете его в деле! И готов с радостью ответить и помочь в комментариях.

Статьи по теме: