LINUX.ORG.RU

i3 4.22

 ,


1

0

Разработчики i3wm порадовали нас новым новогодним релизом!

Главным новвоведением стало слияние кодовой базы популярного форка i3-gaps с апстримом. До релиза 4.22 окна могли находится только вплотную к другим окнам или границе экрана, теперь же есть возможность установить размеры пустого пространства между окнами и краями экрана. Конфигурация аналогична таковой в i3-gaps. Пример

Ранее в качестве причины отсутствия этой фичи указывались следующие аргументы:

  • Код i3-gaps был по большей части построен на «хаках» вокруг архитектуры i3wm, главной целью автора форка был маленький размер патча и возможность простой синхронизацией с апстримом, а не переписывание половины архитектуры i3wm.
  • В качестве целей i3 на официальном сайте (пункт 8) указывается нежелание разработчиков тратить силы на разнообразные «украшательства», сохранять простой и лаконичный вид wm: «Don’t be bloated, don’t be fancy (simple borders are the most decoration we want to have)».

Тем не менее, горячая поддержка этой фичи со стороны сообщества нашла отклики у мейнтейнеров. Код i3-gaps был влит практически без изменений, главный разработчик i3 считает, что это наиболее простой способ «позволить просто двигаться дальше и улучшать реализацию в дальнейшем». Автор i3-gaps архивировал свой репозиторий на гитхабе и призвал переходить на i3 4.22, к тому же сам он является активным мейнтейнером i3.

К другим важным новвоведением можно отнести возможность настройки высоты панели i3bar без изменения размера шрифта.

>>> Подробности



Проверено: hobbit ()

Для тех, кто не держит руку на пульсе развития i3wm, в недавних релизах (начиная с 4.20) были добавлены следующие фичи:

  • Возможность разбивать конфиг на несколько файлов, «дочерние» конфиг-файлы включаются в «родительский» с помощью директивы «include». Позволяет навести порядок в своем конфиге, распилив монолит. В моём случае, к тому же, это помогло держать разный список автозапуска для иксовой сессии с интеграшкой и дискреткой.

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

  • Возможность отображения иконок приложения в titlebar

  • Упрощение жизни для конфигурации с двумя мониторами: можно перемещать окно или рабочий между двумя мониторами с помощью одной команды: move container|workspace to output next, удобно забиндить эту команду на один хоткей.

В целом, пользоваться i3 становится все приятней, тем, кто пробовал wm давным-давно и ушел от него из-за отсутствия каких-то QoL фич, рекомендую попробовать его ещё раз.

Fizzika ()
Последнее исправление: Fizzika (всего исправлений: 1)
Ответ на: комментарий от Fizzika

Возможность управлению мышью окон в тайлинге

Там даже этого не было. Ну офигеть, и как вы пользовались таким обрубком.

bread ()
Ответ на: комментарий от bread

Ну офигеть, и как вы пользовались таким обрубком.

У меня очень редко открыто что-то в тайлинге, чаще всего это простой vsplit, реже hsplit. Все остальное время - tab layout.

Так что в моём случае я и сейчас управление мышкой в тайлинге не использую особо.

Fizzika ()
Ответ на: комментарий от eternal_sorrow

Архитектура там караул, если функционал layout’a можно реализовать только вешними костылями

i3

не нужно

yes

Товарищи какиры не могут 5к строк привести в консистентный вид. Что в dwm, что в i3, что в bspwm

serg002 ★★ ()
Последнее исправление: serg002 (всего исправлений: 2)
Ответ на: комментарий от serg002

Так это внешними костылями. А в самом i3?

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

Можно считать это плагинами, а не костылями %)

Fizzika ()
Ответ на: комментарий от Fizzika
Before installing i3-layouts be sure to have the following installed on your system:

    python >= 3.7
    xdotool
    i3wm or i3-gaps

Видимо не очень хорошее ipc, что нужно xdotool ставить

serg002 ★★ ()

До релиза 4.22 окна могли находится только вплотную к другим окнам или границе экрана, теперь же есть возможность установить размеры пустого пространства между окнами и краями экрана. Конфигурация аналогична таковой в i3-gaps.

Я заплатил за весь монитор и буду использовать все свободное место на нём. Отступы урезают обзор рабочего пространства и ничего не украшают.

