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

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

MacOS

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

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

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

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

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

4. Moom

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

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

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

Windows

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

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

7. MaxTo

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

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

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

9. Divvy

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

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

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

GUI в Linux состоит из двух основных частей: X Window System и

собственно оконного менеджера. X Window System (конкретно его

бесплатная реализация пакет XFree86, именуемый в народе иксами) -

сервер, а оконный менеджер - клиент, получаем стандартную модель

"клиент-сервер". Такая модель представляет большие возможности, но

зачастую на пользовательских машинах X Window и оконный менеджер

устанавливаются вместе.

Система X Window осуществляет связь с железом (видеокарта, монитор,

клавиатура, мышь) и предоставляет простейшие графические возможности

(цвета, рисование графических примитивов, вывод текста, и т.д.).

XFree86 может быть запущена на всех Unix и Unix-like системах таких как:

Linux, всё семейство BSD, Sun Solaris x86, MacOs X так же поддерживаются

OS/2 и Cygwin; сервер работает одинаково на любой платфоре.

KDE основана на библиотеке Qt от Trolltech, а Gnome на Gtk+. Библиотека

является ответственной за то, в частности, каким образом X Window будет

отрисовывать меню, кнопки, иконки и другие графические элементы.

Менеджер окон отвечает за расположение и вид самих окон и рабочего

стола, чаще всего включает в себя систему контроля за пользовательскими

сеансами, набор прикладных программ, утилит и тд.

Если Xfree86 - это стандарт, то оконных менеджеров существует огромное

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

DocApp"ы - что-то вроде апплейтов, с помощью которых на экран выносятся

полезная информация: температура процессора, его загрузка, сколько

свободно памяти/диского_пространства, состояние соединения с сетью,

состояние почтового ящика, часы, календарь и многое-многое, перечислять

всё нет смысла. Из подобных программ "всё в одном" Gkrellm, она

заслуживает отдельной статьи.

    KDE и GNOME

Поставляются во всех более или менее популярных дистрибутивах и по

умолчанию устанавливаются оба. Большинство считают их основными, а

некоторые люди и единственными оконными менеджерами. По заявлению

разработчиков KDE - этот оконный менеджер работает на 65%

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

что KDE действительно самый популярный wm, но цифры явно завышены.

Но почему их два...KDE project, созданный в 1996 году, основывался на

библиотеках Qt от норвежской компании Trolltech, которая предоставляла

их в то время под лицензией BSD, а не GPL. Поэтому в 1997 году появился

проект Gnome, целью которого была разработка графической среды,

удовлетворяющей лицензии GPL. Потом Trolltech сменила лицензию QT на GPL

(более подходящую для Open Source-проектов), но Gnome уже

развивался.

KDE имеет интуитивно понятный win-подобный интерфейс, что делает его

привлекательным для пользователей, пришедших из Windows. Gnome только

приближается к этим параметрам. Оба они имеют рабочий стол с иконками,

подобие кнопки пуск, несчисляймое множество тем, огромное количество

утилит и продвинутые программы-конфигураторы, пожалуй на этом всё, что я

могу сказать о них хорошего.

KDE нетолько самый популярный, но и самый тормознутый (без

преувилечения), даже на мощных машинах он грузится около 12-15 секунд и

это не лечиться... Gnome не такой тормознутый: его загрузка идет около

8-10 секунд, но, например, загрузка BlackBox или iceWM занимает меньше

секунды...

Эти проекты развиваются благодаря огромному количеству программистов,

новые версии периодически выходят и хочется их использовать сразу, а не

ждать появления в каком либо дистрибутиве... Я к тому, что обновить по

обычному модему и KDE и Gnome очень проблематично, например, для

обновления KDE до версии 3.1 нужно выкачать саму библиотеку Qt версии

3.1 (около 10 Мб), потом кучу исходников KDE (до нескольких сотен Мб.).

У Gnome дела обстоят чуть лучше. Возможно между KDE и Gnome вы уже

тянитесь ко второму, так как везде он чуть-чуть превосходит, но не

спешите...

    Enlightement

Последняя стабильная версия 0.16 выпущенаа ещё в 1999, а над

