LINUX.ORG.RU

Niri 26.04

 , , , ,


0

4

Вышла новая версия Niri v26.04 — скролл-тайлингового композитора для Wayland, который располагает окна в колонках на бесконечной полосе вправо, при этом открытие нового окна не изменяет размеры уже открытых.

Написан Niri на Rust, распространяется по лицензии GPL3. В феврале репозиторий на GitHub преодолел 20 000 звёзд.

Основной особенностью релиза, о которой просили больше всего, является поддержка размытия (blur) фона. Размытие работает через протокол Wayland ext-background-effect, поддерживается многими приложениями и оболочками (Dank Material Shell, Noctalia shell, Vicinae launcher, терминалы foot, kitty, Ghostty и др.).

Для приложений без поддержки протокола можно включить размытие через конфигурацию Niri. Есть два типа размытия: xray blur (эффективный, использует размытые обои как статичное изображение) и обычное размытие (более затратное по ресурсам). Можно настроить, какой тип использовать для разных слоёв окон, например:

// Make top and overlay layers use the regular blur (if enabled),
// while bottom and background layers keep using the efficient xray blur.
layer-rule {
    match layer="top"
    match layer="overlay"

    background-effect {
        xray false
    }
}

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

Среди других изменений можно отметить поддержку опциональных включений (optional includes) конфигом — можно подключать файлы, которые могут отсутствовать без ошибки загрузки, что удобно для локальных переопределений. Также улучшена служба niri.service — путь к бинарнику теперь не захардкожен. Произведены и другие изменения, касающиеся поведения указателя «мыши» при скроллинге, Screencasting’а и многого другого — подробности читайте по ссылке на релиз внизу. Минимальная поддерживаемая версия Rust теперь 1.85.

Разработчики также отмечают перемещение проекта Niri в организацию на GitHub вместо личного аккаунта разработчика YaLTeR. Это позволило расширить права на управление задачами и пулл-реквестами. Разработчики выражают благодарность Sempyos за активное участие в поддержке и помощи пользователям. В организацию также перенесены смежные проекты, включая список связанных проектов awesome-niri (Vortriz) и репозиторий с артами от создателей логотипа (bluelinden и HumpityDumpityDumber), где есть значок и несколько обоев, включая 3D-работы, созданные в Blender (Duncan-Rose).

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

★★★★★

Проверено: dataman ()
Последнее исправление: CrX (всего исправлений: 6)

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

zabbal ★★★★☆
()
Последнее исправление: zabbal (всего исправлений: 1)

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

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

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

Я когда демки смотрел, тоже не проникся, но стало интересно, попробовал — зашло. Фишка не столько в том, что скроллинг бесконечный, сколько в том, что это несколько другая идеология работы с окнами и областями экрана, чем у Sway/i3, но и другая, чем у Awesome/dwm. Если у Sway/i3 экран как бы делится на области, и ты потом в этих областях открываешь окна, у Awesome и dwm окна постоянно меняют размер при открытии нового, чтобы все влезли на экран, то у Niri ширина окон не меняется без просьбы юзера, ты её задаёшь для конкретных окон и приложений, если хочешь, и окошко всегда откроется одинаковым, независимо от окружения, того, как в данный момент разделён экран, других окон и т. д. Это не то чтобы объективно лучше или хуже, это именно по-другому и чуть-чуть ближе к не-тайлинговым WM, хотя это и по прежнему тайлинг. Немного сумбурно, но тут реально не объяснишь на словах, чем именно это удобно — лучше просто попробовать и решить для себя, нравится такой воркфлоу или нет.

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

Вот тут соглашусь, что по какая-то малонужная фигня. Но остальные фичи уже есть и работают хорошо, вот, видимо, и решили добавить — для любителей попостить в r/unixporn, наверное, хз.

В каком сценарии оно нужно?

Ну например если зачем-то таки сделал какое-то окно плавающим. Тайлинг — это ведь не ограничение (как почему-то некоторые считают), а фича — все (ну или мне просто не известны исключения) тайлинговые WM поддерживают и плавающие окна тоже.

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

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

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

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

