- Тайлинговые оконные менеджеры в Linux
- Что такое оконный менеджер?
- Тайлинговые оконные менеджеры
- Популярные тайлинговые оконные менеджеры
- Почему я не использую тайлинговые оконные менеджеры
- The 25 Best Tiling Window Manager for your Linux
- 01. bspwm
- 02. i3wm
- 03. dwm
- 04. Openbox
- 05. AwesomeWM
- 06. HerbstluftWM
- 07. xmonad
- 08. Sway
- 09. Qtile
- 10. JWM
- 11. Ratpoison
- 12. PekWM
- 13. wtfwm
- 14. EXWM
- 15. 2bwm
- 16. Fluxbox
- 17. Bluetile
- 18. IceWM
- 19. wmii
- 20. Spectrwm
- 21. flwm
- 22. Way cooler
- 23. WMderland
- 24. PaperWM
- 25. Xlambda
- Bonus
- If you are interested in watching videos about some of the aforementioned WMs, I recommend these videos below. Remembering that they are in Portuguese, but the commands are universal.
Тайлинговые оконные менеджеры в Linux
Обычные пользователи привыкли к тому, что взаимодействие с системой происходит посредством клавиатуры и мыши. Но среди сообщества Linux есть те, кто считает использование мыши чрезмерным и замедляющим пользователя. Потому они всячески призывают работать только с клавиатуры, а в качестве оболочки для взаимодействия использовать тайлинговые оконные менеджеры. Вещь эта интересная, конечно, но не для всех. Ниже расскажу, что такое тайлинг, какие оконные менеджеры популярны и почему я не хочу их использовать.
Что такое оконный менеджер?
Оконные менеджеры представляют собой программу, которая отвечает за отрисовку, положение и поведение окон в системе. Именно оконный менеджер показывает вам окна, позволяют их сворачивать/разворачивать, открывать/закрывать. Каждая среда рабочего стола, про которые мы говорили ранее, имеет свой оконный менеджер.
Например, GNOME с третьей версии имеет оконный менеджер Mutter (до 3 версии оконным менеджером был Metacity), среда KDE предлагает пользователю менеджер окон kwin, XFCE основан на Xfwm4.
При этом большинство популярных сред рабочего стола потребляют определенную часть системных ресурсов, что не всегда подходит пользователям и они, либо выбирают легковесные среды (например, Lxqt или LXDE), либо используют оконные менеджеры без рабочей среды.
Тайлинговые оконные менеджеры
Суть тайлинговых оконных менеджеров состоит в том, что они разбивают рабочее пространство монитора на прямоугольные непересекающиеся области, именуемые фреймами или тайлами (от англ. frame — рамка или tile — плитка). Каждое запускаемое приложение занимает один такой тайл (фрейм), при этом чаще всего у окна отсутствует привычное оформление (заголовок, полоса прокрутки, кнопки для сворачивания/разворачивания и закрытия и пр.).
Пространство, которое занимает приложение, запущенное через тайлинговый менеджер, меньше пространства среды рабочего стола. Навигация между открытыми приложениями осуществляется при помощи клавиатуры, мышь используется редко. Пользователь сам определяет как будут открываться окна с приложениями — на каком экране (если их несколько), на каком участке рабочего пространства и как оно будет себя вести после открытия.
Популярные тайлинговые оконные менеджеры
Многообразие Linux добралось и сюда, потому количество тайлинговых оконных менеджеров огромно. Самыми популярными являются следующие:
Опять-таки, практически каждый популярный дистрибутив имеет сборку с одним или несколькими тайлинговыми оконными менеджерами. Например, такие сборки имеют Manjaro, Fedora. Мы не будем останавливаться на различиях и особенностях каждого менеджера, так как тогда объем информации будет огромен. Если тематика тайлинга вас заинтересует, то каким-то отдельным менеджерам я посвящу ряд статей.
Почему я не использую тайлинговые оконные менеджеры
Главная причина — необходимость конфигурации и тонкой настройки. После установки системы с тайлинговым оконным менеджером вы получаете просто черный экран, без привычных панелей, системного трея, настроенного поведения окон. Это все нужно конфигурировать вручную, затрачивая на это время. Я пробовал некоторые менеджеры (i3 и bspwm), но необходимость искать информацию только для того, чтобы добавить значок Яндекс Диска на панель или настроить работу Bluetooth меня убивает морально. Потому я лучше выберу какую-либо среду рабочего стола и буду использовать ее.
Несомненно, если потратить достаточное количество времени, то можно превратить системы в «конфетку» и в интернете достаточно скриншотов красиво настроенных и функциональных версии дистрибутивов Linux. Расскажите в комментариях, использовали ли вы тайлинговые оконные менеджеры и если да, то какие. Быть может, вы являетесь активным пользователем тайлинга.
The 25 Best Tiling Window Manager for your Linux
Tiled window manager is a window manager with an organization of the screen in frames that do not overlap, as opposed to the most popular approach of stacking based on coordinates of overlapping objects that tries to fully emulate the desktop metaphor.
They consume much less system resources when compared to Graphical Interfaces, such as: KDE, GNOME, XFCE and others.
In this article we go to the top 25 and 2 more bonus tips at the end!
01. bspwm
bspwm represents windows as the leaves of a complete binary tree. It responds only to X events and messages it receives in a dedicated socket.
bspc is a program that writes messages to the bspwm socket. bspwm does not handle any keyboard or pointer input: a third party program (for example, sxhkd ) is required to translate keyboard and pointer events into bspc invocations.
02. i3wm
I3wm was written entirely from scratch. The target platforms are the GNU/Linux and BSD operating systems. It is Free and Open Source Software (FOSS) under the BSD license. The i3 is mainly aimed at advanced users and developers. It was based on the window manager: wmii.
03. dwm
Dwm manages windows in tiled, monocle and floating layouts. All layouts can be applied dynamically, optimizing the environment for the application in use and the task performed.
04. Openbox
Openbox is the latest generation highly configurable with extensive support for standards. The visual style is known for its minimalist appearance. Openbox uses the visual box style, while providing a greater number of options for theme developers than previous * box implementations. The theme documentation describes the full range of options found in Openbox themes.
05. AwesomeWM
It is very fast, extensible and licensed under the GNU GPLv2 license. It is mainly aimed at advanced users, developers and anyone who deals with everyday computing tasks and who wants to have a refined control of their graphic environment.
06. HerbstluftWM
- the layout is based on dividing frames into subframes that can be divided again or filled with windows (similar to i3 or musca)
- tags (or workspaces or virtual desktops) that can be added / removed at run time. Each tag contains its own layout
- The tags are independent of the monitor (similar to xmonad)
07. xmonad
It is written and configured in Haskell. In a normal WM, you spend half your time lining up and looking for windows. Xmonad makes work easier by automating this.
08. Sway
Sway is a Wayland composer and a replacement for the X3 i3 window manager. It works with your existing i3 configuration and supports most i3 features, plus a few extras.
09. Qtile
Qtile is written in Python. It is simple, small and extensible. It’s easy to write your own built-in layouts, widgets and commands.
10. JWM
It is written in C and uses only Xlib, at a minimum. Because of its small size, JWM is a good window manager for older computers and less powerful systems, such as the Raspberry Pi, although it is perfectly capable of running on modern systems. JWM is included in small Linux distributions, such as Small Puppy Linux and Damn Small Linux, and is available as a separate package in many other distributions.
11. Ratpoison
Ratpoison is a simple window manager, without large library dependencies, without sophisticated graphics, without window decorations and without a mouse dependency. The screen can be divided into non-overlapping frames. All windows are kept maximized within their frames to make the most of your precious screen space. All interaction with the window manager is done using keys.
12. PekWM
It used to be based on the aewm++ window manager, but it has evolved enough to not look like aewm++ anymore. It has a very expanded feature set, including window grouping (similar to ion, pwm or fluxbox), autoproperties, xinerama, keygrabber and more.
13. wtfwm
14. EXWM
EXWM (Emacs X Window Manager) is a fully featured X window manager for Emacs built on top of XELB.
15. 2bwm
A fast floating WM, with the particularity of having 2 edges, written on the XCB library and derived from the mcwm written by Michael Cardell. In 2bWM everything is accessible from the keyboard, but a pointing device can be used to move, resize and zoom in/out.
16. Fluxbox
Based on the Blackbox code 0.61.1. It is very light in features and easy to handle, but still full of features to make a desktop experience easy and extremely fast. It is built in C++ and licensed under the MIT license.
17. Bluetile
Designed to integrate with the GNOME desktop environment. It provides a traditional stacking layout mode as well as tile layouts, where windows are arranged to use the entire screen without overlap.
18. IceWM
The goal of IceWM is speed, simplicity and not to disturb the user.
19. wmii
It is programmable, has a 9p file system interface and supports the management of classic and tiled windows (similar to acme). Your goal is to keep a small and clean code base (read hackerable and beautiful).
20. Spectrwm
He tries to stay out of the way so that valuable screen space can be used for much more important things. It has logical standards and does not require you to learn a language to make any settings. It was written by hackers for hackers and strives to be small, compact and fast.
21. flwm
Fast Light Window Manager is a small stackable FLTK-based window manager written in C++ and available for redistribution under the terms of the GNU General Public License.
22. Way cooler
Way Cooler is a window manager from Wayland, written in Rust, configurable using Lua and extensible with D-Bus.
23. WMderland
Strongly inspired by i3wm. Wmderland aims to simplify the main functionalities of i3wm and to group the essential resources needed for a modern, but minimal mosaic window manager. Written in C++ using Xlib.
24. PaperWM
PaperWM is an experimental Gnome Shell extension that provides scrollable window tiles and workspaces per monitor. It is inspired by paper notebooks and mosaic window managers. Supports Gnome Shell 3.28 and 3.30 on X11 and wayland.
25. Xlambda
A window manager for X that is extensible with Guile Scheme.
Bonus
If you use Windows, there is Windawesome If you use macOS, there is chunkwm and others.