Тайлинговый оконный менеджер что это
Window manager (Русский)
Оконный менеджер (WM) — программа, которая управляет отображением окон в оконной системе графического интерфейса пользователя (GUI). Он может являться частью среды рабочего стола или работать отдельно.
Оконные менедежры есть только в Xorg. Эквивалент оконных менеджеров в Wayland называется композиторы, потому что они также работают как композитные менеджеры окон.
Contents
Обзор
Оконные менеджеры работают в роли клиентов оконной системы X, которые управляют внешним видом и поведением прямоугольных фреймов («окон»), где отображаются элементы интерфейса графических программ. Они добавляют фрейму рамку, панель заголовка, возможность изменять его размер и т. д., а также часто предоставляют дополнительную функциональность — например, создают специальные области на экране для «приклеивания» виджетов (dockapps), как Window Maker, или позволяют объединить несколько приложений в одном окне, переключаясь между ними с помощью вкладок, как Fluxbox. Некоторые оконные менеджеры даже включают в свой набор простые утилиты вроде меню запуска программ или графического инструмента для настройки самого менеджера.
Спецификация Extended Window Manager Hints от X Desktop Group создана и используется для того, чтобы позволить разным оконным менеджерам единообразно взаимодействовать с сервером X и другими клиентами.
Некоторые оконные менеджеры разрабатываются в рамках более крупных проектов сред рабочего стола, и, как правило, они теснее интегрируются в среду, создавая более полноценное рабочее окружение, дополненное значками рабочего стола, шрифтами, разнообразными панелями, нескучными обоями и виджетами рабочего стола.
Другие оконные менеджеры предназначены для независимого использования, что даёт пользователю полную свободу выбора других приложений, которые будут использоваться. Это позволяет пользователю создавать более легкую и настраиваемую среду, адаптированную для их собственных нужд. «Дополнения» (значки, панели и т.п.) при необходимости добавляются сторонними приложениями.
Некоторые независимые оконные менеджеры можно использовать для замены стандартного оконного менеджера в среде рабочего стола; аналогично, некоторые DE-ориентированные оконные менеджеры можно использовать независимо.
Перед установкой оконного менеджера необходимо установить и настроить сервер X. Подробную информацию вы сможете получить на странице Xorg.
Сравнение популярных оконных менеджеров вы можете найти на страницах Сравнение тайловых оконных менеджеров и Wikipedia:Comparison of X window managers.
Почему укладку окон нельзя сделать в самом обычном GNOME или KDE?
Не все любят руками раскладывать несколько окон по экрану. И не забудь про слово «dynamic» в названии tm.
как-то давно я уже пробовал какой-то тайлинговый менеджер но получил вместо интрефейса тыкву
Сам угадаешь, в чём проблема?
они есть по той же причине, по которой продаются механические клавиатуры, например.
Кризис среднего возраста или старческий маразм?
Ты укладку окон пробовал делать в гноме? Или как в винде, одно окно на один монитор? В маке еще можно что-то сделать, а в этих де
Потому что мегаудобно
лишенную возможности полноценного управления окнами
Управление это для тебя таскание окошек?
Вообще-то, ты прав и как дополнение для оконного менеджера gnome/kde это обязано иметь право на существование. Отдельно делаются, потому что ничего другого при существовании динамического тайлинга обычно не нужно. И ты таки можешь включить в awesome (как минимум, не щупал других wm) режим плавающих окон.
Потому что очень удобно. И с управлением окнами всё замечательно, если разобраться, что к чему.
Странный вопрос. Потому что все фломастеры разные и не все любят мышевозить и расставлять окошки, вместо того чтобы позволять менеджеру окон делать свою работу.
Алсо. Тайловые wm действительно заслуживают зваться оконными менеджерами, так как _управляют_ окнами, в то время как плавуны просто представлют пользователю удобный (кому как) интерфейс для управления ими.
Управление это для тебя таскание окошек?
Черт, вот это я и спрашиваю! Почему они не вшиты во все wm?! Я хочу настраиваемое управление, но я не хочу потери контроля и вырвиглазия. Неужели это так много?
Я вот если честно, не очень понимаю, зачем возюкать мышкой для управления окнами. Это уже второй вопрос. Это настолько редкая операция. И вот как раз для этой редкой опеции я бы и хотел некоторый автоматизм, но ставить из-за этого тайловый менеджер, я не очень хочу. Может я нищеброд, но у меня моник всего 24″ и я нашел пока не так много программ, которые бы можно было вместить на один экран больше одной. Месенджер, наутилус и пожалуй терминал. Это вроде все. Вот я и хотел бы чтобы они у меня автораскладывались в редкие моменты, когда я их запускаю.
Извини, неправильно понял. Из того, что я использовал (dwm, awesome, xmonad) поддержка флоатинга лучше всего в awesome. Там она изкоробки очень неплохо работает. В xmonad изкоробки можно отдельные окна вынимать из мозаики и ставить обратно. И xmonad и awesome встраиваются в гном и в кеды, смотри вики.
А не по дефолту оно потому-что, это сложнее осилить, и большинство пользователей незнакомы с такой концепцией.
Извиняюсь, криво понял вопрос. В принципе, если хочется каноничного талинга в Gnome/KDE, можно привязать Awesome или Xmonad, они это позволяют.
Хмм. У меня на 15′ (1400×1500) экране. Вполне удобно умещаются по несколько программ.
Мои программы это браузер, IDE и GIMP. С трудом представляю как их уместить на одном экране.
Кстати, а оно без косяков встраивается?
Не пробовал, читал про это здесь, на лоре. gentoo + kde + xmonad
Я вот если честно, не очень понимаю, зачем возюкать мышкой для управления окнами
Связано с обилием консольных программ, не могу понять как без тайлинга ими нормально управлять.
tmux со своими скриптами запуска сейчас не использую, поэтому полная анархия.
Вот я и хотел бы чтобы они у меня автораскладывались в редкие моменты, когда я их запускаю.
В КДЕ масса настроек: геометрия окон, рабочий стол при запуске, over9000.
Это я к тому что если тайлинг по каким-либо причинам не нравится/не нужен, под твои задачи вполне хватит.
Не пробовал, но видел их встроенными не раз и об особых косяках не слышал.
У компиза тоже. Но мне не хватает возможности переключения на последний использовавшийся рабочий стол и нормальной обработки правил для окон. Иногда срабатывает, иногда нет.
Преимущества тайловых менежеров не только в тайлинге. Это ещё и минималистичность, возможность полностью управлять с клавиатуры, возможность тонкой настройки, например, чтобы каждая программа запускалась на определённом рабочем столе и т.д.
чтобы каждая программа запускалась на определённом рабочем столе и т.д.
Потому что гномокеды не всем нужны. Зачем ставить комбайн, если нужен только тайлинг?
В кедах был какое-то время. Но в следующей версии решили, что он слишком глючный, и решили удалить. Может, его возможно написать аддоном к квину (а может и уже написали, я не смотрел).
Погугли ещё pytyle, он глючноват (pytyle2 во всяком случае), но для твоих целей кмк самое оно. Запускается поверх windows manager, можно в любой момент отключить-включить.
Тред не читал, поэтому вангую выше всяческих осомщиков, большинство из которых сидит на дефолтном конфиге, распевающих дифирамбы про удобство клавиатурного управления и что тайлинг это здорово, даже на микроэкранах нетбуков.
Почему есть тайлинговые wm? Потому что в этой нише не хватало кривых наколенных опенсурс поделок. Такие дела.
лишенную возможности полноценного управления окнами
И в чем заключается полноценное управление? Внезапно, тот же awesome позволяет ресайзить и перемещать окна мышкой, хоть я и не понял, зачем это в нем надо.
Кстати, компиз умеет примитивный автотайлинг.
Не знаю про остальные, но в awesome поддержка мультимониторных конфигураций реализована по-человечески, с независимыми виртуальными столами на каждом мониторе. Ну и гибкость, скорость, лаконичность интерфейса.
Попробуй awesome, он рулит.
К тайлам равнодушен, но использую i3, потому что LXDE и XFCE не умеют нормальную поддержку двух мониторов (разное разрешение и независимое переключение рабочих столов).
Открываю почти все окна в максимайзе, поэтому тайлинговые менеджеры считаю бессмысленными. На самом деле, применение, при котором они действительно удобны, весьма ограничено. На ум приходит что-то типа гимпа (считаю это недостатком гимпа, а не фичей тайла) или что-то типа систем мониторинга. Вот в ion3 были скретчпады — революционная мегаполезная вещь. А тайл не нужен, ребят.
Почему нельзя?! Эсли это не кеды, то я виндузятник.
Примерно потому же, почему есть ложка и вилка.
Ложки жи нет. Да и насчет вилки я не уверен.
Я говорю что это удобно и спрашиваю почему этого нет во всех популярных wm
Потому что концепции слишком разные и случайное включение тайлинга вызовет у обычного пользователя приступ паники.
чтобы каждая программа запускалась на определённом рабочем столе и т.д.
devilspie вроде бы
вы просто не достигли нужного уровня просвещения
Кроме тайлинговых менеджеров никакие другие не нужны.
Обычно там всё настраивается и можно работать с плавающими окнами.
Я бы рекомендовал xmonad. Но если боитесь хаскеля, то i3-wm.
Внезапно, позитива тред (комментарий)
с этого места подробнее
Так гимп и в тайлинге ужасен. Всё равно нужно однооконный режим врубать
Навроде того: почитайте истории из разряда «оно само». Сам с подобным на примере отца сталкивался, который то вид значков в файловом менеджере изменит, то хрень какую нибудь установит, то ещё что, а потом бежит жаловаться что компьютер опять против него настроен.
i3 (Русский)
Перевод этой статьи или раздела не отражает оригинальное содержание.
i3 это динамический тайловый оконный менеджер вдохновленный wmii и нацеленный на разработчиков и опытных пользователей.
Клиенты (окна) располагаются внутри контейнеров и организованы в древовидную структуру. Ветки дерева могут быть разделены горизонтально или вертикально, сами контейнеры могут быть сгруппированы в режиме вкладок и в стековом режиме. Окно также может быть плавающим, однако будет располагаться на отдельном слое поверх остальных окон.
Заявленные цели для i3 содержат четкую документацию, надлежащую поддержку нескольких мониторов, древовидную структуру для окон, а также различные режимы, как в vim.
Contents
Установка
Экранный менеджер
xinitrc
Если вы хотите, чтобы i3 вел лог (полезно для отладки), добавьте эту строку в
Если вы используете бинарный драйвер Nvidia
Если у вас есть проблемы с преобразованием клавиш (например ; точки с запятой), используйте xorg-xev или смотрите Extra keyboard keys (Русский).
Использование
Запуск приложений
i3-wm содержит i3-dmenu-desktop, Perl оболочку для dmenu который использует desktop entries для создания списка всех установленных приложений. Кроме того, пакет j4-dmenu-desktop-git AUR может быть использован; это небольшая замена i3-dmenu-desktop, но более быстрая 1.
Назначение клавиш
Смотрите справочную карту i3 и Использование i3 по умолчанию. Смотрите назначение клавиш чтобы добавить новые сочетания/горячие клавиши.
Контейнеры
Эта статья или раздел нуждается в переводе
i3 управляет окнами в виде древовидной структуры, с контейнерами, как со строительными блоками. Эта структура филиалов с горизонтальным или вертикальным разделением. Контейнеры по умолчанию тайловые (tiled), но могут быть установлены как стэковые лэйауты (stacked layouts), таки в плавающем режиме (floating) (например для диалоговых окон). Плавающие окна всегда поверх.
Настройка
Для подробностей смотрите Настройку i3. Данная статья предполагает, что файл настроек i3 расположен в папке
Цветовые схемы
Файл настроек позволяет настраивать цвет оформления окон, но синтаксис непрактичен для создавания или использования. Есть несколько проектов, которые делают это проще и включают в себя различные вложенные пользователями темы.
i3bar
В дополнение к показу информации рабочих областей, i3 bar может выступать в качестве входных данных для i3status или альтернативы, такие как те, которые упомянуты в следующем разделе. Например:
За дополнительной информацией обращайтесь в раздел Configuring i3bar официального руководства пользователя.
Альтернативы i3bar
Некоторые пользователи предпочитают панели, такие как те, которые предусмотрены обычными Средами рабочего стола. Это может быть реализовано в i3, путём запуска приложения панели во время загрузки.
Можно отключить i3bar закомментировав секцию bar < >в
/.config/i3/config или используя:
Таким образом, вы можете показать или скрыть бар когда пожелаете.
i3status
Скопируйте файлы настроек по умолчанию в домашний каталог:
Замены i3status
Оболочки для i3status
Шрифты-иконки в строке состояния
i3bar может быть пропатчен [ссылка недействительна: раздел не найден] для поддержки XBM icon, но вместо этого, вы можете использовать шрифты-иконки.
Добавьте иконки в формат строки в
/.config/i3status/config используя числа Unicode, приведенные в шпаргалке, указанной выше. Метод ввода будет варьироваться между текстовыми редакторами. Например, чтобы вставить значок «heart» (номер unicode f004):
Эмулятор терминала
Вместо запуска выбора терминала, измените эту строку в
Советы и хитрости
Расширенная навигация по окнам
Быстрый переход к открытому окну
Быстро перейти к необходимому окну
Сохранить и восстановить расположение окон
Начиная с версии 4.8, и дальше i3 может сохранить и восстановить рабочее пространство слоёв (лэйаутов). Чтобы это сделать, необходимы следующие пакеты: perl-anyevent-i3 и perl-json-xs из оффициальных репозиториев.
Сохранить текущее расположение окон одного рабочего пространства
Чтобы сохранить текущее расположение окон, выполните следующие действия:
Восстановить расположение окон на рабочем пространстве
Есть два способа восстановить расположение окон на рабочем пространстве: написав сценарий, или отредактировать
/.i3/config для автоматической загрузки макета. В этом разделе только первый случай будет рассматриваться, обратитесь к официальной документации для второго случая.
Для восстановления сохраненного макета в предыдущем разделе, создайте файл с именем load_layout.sh со следующим содержанием:
Например, если сохранённый макет содержит три uxterm окна:
Затем установим файл как исполняемый:
И, наконец, расположение рабочих областей N может быть загружено в рабочие области М, запустив:
/.i3/config и перезапустите i3, сочетание Mod+g запустит этот скрипт.
/.i3/workspace_N.json нужно редактировать вручную.
Контейнер для электронного блокнота
По умолчанию, scratchpads (блокноты) содержат только одно окно. Однако контейнеры также могут быть сделаны блокнотом.
Создайте новый контейнер (например, Mod+Enter ), разделите их ( Mod+v ) и создайте другой контейнер. Сфокусируйтесь на родительском ( Mod+a ), разделите в противоположном направлении ( Mod+h ), и создайте снова.
Фокус на первом контейнере (с акцентом родительского по мере необходимости), сделайте окно плавающим (floating) ( Mod+Shift+Space ), и переместите его в блокнот ( Mod+Shift+- ). Теперь вы можете разделить контейнеры по предпочтению.
Хранитель экрана и управление питанием
Вы можете использовать DPMS на пустом экране или отправлять в режим ожидания/отключать ваш монитор. Добавьте следующие строки в ваш
/.config/i3/config чтобы отправить ваш монитор в режим ожидания после 10 минут простоя.
Кроме того, вы можете использовать xautolock для блокировки экрана после заданного периода времени:
Выключение, перезагрузка, блокировка экрана
Добавьте следующие строки в ваш
Для получения альтернативных блокировщиков экрана, смотрите этот список.
Вкладки или стековый просмотр веб-страниц
Некоторые веб-браузеры намеренно не внедряют вкладки, управление вкладками считается задачей менеджера окон, не задачей браузера.
Для того чтобы i3 управлял вкладками веб-браузера (в этом примере для uzbl), добавьте следующую строку в ваш
Это для стекового просмотра веб-страниц, это означает, что окна будут показаны вертикально. Преимущество над вкладками является то, что названия окон полностью видны, даже если открыто много окон браузера.
Если вы предпочитаете вкладки, с окнами в горизонтальном направлении (‘tabs’), используйте:
Переменные рабочих областей
Так как рабочих областей в i3 определено много, будет полезно присвоить переменные рабочим областям. Например [8] [устаревшая ссылка 2020-08-02] :
Затем замените имена рабочих области в соответствии с их переменной:
Правильное обращение с плавающими диалогами
Многие диалоги должны открываться, по умолчанию, в плавающем режиме (floating), но многие до сих пор открываются в тайловом режиме (tiling). Чтобы изменить это поведение, проверьте WM_WINDOW_ROLE с xorg-xprop и добавьте правильные правила в
/.i3/config используя pcre синтаксис):
Вы также можете использовать как правило титл и названия регулярных выражений:
Скорость Загрузки/Отдачи сети в statusbar
Теперь просто сохраните сценарий в подходящем месте (например
/.config/i3 ) и укажите вашу программу статуса.
Решение проблем
Общее
Эта статья или раздел нуждается в переводе
Кнопки в строке сообщений i3 не работают
Неисправная строка оболочки в тайловом терминале
i3 v4.3 и выше игнорирует размер инкремента подсказки для тайловых окон [10]. This may cause terminals to wrap lines prematurely, amongst other issues. As a workaround, make the offending window floating, before tiling it again.
Курсор мыши остается в режиме ожидания
При запуске приложения или сценария, которое не поддерживает загружаемые уведомления, курсор мыши будет оставаться в режиме занят/часы/и т.п. в течение 60 секунд.
Чтобы отключить эту анимацию в глобальном масштабе, смотрите Темы курсора#Создание ссылок на недостающие курсоры.
Не реагируют сочетания клавиш
Тиринг (разрыв картинки по горизонтали)
i3 не должным образом осуществляет двойную буферизацию следовательно, может появится тиринг или мерцание. Чтобы предотвратить это, установите и настройте compton. [12] [устаревшая ссылка 2020-08-02]
O Tiling-wm в 2-х словах
Немного расскажу о моем опыте использования тайловых менеджеров окон, а также рассмотрим кратко плюсы и минусы, которые я нашёл за 3 месяца использования.
Вкратце
Я использовал bspwm, awesome и i3 из тайловых менеджеров окон. Самым удобным оказался bspwm. Его буквально можно поставить на ПК и он уже настроен.
Опыт перехождения с мышки на клавиатуру и только был болезненный. Во всех трех менеджерах можно использовать мышь, однако делать этого незачем, ибо с мышью прекрасно справляются KDE, Gnome, XFCE, Cinnamon и многие другие DE.
Плюсы и минусы:
+ Гибконастраиваемый
+ Легковесный
+ Вся конфигурация в одном файле (хотя, этот плюс, конечно же субъективный)
+ Правила расположения окон можно настроить очень гибко
+ Очень хорошая документация
— Оригинальный i3 не такой уж и гибкий, как его форк i3-gaps
— Изначально поставляется просто как пустой экран с dmenu (пакет из suckless-tools)
bspwm
+ Конфигурация может быть написана на любом скриптовом языке. По сути конфигурация — просто набор последовательных правил. Сам же bspwm может быть настроен с помощью bspc
+ Bspc содержит мануал с краткими выкладками и примерами
+ Отступы между окнами присутствуют по умолчанию в отличии от i3
+ Настройка горячих клавиш производится с помощью отдельной программы sxhkd. Все горячие клавиши могут быть перенесены на другой WM
— Нет нормальной документации (только мануал)
— Нужно докачивать программы по типу rofi, dmenu, alacritty (или любого другого терминала) и так далее, т.к. без них bspwm вообще ничего не показывает
— Может чуть больше нагружать систему, чем i3 из-за дополнительных утилит
awesome
+ Хорошо задокументирован
+ Вся конфигурация на языке Lua
+ Очень гибкий
+ Все утилиты нужные для работы идут в комплекте. Не нужно ничего докачивать
+ Нормально обращается с мышью
+ Отступы между окнами присутствуют (привет, i3)
— Обязательное знание Lua
— Немного больше нагружает систему, чем bspwm
Личное мнение
Мне лично по душе bspwm. Он лёгкий в конфигурации, над ним не нужно много работать, всё уже готово.