Да я тоже в Awesome особых неудобств не испытывал. Но это просто другой подход.

Хотя всё же, вспоминая, не всегда это изменение удобно. 99% времени всё равно ничего не меняется, да, когда работает со стандартным набором приложений, раскиданных по воркспейсам привычным образом. Но бывает иногда нужно, например, открыть кучу терминалов — терминал не привяжешь к ещё одному воркспейсу по умолчанию, он уже терминал. И иногда их такая куча, что умещать все на одном экране уже неудобно — приходится раскидывать по двум или трём воркспейсам вручную. Да, это несложно, и уж точно не такой гемор, как это было бы в WM без тайлинга, но всё равно. В Niri же это обрабатывается естественным образом. А когда окошки помещаются на один экран — разницы нет.

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

я уверен на 93%

А чем он плох? Возможности как у XML/JSON, но вводить вручную и читать в виде текста гораздо приятнее.

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

Да язык как язык, поудобнее в написании/редактивовании, чем JSON, и уж точно удобнее, чем XML.

Хотя чем им не угодил YAML, не знаю. Может пробелофобы или фигурноскобколюбы просто.

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

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

https://github.com/zellij-org/zellij

я подумывал, слезть c tmux (который использую уже какое десятилетие), и использовать его

но авторы zellij решили перейти с json конфигурации на kdl, что автоматически усложняет в разы автоматизацию zellij

(например сгенерить конфигурацию, где при старте zellij у меня бы открывалось 9 окон, сгенерененных на основе ansible inventory)

подробности см. здесь: IDE или текстовые редакторы (комментарий)

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

Вообще не к месту здесь этот принцип. Он о другом.

P.S. Аргумент выше о том, что JSON проще генерировать скриптами, более адекватный, тут можно согласиться.

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

я помню что смотрел в его сторону, и отклонил этот вариант по какой-то причине, по какой уже не вспомню, попробую еще раз…

gagarin0
()

Вот этот «скролл-тайлинг», это наркоманы из GNOME придумали, да?

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

Я когда демки смотрел, тоже не проникся, но стало интересно, попробовал — зашло

Все эти тайлинги скроллинг и прочий примитив заходит когда у тебя три окна. А когда у тебя окон овердохрена - что тайлинг что скроллиг превращается в поиск иголки в стоге сена.

Qui-Gon ★★★★★
()

Основной особенностью релиза

Блюр, это фантик для привлечения внимания, а так-то он надоедает за несколько минут.

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

Занятный use case - такого у меня и вправду встречалось уже чёрт-те сколько лет. И очень надеюсь что и не случится - отлаживать какую-то хрень в куче параллельно открытых терминалов это последнее чем хочется заняться :)

zabbal ★★★★☆
()

Товарищи тайловики, назревает серьезный вопрос. Почему на любом, абсолютно любом скриншоте с тайловым WM, во всех окнах только plain text, и на 80% это эмуляторы терминала? Вы работаете только с plain text в эмуляторах терминала, других задач нет? Потому что, лично мне трудно понять, как в тайловом WM работать с чем-то еще.

James_Holden ★★★★★
()
Ответ на: комментарий от Qui-Gon

Все эти тайлинги скроллинг и прочий примитив заходит когда у тебя три окна

Точнее, три танковых щели. Окно, оно в современных реалиях должно быть на весь экран, чтобы с ним работать.

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

@CrX, а по сути ответа не будет? Для того, чтобы работать с чем-то современным, любым, надо окно открывать на весь экран. Конечно, тайловый WM тоже может так делать, но смысл. Я просто не понимаю.

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

Почему на любом, абсолютно любом скриншоте с тайловым WM, во всех окнах только plain text, и на 80% это эмуляторы терминала?

Нельзя ответить «почему» на вопрос о неверном утверждении. Даже на скриншотах в сабже вовсе не только plain text — есть как минимум какая-то штука про мониторинг CPU на первом, файловый менеджер и какая-то фигня с календарём и погодой на втором. Терминалов на первом полно, конечно, но это не 80%. А также это не «любой абсолютно любой» скриншот. Я, например, выкладывал скриншот с сабжем ранее, и там есть Firefox и Deadbeef, например, помимо терминалов.