долгожданной версией 0.17 ведёться "разработка", думаю, можно

констатировать смерть этого проекта. Довольно тормознутый оконный

менеджер, с кучей наворотов, большинство из которыхнеоправданныы и

бесполезны. Поддерживает темы, сглаживание TrueType шрифтов, X11R6

менеджер сессий, виртуальные рабочие столы, docApp"ы, и спец эффекты:

появляющиеся из далека подсказки, анимация и тд. Поддерживаемые

платформы: Linux, BSD, Solaris, HP, Irix, AIX. Под этим проектом

написано некоторое количествособственныхх библиотек, которые используют

в работе другие wm. Имеет большое количество встроенных тем и

интегрированную неплохую программу конфигурации.

    XPde

Не проект, а скорее прикол, задачей которогоявляетсяя повторить

интерфейс WindowsXP, но со спецификой Linux и ничего более.Пишется всё

это дело на Kylix, из-за чего достаточно тормознутый и имеет

относительно большой размер(около 6 Mb),

возможно, это его и погубит. Сами разработчики говорят, что XPde не

претендует на роль оконного менеджера, по его мнению, их только два: KDE

и Gnome, а написан для пользователей WindowsXP дляупрощенияя миграции на

Вызывает опасение у разработчиков и пользователей сама

корпорация Microsoft, которая вполне возможно заметит XPde и обратится в

суд, они это любят...

    FVWM

Имеет простой и очень информативный сайт, особенно заслуживает внимание

подробнейший FAQ. Расшифровывается как Free, Famous, Fast, Fantastic,

Flexible, F!@#$%, Final, Funky, Funny Virtual Window Manager.

Разработкаидетт полным ходом.

Вот это то что нужно: скорость загрузки минимальная (меньше секунды)

простой даже можно сказать примитивный интерфейс, но очень гибкий. Имеет

простой и понятный конфигурационный файл, изменяя который вы можете

изменить всё, ну или практически всё ;) Для эффективной

и удобной работы без тонкой настройки не обойтись, а это отнимает

большое количество времени, что и отпугивает обычных пользователей,

предпочитающих всё и сразу (идеология Microsoft).

Его характеризует хорошая поддержка шрифтов, включая сглаживание,

применение к тексту теней (хорошо смотрится со светлым текстом),

поддержка нескольких виртуальных рабочих столов и docApp"ов, поддержка

модулей написанных на Perl и Tcl, например, существует модуль

помещающий подобие кнопки "Пуск" на рабочий стол.

    XFCE

Базируется на библиотеке GTK+. Разработчики стремились к тому, что бы

сделать графическую среду, как можно более дружелюбной к пользователю,

конфигурация системы осуществляется набором утилит, а не правкой

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

есть программы конфигураторы, но в сам пакет они не входят, например

BlackBox, а в XFce весь системный софт встроен). Как говорят сами

программисты: "XFce - среда, созданная для user"ов, имеющая очень

простую настройку".

В этот своеобразный тулкит входит: оконный

менеджер, XFTree - файловый менеджер, часы и календарь, модуль

поддержки Gnome, утилиты для конфигурирования мыши и звука, XFGlob -

мощный инструмент поиска файлов, программа представляющая собой панель в

нижней части экрана и масса shell скриптов для этой панели (xfterm,

xftrash, xfprint, xfhelp, xfmountdev, CDE2Xfcepal и др.)

Из особенностей отмечу, что XFce переведён на множество языков, в том

числе и на русский. Поддерживает: технологию "Drag and drop",

пользовательские сеансы, от 2 до 10 виртуальных рабочих столов, темы

(встроены 3 темы), сглаживание шрифтов и тд.

Хорошее решение для людей, которые хотят быстрый wm с простым и

доступным интерфейсом.

    ICEWM

Появился относительно недавно, но без приувеличения входит во все

дистрибутивы: большие и маленькие, знаменитые и совсем не известные...

Выглядит как Win"95: кнопка "Пуск", панель со встраивающими аплейтами

не такие, из 40-50 я не нашёл не одной, чтобы радовала глаз. С одной

стороны, мне до ужаса НЕ удобно на нём работать, с другой стороны, я

