i3wm. Лучший оконный менеджер для Linux

Сейчас я вам расскажу про мой любимый оконный менеджер.

Я пробовал различные:

KDE, который визуально мне совсем не заходит. Такое ощущение, что разработчики хотели скопировать интерфейс мака, но получилось у них очень плохо.

Gnome, который в последнее время превратился будто бы в оболочку для планшета, так как там сейчас просто огромные кнопки и все элементы управления. Такое ощущение что все масштабировали на 300%. Из-за этого пропадает большое количество свободного места.

Unity мне тоже как-то не понравился.

XFCE на мой взгляд не плох, но при этом его UI оставляет желать лучшего. Мне нравится интерфейс MacOS из-за того, что там везде очень правильные соотношения всех элементов друг к другу. Нет слишком больших или слишком маленьких кнопок. Везде правильные отступы внутри окна. Из-за этого все выглядит очень гармоничным. Вот именно этого сейчас не хватает XFCE. Хотя если вы не перфекционист, то вам пойдет.

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

Awesome, мне он нравится. Но Lua немного смущает. Но если вдруг вы видите преимущества Awesome над i3wm, то расскажите мне о них пожалуйста, я с удовольствием бы с вами поговорил.

DWM, который не плох, но как-то довольно странно то, что его нужно перекомпилировать каждый раз при смене конфига. Ну, кому-то возможно окей. Но я довольно часто меняю что-то в своем интерфейсе или вижу что-то прикольное и хочу добавить. И меня очень утомляет вот эта возня. Хотя мне он очень нравится, за то, что он очень маленький и практически никогда не глючит. И сама suckless философия мне очень нравится. И я обязательно вернусть к нему в будущем и попробую его еще раз. Так же, ребята. Если вы используете DWM и считаете его лучше чем i3 то напишите мне, я бы с удовольствием с вами пообщался. Пишите мне куда угодно.

Xmonad. Но он как-то мне не зашел. Конфиг на Lua еще более менее. Но конфиг написанный на хаскеле это как-то не по людски.

i3 в данный момент мне нравится больше остальных. И мне вообще нравится идеология тайлинговых менеджеров. Нравится из-за того, что во-первых у тебя очень упрощается работа с окнами. Тебе не нужно постоянно что-то передвигать мышкой и что-то постоянно приподнимать или опускать в третьем измерении.

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

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

А тут бах и другой подход. Сначала это кажется странным.

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

В общем вам надо попробовать. Вы либо полюбите либо возненавидите.

Давайте уже перейдем к самому i3.

Как я уже сказал окно тут занимает всегда полное пространство

img

А при открытии нового окна пространство делится пополам. Открывать вы можете сколько угодно окон.

img

Вы можете сами решать как делить пространство.

img

Так же вы можете изменять размеры каждого окна.

Это основной режим i3, но так же есть еще два дополнительных. При одном окна ведут себя как списки а при втором накладывайтся друг на друга

Но если вам вдруг очень очень нужно, то вы можете сделать какое-либо окно плавающим.

img

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

Так же очень удобным является то, что вы можете задать жестко чтобы какое-то окно открывалось на нужном вам виртуальном столе.

И вы всегда будете точно знать что у вас где находится. У меня, например, Slack и Telegram всегда находятся в 9 виртуальном столе. Мой проект на go находится в 8 виртуальном столе. А мой проект на Node.js находится в 7 виртуальном столе. Вся моя личная база знаний всегда открыта в 6 виртуальном столе. На первом виртуальном столе у меня всегда браузер. А на втором виртуальном столе у меня всегда вся информация по работе.

Но если нужно, то я само собой могу это все менять.

Таким образом я никогда не путаюсь. Я всегда знаю где у меня что.

Не важно, даже если закрыто окно, при открытии я знаю где оно откроется.

Запуск программ

Теперь о том как запускать программы. Есть два способа. Первый это хоткеи. То что вы запускаете чаще всего вы можете забиндить. Например у меня по CTRL+SHIFT+P запускается калькулятор. Так же на кнопках повешено включение и выключение VPN. Или создание скриншота. В общем все, что вы захотите.

А все остальное можно запускать через штуку, которая похоже на спотлайт в маке. Она называется Rofi.

img

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

Если вам нужно, то вы можете переместить программу на другой виртуал32ьный стол.

Так же i3 отвечает у вас за всю автозагрузку программ. И делается это довольно легко в конфиге.

Bar

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

Давайте расскажу про Polybar.

Справа вы видите значки, это обычный трей. Слева вы видите цифры, это как раз виртуальные столы.

А все что между ними это модули. Которые вы загружаете. Модули по сути это просто скрипты. не важно на чем. На баше или на пайтоне. Вы можете использовать что угодно.

Вот что делают мои

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

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

В общем я рекомендую. В интернете вы найдете кучу документации. И огромное количество различных примеров и конфиг-файлов.

Contents

comments powered by Disqus