Потому что, лично мне трудно понять, как в тайловом WM работать с чем-то еще.

Нет вообще никакой разницы между эмулятором терминала и чем-то ещё. Что там окошко, что там. WM/композитор — это про работу с окнами, а не их содержимым.

Ну а терминалов много на скринах с линуксом, потому что терминал универсален, и в нём много что делается.

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

Для того, чтобы работать с чем-то современным, любым, надо окно открывать на весь экран.

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

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

Нет вообще никакой разницы между эмулятором терминала и чем-то ещё. Что там окошко, что там. WM/композитор — это про работу с окнами, а не их содержимым.

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

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

ну вместо терминала всёж текстовый vim/ed/acme/code/emax чисто практичней - нет детерминированной ленты input/output

по факту в тайлинге (где часть может даже быть gui) основное преимущество возможность иметь несколько контекстов с достаточно быстрым(удобным) переключением - в обычных офтопике/ведре это частично решается несколькимим рабочими столами али rectangle каким

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

ну вариант тайлинга - несколько полноэкранных рабочих стола с удобной! навигацией промеж

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

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

Почти всё, кроме игр и просмотра видео.

У меня даже эмулятор терминала всегда развернут.

Я тоже таким страдал. И когда у меня был малюсенький экранчик 21" c разрешением 1680×1050 это казалось единственно нормальным (хотя тоже не прям для 100% окон, но для подавляющего большинства, да). С 1920×1080 и где-то 23" это может быть тоже относительно оправдано, но уже на грани. На экранах бóльшего размера и разрешения разворачивание на полный экран зачастую бесполезно или даже вредно.

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

в теории это удобно, когда есть комплексная проблема, которая касается N сервисов, которые разнесены на Y серверах, и для дебага нужно открыть кучу контекстов (логи, kubectl/docker exec и прочее)

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

Я предпочитаю для таких проблем открывать сессию мультиплексора, где команды вводятся «автоматически» при помощи tmuxp или tmuxinator, хотя раньше писал «автоматизации» для Fvwm[23], но быстро устал

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

и где-то 23"

Всмысле! У тебя что, монитор полутораметровый?? 23 тебе мало? Ну тогда понятно, но я очень сомневаюсь, что все остальные фанаты тайлинга исключая тебя, работают на телевизорах.

В новости, скрины FullHD, я проверил.

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

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

Также, кстати, Вот конкретно сабж позволяет работать и с развёрнутыми окнами, при этом со скроллингом. Ширина окна может быть и равна ширине экрана.

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

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

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

Всмысле! У тебя что, монитор полутораметровый??

Нет, конечно, 27" основной, 23" дополнрительный. Хотя следующий, наверное, буду брать 32" и 4k уже.

23 тебе мало?

Ну как сказать… Это около нижней границы полноценного экрана :)

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

Не знаю. Я могу только за себя говорить.

Но я и на том 21" юзал «тайловый» WM (тогда это был Awesome). Просто потому что он фичастее, и даже то же самое открытие окон по умолчанию развёрнутыми (а по хоткею вообще на весь экран) делается проще, гибче и удобнее. Но да, тогда у меня по умолчанию как раз схема с «развёрнутым» была умолчательной, а тайлинг включался изредка по мере надобности. И даже так лучше, когда он есть, чем когда его нет совсем.

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

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

По-моему это намного рациональнее.

ЛОЛ. Мультиплексор — это по сути ровно тот же тайлинг, только ограниченный именно терминалом как раз. И менее удобный и гибкий. В качестве костыля, когда нет возможности использовать нормальный WM, подходит, конечно. Но WM умеет всё то же и намного больше.

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

tail’овы менеджерах

Я не пойму, это попытки в остроумие, или ты серьёзно не отличаешь хвосты от плиток?.. Просто если это шутка, то я её как-то не догоняю…

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

Но WM умеет всё то же и намного больше.

я правильно понимаю что ты админ локалхоста?

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

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

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

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

ровно тот же тайлинг, только ограниченный именно терминалом как раз.