Clockwork ★★★★ ()
Ответ на: комментарий от serg002

Видимо не очень хорошее ipc, что нужно xdotool ставить

Ну, ничто в мире не совершенно. Но по сравнению с другими тайлинговыми wm (да и не тайлинговыми тоже), ipc у i3 действительно хорошее.

Насколько я понял по коду, xdotool там главным образом для map/unmap, такой функциональности в i3 действительно нет, поскольку в интерактивном использовании она не нужна (для этих целей есть скратчпад).

Fizzika ()
Ответ на: комментарий от Clockwork

Я заплатил за весь монитор и буду использовать все свободное место на нём. Отступы урезают обзор рабочего пространства и ничего не украшают.

Я тоже не понимаю, зачем нужны гаппсы между окном и краями экрана, но вот небольшие гаппсы между окнами (inner) улучшают читаемость, пару пикселей в этом случае это небольшая цена.

Раньше я ставил толстые контрасные границы окон, чтобы хорошо видеть активное окно в vsplit’e, теперь попробую гаппсы. В любом случае, никто их не насаждает, и даже по-умолчанию они выключены, а альтернатива это всегда хорошо.

Fizzika ()
Ответ на: комментарий от serg002

функционал layout’a можно реализовать только вешними костылями

Что значит «можно реализовать»? Авторы считают, что не нужно реализовывать, потому что есть куча других ВМ где это уже реализовано. Чисто статический тайлинг тоже нужен.

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от eternal_sorrow

Авторы считают, что не нужно реализовывать, потому что есть куча других ВМ где это уже реализовано.

Так чисто статический тайлинг есть в других ВМ уже, зачем его в i3 надо было реализовывать? Ж)

Классная логика, далеко пойдёшь!

Вангую, что там такая архитектура, что добавление нового layout’a - целая история с переписыванием 98% базового кода(потому как gaps - это была история на 10 лет и прям чуть ли не отдельный продукт). И решили это реализовать с помощью ipc. А так-то да, сегодня эта прослойка python i3-ipc есть, а завтра ее забросили и у тебя в руках WM со статическим «тайлингом» т.е поделка, даром не нужная(прям как dwm без патчей)

serg002 ★★ ()
Последнее исправление: serg002 (всего исправлений: 6)
Ответ на: комментарий от Fizzika

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

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

Раньше я ставил толстые контрасные границы окон, чтобы хорошо видеть активное окно в vsplit’e, теперь попробую гаппсы.

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

А если у кого-то ноутбук с маленькой диагональю, то я вообще не представляю, как ему приходиться читать текст и не страдать при этом. Наверное, без экрана таким людям будет еще комфортнее. :D

Clockwork ★★★★ ()
Ответ на: комментарий от Fizzika

Я тоже не понимаю, зачем нужны гаппсы между окном и краями экрана

Зазоры в пару пикселей вообще не нужны. А вот поля по краям экрана полезны в однооконном режиме, чтобы не распахивать терминал во всю ширину монитора. Я такие режимы делал для awesome и для dwm, это не сложно. А в i3 оказывается нужно половину wm переписать, и только в версии 422 дождались гапсов. Ну ладно, лучше поздно, чем никогда.

bread ()
Ответ на: комментарий от Clockwork

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

Да, я про это %)

Fizzika ()
Ответ на: комментарий от serg002

Dwm без патчей вполне себе юзабельный. Для статического тайлинга есть (был) божественный ion3. Сабжу до него всё ещё далеко.

bread ()
Ответ на: комментарий от Fizzika

А тем, кто не использовал вообще тайлинг, стоит ли i3 попробовать? Как такие wm тебе? Проще ли, чем традиционные?

cetjs2 ★★★★★ ()
Ответ на: комментарий от serg002

и у тебя в руках WM со статическим «тайлингом» т.е поделка, даром не нужная

Ну если тебе не нужная, никто пользоваться не заставляет. Я пользуюсь безо всяких layout’ов, нужды в них не вижу.

eternal_sorrow ★★★★★ ()

Новогодний релиз? А на ёлочной игрушке работает?

alt-tab-let ()
Ответ на: комментарий от cetjs2

Да, я считаю, что i3 идеальных кандидат среди тайловых wm для старта. У него отличная документация по настройке, простые концепции работы и простой текстовый конфиг - сам в своё время я довёл i3 с нуля до юзабельного состояния где-то часа за 4 (при этом ещё пришлось потратить время на настройку тачпада).