знаю к учу народа, которые просто души в нём не чают.

Из объектиных преимуществ отмечу очень развитый конфигуратор iceprefs.

    WINDOWMAKER

Официальный оконный менеджер

NeXTSTEP, хотя и с некоторыми отличиями. Поддержка и совместимость с

GNUstep, ICCCM, Motif, OPEN LOOK, KDE и GNOME. Поддерживается русский

язык, в комплекте также утилита WMSetfont для смены кодировки без

перезапуска wm. Отличная утилита WMPrefs для конфигурации.

Пожалуй основная идея интерфейса NeXTSTEP - цепочки иконок

заменяющие "традиционные" иконки-значки на десктопе. Отличие: иконка

помимо традиционной функции - именования приложения графическим символом

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

Не требователен к ресурсам: отъедает от 1,5 до 2 Мб памяти. Window

Maker - функциональный и приятный на вид оконный менеджер, с

прекрасными возможностями настройки внешнего вида (но без излишеств), и

главное, превосходно выполняющий основную функцию требующуюся от оконных

менеджеров - комфортное для пользователя управление окнами приложений на

экране монитора.

    BLACKBOX И ЕГО СЕМЕЙСТВО

blackbox 0.65.0-final. Поддерживаемые платформы: Linux, BSD, OS/2,

Cygwin, MacOs X, Sun Solaris, Irix, HPUX. Написан на C++, тарболл с

исходниками bb занимает 275 кб!!! Под его семейством понимаются оконные

менеджеры, использующие куски кода bb, но по сути, мало чем отличаются

от оригинала.

Bb качественно переведён на множество языков, в том числе и на

русский, поддерживает docApp"ы, антиальясинг, темы, виртуальные рабочие

столы (их количество устанавливается пользователем в первую неделю и в

дальнейшем не меняется), быстрые клавиши (bbkeys) и тд.

В нём всё сделано для его быстродействия, если нет иконок - это не

значит, что программисты не додумались или не могут их сделать, просто

они НЕ НУЖНЫ и от них отказались преднамеренно. Этот оконный менеджер не

пытается повторить какие либо ОС, как большинство, а идёт своей дорогой,

в нём нет кнопки пуск, нет иконок на рабочем столе, лишь очень маленькая

панелька с название виртуального рабочего стола, часиками и названиями

окон, меню вызывается третьей кнопкой мыши на свободной части рабочего

стола. Для эффективной, удобной и быстрой работы нужно помучатся с

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

кнопки пуск кажутся каким-то извращением.

Это самый маленький, самый быстрый и

самый красивый wm. Темы состоят из стилей, обоев и звуков (встречается

редко), только в стандартный комплект входит около 15 тем, а архивы

freashmeat просто ломятся от их обилия. Темы от bb подходят для всего

его семейства и наоборот. Каждый стиль представляет собой очень

маленький текстовой файлик, в котором описывается что каким

цветом/градацией окрашивается, какой шрифт и обои используются.

    WAIMEA - КЛОН BB

Всё что сказано про bb применимо и к нему. При сборке возникли

небольшие проблемы, оказалось waimea использует в своей работе

библиотеку imlib2 (от проекта Enlightement) из за чего появилась такая

фишка как прозрачность меню и обрамлений окошек (хорошо видно на

скриншоте waimea_1.png) полупрозрачны, на этом различия с bb

закончились.

    FLUXBOX - ЕЩЁ ОДИН КЛОН BB

Всё что здесь описано я

перепробовал, но остановился я на fluxbox"е. Тот же bb, но разработка

над ним окончилась: ничего нового, революционного не появиться, а

fluxbox самый перспективный проект из bb подобных.

На сайте вы можете

найти: flkeys - позволяет разбросать по клаве hotkeys(очень удобно);

flconf - простая программа конфигурации, правит только настройки

fluxbox"а; fbdesk - появилась недавно (сделана скорее для упрощения

миграции на этот wm) помещает иконки на рабочий стол.

Из особенностей