Во-первых далеко не ровно тайлинг, man сессии

Во-вторых, все верно, для терминалов тайлинг может быть нужен и он его даёт, а для других задач нужен нормальный WM.

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

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

По сравнению с чем конкретно? С openbox? Ну и чем удобнее, в опенбоксе например в конфиг надо прописать, и забыть. Удобнее это как

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

я правильно понимаю что ты админ локалхоста?

Правильно. Хотя и не только :P

дальше же возникнет вопрос, запустить сессию удаленно

Мне обычно не требуется сохранять именно удалённые сессии из всего и сразу как таковые. В целом для сохранения сессий я использую dtach (и удалённо и локально) — это как screen/tmux, но без всего этого мультиплексорства, а с только одной фичей — отцепить программу от конкретного терминала и когда захотелось — прицепить её обратно. Более юниксвейно получается — для каждой конкретной задачи свой отдельный инструмент.

Хотя, будет нечестным всё же не упомянуть, что на некоторых серверах я таки использую tmux, так исторически сложилось.

и пошарить ее с коллегой

Нет, вот такой необходимости у меня не возникает совсем

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

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

Вот именно что один раз настроил и всё.

А kwin просто запоминает, даже если не настраивать, один раз развернуть и это приложение всегда будет развернутым.

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

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

Ну развернешь в течение первого дня после установки линупса, потом 15 лет будут окна развернуты. Это проблема?

Вообще, конечно, надо бы настучать им по башке и заставить сделать сразу как надо, но се ля ви

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

По сравнению с чем конкретно? С openbox? Ну и чем удобнее, в опенбоксе например в конфиг надо прописать, и забыть. Удобнее это как

Да, конфигурирование Awesome гибче, чем у openbox. Это даже не особо с тайлингом как таковым связано, просто это более продвинутый WM. Всякие правила можно более хитрые писать, и много чего ещё. Тут надо отметить, что среди «плавающих» WM тоже есть весьма гибкий как минимум один — FVWM. Но там противоположная проблема — чересчур много конфигурять может понадобиться порой… Хотя что-то в нём, конечно, есть.

Удобнее это как

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

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

Так вот к «раскидано» и вопросы, это ж какую диагональ надо иметь, чтобы раскидывать. У меня например больше 19 никогда не было, и уже шея заболит головой вертеть. Да и, те кто такие экраны использует, обычно работают с серьезной графикой либо CAD, и там как раз одно окно на весь монитор.

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

Ну развернешь в течение первого дня после установки линупса

Если пользуешься полутора программами за всё время, то развернёшь. Если постоянно что-то новое, то разворачивать будешь постоянно.

Это проблема?

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

Вообще, конечно, надо бы настучать им по башке и заставить сделать сразу как надо, но се ля ви

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

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

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

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

На самом деле вот эта идея ленты мне сильно не близка. Как оно происходит у меня - ну есть какая-то задача. Экран редакора. надо что-то посмотрет - отрыть хелп, какой-нибудь форум (а то и не один) , книжку, примеры аналогичного кода, еще там в фоне музка какая-то играется, мессенджер, почта. Эти окна тупо плодятся. Сейчас оно решается просто через 2д вернее псевдо 3д расположение - есть вирт десктопы (мне хватает матрицы 3х3) по которым через wall эти окна можно раскидать. Ну сейчас набегут знатоки а вот у меня правило написано - нет нельзя, правило написано если у тебя каждый день день сурка и одни и теже окна. Для таких и у меня правила написаны…. Перемещаться по этой матрице - 3-х пальцевыми свайпами по тачпаду ну помимо другой массы вариантов или тот же wall.

а теперь эту 3д матрицу развернули в ленту - мне уже страшно, это уже не лента а удав 38 попугаев.

Псевдо 3д - потому как не тайлинг а нормальный wm, и у меня эти окна могуть быть как на переднем плане так и не активны и между ними можно переключиться через expose за секунду, равно как если надо «затайлить» их на пол или четверть экрана просто двинув мышой на край-угол. А вот если это все что и на заднем плане в ленту развернуть - этой лентой можно запеленать Тутанхамона…

Qui-Gon ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.