Если ты уже пользовался традиционными wm (именно wm, а не DE), то особых проблем быть не должно. Если же ты переходишь с DE, то надо быть готовым, что все «плюшки» по настройке перефирии, гтк-темы, шрифтов, уведомлений, обоев, блокировщика тут отсутствуют, и приходится собирать конструктор самостоятельно. Я бы для начала советовал освоится в самом WM, чтобы понять, твоё это или нет, а плюшки уже прикручивать, если решишь на него перейти.

Если ты часто держишь окна открытыми на весь экран или в простых сплитах, то i3 тебе будет весьма кстати.

i3 хорошо ложится на ситуацию, когда у тебя есть какой-то устоявшийся набор постоянно запущенных или часто запускаемых программ (браузер, терминал, плеер, FM/Vim, IDE читалка, etc), в i3 ты привязываешь их к воркспейсам и уже через неделю ты даже не будешь думать, как тебе переключиться на нужное окошко - мышечная память будет это делать автоматически.

По сравнению с классическими wm по типу опенбокса, i3 убирает потребность в мышке для манипуляции с окнами. Не нужно в цикле жать alt+tab, чтобы переключаться по окнам без мышки.

Также тут есть такие прикольные штуки как scratchpad (это то место, куда можно прятать окно и оно будет вылезать по хоткею), sticky-окна (делаешь окно плавающим, как в обычных wm, и оно перемещается с тобой с одного рабочего стола на другой, удобно для просмотра видосов на фоне), tab-layout (вместо тайлинга окна на одном рабочем столе отображаются в вкладках).

Fizzika ()
Ответ на: комментарий от Fizzika

Просто интересно. Сейчас я пользователь кед. Имеет ли смысл ставить i3wm? Просто wm(я пробовал OpenBox) мне не особо зашел. Имеет ли смысл пробовать тайловые?

Werenter ()
Ответ на: комментарий от Werenter

Имеет ли смысл пробовать тайловые?

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

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

Что касается опенбокса - мне он тоже не зашел в своё время, я тогда отказался от него в сторону xfce4.

Fizzika ()

Давно пора им было объединиться. Хорошо, что наконец-то сделали.

Roy-Batty ()
Ответ на: комментарий от Werenter

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

khrundel ★★★★ ()
Ответ на: комментарий от serg002

Видимо не очень хорошее ipc, что нужно xdotool ставить

https://github.com/eliep/i3-layouts/blob/f74f1922052239851d502235fc09cefdd632a73e/i3l/state.py#L116-L127

Ммм, великая иксовая архитектура. Великие тайловые оконные менеджеры, написанные дидами.

EXL ★★★★★ ()
Ответ на: комментарий от serg002

i3 - это ручной тайлер, а не динамический (как двм или иксмонад). Я сам предпочитаю динамические лайауты, но есть люди которым больше по душе ручное управление сплитами. Ругать и3 за отсутствие динамики все равно, что ругать молоток за то, что он шурупы не ввинчивает.

provaton ★★★★★ ()
Ответ на: комментарий от bread

Ушёл от окошечек в тайл, чтобы меньше возить мышью. Лет пять - полёт прекрасный: что дома, что на работе. Проверил фичу - работает, но не нужно, т.к. хоткеи удобнее/быстрее гораздо, когда привык.

ephecaff ()

Я когда-то пользовался i3. Вот подумываю вернуться, но волнует одно - как там сейчас с поддержкой уведомлений от viber, telegram, teams? Помню приходилось писать свои скрипты для i3status

lokirolop ()
Ответ на: комментарий от EXL

Ммм, великая иксовая архитектура.

Интересно, чем принципиально в этом плане отличается вейланд. Вот есть там тот же sway, там возможно в принципе реализовать этот скрипт, и если да, то с помощью каких методов?)

Fizzika ()
Ответ на: комментарий от Fizzika

Я не пользуюсь sway, поэтому ничего не скажу, но предполагаю что подобным можно рулить через какой-нибудь pywlroots. А в случае сабжа можно было бы хотя бы заюзать вот это:

https://pypi.org/project/python-libxdo/

А не порождать вызываемые процессы xdotool на каждый чих.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Я не пользуюсь sway, поэтому ничего не скажу, но предполагаю что подобным можно рулить через какой-нибудь pywlroots.