отмечу наличие закладок: окна могут группироваться (группирует

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

посредством закладок (очень удобно).

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

что 90% всех задач можно решить с помощью консоли, но если консоль

"испортить" уже нельзя, то графические среды можно и ещё как. Судить о

эстетике, юзабильности только по скринсшотам нельзя, так что вперёд!

    http://xfree86.org.ru

    http://kde-look.org - темы, иконки, обои для kde

    http://freshmeat.net/dockapp - куча docapp"ов

    http://bensinclair.com/dockapp - ещё docapp"ы

    http://dockapps.org/ - новый специализированный ресурс

    http://themes.org - темы для всего и вся

    http://themes.freshmeat.net - каноническая коллекция тем для ВСЕХ

    оконных менеджеров

    http://themedepot.org - коллекция темок для всех wm

Вне зависимости от того, какая рабочая среда установлена на вашем компьютере, в ней наверняка есть какие-то особенности, «фишки», из-за которых вы предпочли именно данную систему. Возможно, вас привлекло богатство программного обеспечения Windows, а может быть — сетевые возможности Linux или интуитивность OS X. Каждая из них хороша по-своему и каждая имеет особенности, отсутствующие у других.

Сегодня речь пойдет об отличительной черте Unix-совместимых систем — . Этот термин означает специфический стиль работы в рамках GUI, при котором все пространство экрана занято непересекающимися окнами открытых программ.

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

Примерно также ведут себя тайловые оконные менеджеры , только вместо фреймов web-страницы в этих нарезанных кусочках экрана (тайлах) живут программы. Если, например, вы захотите соорудить на экране подобие «коммандера», можно открыть две папки и дать менеджеру окон команду: «применить схему — два окна на экране, разделены вертикальной границей».

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

А теперь давайте вернемся к системе, которая сейчас имеется на большинстве компьютеров читателей — Microsoft Windows .

От тайлового менеджера в ней окончательно отказались еще в версии 2.0. Реализованное ныне управление окнами становится лучше с каждой версией. В Windows 7 появилось несколько новых возможностей — теперь можно быстро развернуть окно только вертикали или расположить его ровно на половине экрана, справа или слева. Если вам часто приходится пользоваться одновременно двумя программами, это очень удобно, больше нет нужды прибегать к контекстному меню панели задач.

Однако это еще не максимум того, что можно «выжать» из оконного менеджера Windows. Правда, ничего больше разработчики в него пока не заложили. Давайте посмотрим, что можно найти на просторах Всемирной паутины, и попробуем использовать найденное.


Бесплатно:

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

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

Управление осуществляется исключительно горячими клавишами и аргументами командной строки при запуске. Можно в любой момент перевести текущее окно в обычный режим и обратно, сменить размеры и размещение окон, выйти из тайлового режима (при этом расположение окон сохраняется), поменять количество окон в группах — и все это после небольшой практики делается моментально, несравнимо быстрее по сравнению с попытками сделать примерно то же стандартными средствами.

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

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

Бесплатно:

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

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

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

Программа примечательна еще одной возможностью — очень гибко настраиваемыми схемами раскладки окон. Вы можете отредактировать имеющуюся, создать свою и, что особенно интересно, использовать «плагины» — программы, реагирующие на события GridMove . В поставке уже есть несколько таких утилит, они умеют запоминать положение окна, восстанавливать его обратно, разворачивать окно только по горизонтали и т.д. В схеме можно указать не только «левую половину экрана», но и «справа внизу на 33%+10 пикселей по ширине с отступом 20 пикселей от края экрана и развернуть по вертикали на две трети экрана».

По умолчанию у меня включена схема, которая разбрасывает окна в соответствии с положением цифр на нампаде . Например, «Win+9» — окно в верхнюю правую четверть экрана, а «Win+5» — окно по центру экрана, размером 2/3 высоты и ширины от текущего разрешения дисплея.

Для меня GridMove стал фаворитом за простоту — после первого дня использования пальцы сами стали нажимать нужные клавиши. Раскладка перетаскиванием за область заголовка — это вообще функция, которую бы мне хотелось увидеть как штатное обновление Windows. Времени на привыкание вообще не требуется, а вот отвыкнуть уже практически нереально.

Бесплатно:

Для меня это — ближайший конкурент GridMove , которому для полного счастья не хватало только удобного перетаскивания за заголовок.

Масштабирование горячими клавишами у WinSplit даже удобнее, чем у GridMove — настройки закрепляют за одним хоткеем несколько разных положений, которые можно перебирать, последовательно нажимая комбинацию клавиш. Например, несколько нажатий «Ctrl+Alt+NumPad1» последовательно развернут окно в нижнем правом углу (половина высоты десктопа) на треть, половину и две трети ширины экрана. Сочетание «Ctrl+Alt+F» включает режим Fusion , когда окно прилипает к одной из сторон экрана, а ширину/высоту, то есть положение «не прилипшего» края, можно тут же отрегулировать курсорными кнопками.

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

Управление окнами с помощью мыши здесь называется Drag’n’Go и реализовано почти так же удобно, как в GridMove . Единственное отличие — переход в тайловый режим при перетаскивании окна выбирается не областью, за которую вы «ухватились», а сочетанием клавиш-модификаторов. По умолчанию это Ctrl+Alt, но можно назначить свои. Я сначала поставил Win, а после и вовсе отключил модификаторы. Все равно окна у меня почти никогда не перекрываются, так что любое перетаскивание окна можно считать попыткой расположить его в тайлах.

Единственный минус, который я смог найти, — программа при установке забирает под себя много популярных сочетаний клавиш. Впрочем, их можно переназначить, в остальном управление с клавиатуры — лучшее среди всех рассмотренных. Неплохо было бы также добавить область окна для перетаскивания, как в GridMove — и тогда WinSplit был бы практически идеальным инструментом.

Приводить скриншоты этих двух программ бессмысленно, в этом плане они похожи на DropBox — вы не видите их, они просто работают, и делают это хорошо.

Shareware:

Эта программа уже является «настоящим» тайловым менеджером , который не просто располагает окна, но занимает ими по возможности весь экран. На приведенном ниже скриншоте (пардон за низкое разрешение) — один из вариантов раскладки окон, получившихся при включении режима QuickArrange . Если сейчас, например, растянуть окно Total Commander (на скриншоте справа внизу), то остальные окна соответствующим образ масштабируются, чтобы не нарушилась целостность «мозаики». Попытка перетянуть одно окно на другое приведет к тому, что окна обменяются местами.

Например, окно браузера, перетянутое на Word , займет левую половину экрана, а текстовый редактор масштабируется и переместится в верхний правый угол дисплея. Такое поведение будет только у окон, открытых на момент команды тайлового менеджера.

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

Впрочем, первое впечатление не было настолько хорошим, чтобы пользоваться программой постоянно и, тем более, покупать ее. После запуска пару раз возникали проблемы с искажением панелей в офисных программах, а настройки довольно бедны — настройка горячих клавиш ограничивает выбором... нет, не самих клавиш, а только модификаторов Ctrl-Alt либо Ctrl-Shift.

Для платной программы, на мой взгляд, WindowSizer пока сыровата и слишком бедна возможностями.

Shareware:

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

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

Бесплатно:

По сути, Bug.n является набором скриптов для программы . При запуске от пользователя скрывается панель задач, а сами окна (по крайней мере, те, у которых были стандартные декораторы), лишаются заголовков и располагаются в тайлы. Взамен панели задач предлагается собственный простенький тулбар.

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

Итого

За рамками статьи остались другие интересные аддоны к оконному менеджеру Windows, такие как WindowTabs , складывающий любые окна в стеки с закладками (как страницы в Chrome), разнообразные утилиты, добавляющие элементы в заголовки окон, реализующие функции RollUp , свертывание в трей, прикрепление к десктопу и «поверх всех окон» и т.п.

Что же касается предмета рассмотрения, то мои однозначные фавориты — GridMove , который я использую сейчас, и WinSplit , завороживший меня реализацией горячих клавиш, удобнейшей из всех рассмотренных. Именно с одной из этих программ я рекомендую вам познакомиться поближе.

Но, не одним Windows жив человек, поэтому предлагаю на примере классических тайловых менеджеров под Unix.

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

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

Один из лучших способов ускорить работу своего 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.