Насколько я понимаю, способ аналогичный libxdo (или просто голым xcb).

Да, наверное это нехорошо, что в проекте дергают процесс вместо простой либы, но я не думаю, что в том случае это как-то критично в плане перфоманса.

Fizzika ()
Ответ на: комментарий от posixbit

Я знаю, но сказать то что хотел этим?

Нить обсуждения не о том, есть ли аналог xdotool в Wayland, а о странном программном решении в программе-расширении i3-layouts функциональность которого подвязали на вызов внешней утилиты xdotool. Несомненно, подобное кто-нибудь мог соорудить и с Wayland/sway/ydotool, но лично я такого не видел.

EXL ★★★★★ ()

Хорошо, что прочитал это объяснение. А то решил ждать, когда i3-gaps обновится до 4.22.

dmitry237 ()

быть такого не может

xaTa ★★★ ()

Может в этой теме кто-нибудь в курсе? Создавал тему в desktop, но там как-то глухо. i3 panel (polybar?) как сделать фиксированное расположение виджетов

Как можно сделать фиксированное положение виджетов на баре (polybar/...)? А то в polybar, например, все виджеты располагаются друг относительно друга и изменение в отображении какого-то одного (длина вывода) приводит к тому, что все виджеты после него сдвигаются. И вот это дёрганье хотелось бы убрать, указывая виджетам абсолютное положение или чётко фиксируя занимаемую ширину.

lv ★★ ()
Последнее исправление: lv (всего исправлений: 2)
Ответ на: комментарий от EXL

python-libxdo

Добавить ещё и пистон в зависимости? Нет уж, пусть дергают xdotool, это юниксвейно. У меня вот свой тайлинг закостылен на скриптах с wmctrl. Удобно, и работает везде, кроме вялого конечно.

bread ()
Ответ на: комментарий от lv

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

Я знаю только имя активного окна по умолчанию. Что такое длина вывода?

Clockwork ★★★★ ()
Ответ на: комментарий от Werenter

Я попробовал и понял, что в кедах есть всё и это меня меня устраивает, и куча плагинов на то, чего в кедах из коробки нет.

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

В общем, кеды и i3, это как автомобиль и самокат. Если самоката достаточно, то устроит. Мне очень нравится философия тайловых wm, но мне очень лениво их настраивать и искать ту или иную аппликуху, которая мне сделает вот это.

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

beck ★★★ ()
Последнее исправление: beck (всего исправлений: 2)
Ответ на: комментарий от beck

Что настраивать-то? Все что-то настраивают, настраивают… Я один наверное ничего не настраиваю, раскидал приложения по рабочим столам, по одному на свой, и вызываю их через rofi. Никакого тайлинга, он не для 1366х768. Все на своих местах.

В кедах есть всё и сразу.

Слишком много всего. Зачем все это?

dmitry237 ()
Ответ на: комментарий от cetjs2

Для гнома есть расширение Pop Shell - позволяет без заморочек познакомиться с парадигмой работы в тайловых wm. Конечно кастомизации никакой, возможности только базовые, но с другой стороны - простейшая установка, нет необходимости (и возможности) что-то настраивать, привычный интерфейс и легкое переключение мышкой между тайлами и привычным поведением окон.

metrokto ★★ ()
Ответ на: комментарий от dmitry237

Что настраивать-то?

  • переключалку языка
  • вызов приложений
  • буфер обмена
  • подключние флешек
  • словари и проверку правописания
  • очереди копирования/перемещения
  • скриншотилка
  • калькулятор
  • partition manager
  • таблица символов
  • файл менеджер
  • подключение и настройка принтеров / очередей печати
  • и этакой пищи названий до тыщи
beck ★★★ ()
Последнее исправление: beck (всего исправлений: 1)
Ответ на: комментарий от bread

Добавить ещё и пистон в зависимости? Нет уж, пусть дергают xdotool, это юниксвейно.

Ты косишь под клоуна или тупого?

Они дёргают xdotool в своём проекте, который написан на Python:

https://github.com/eliep/i3-layouts/blob/f74f1922052239851d502235fc09cefdd632a73e/i3l/state.py#L116-L127

Такие вот удобные иксовые IPC, очень UNIX-Way’но, бгг.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 3)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.