LINUX.ORG.RU

Hyprland 0.42 — теперь без зависимости от wlroots

 , , ,


1

3

Вышла версия 0.42 тайлингового Wayland-композитора Hyprland, нацеленного на кастомизируемость и высокую производительность.
Композитор написан на языке C++ и распространяется по лицензии BSD-3.

Основные изменения и улучшения:

  • отказ от зависимости от wlroots:

    • Hyprland больше не использует библиотеку wlroots, которая обычно используется для разработки композиторов Wayland;
    • теперь Hyprland разрабатывает свои компоненты самостоятельно, что позволяет предложить уникальный и эффективный опыт пользователям.
  • введение поддержки явной синхронизации:

    • это улучшение значительно повышает производительность рендеринга и снижает задержку на поддерживаемом оборудовании;
    • позволяет композитору более точно управлять временем обновления экрана, что особенно полезно для пользователей с графическими процессорами Nvidia;
    • для некоторых конфигураций Nvidia эта функция может вызвать сбои и может быть отключена при возникновении проблем.
  • новая реализация xcursor:

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

    • настройки, связанные с прямым выводом (direct scanout), были изменены, что может потребовать корректировок в пользовательских настройках;
    • удалена функция «fake fullscreen» и заменена более надежным диспетчером состояния полного экрана.
  • улучшение обработки ввода:

    • включает эмуляцию дискретных событий прокрутки и исправления для нескольких конфигураций клавиатур.
  • новая зависимость – aquamarine:

    • для тех, кто занимается упаковкой и разработкой, Hyprland 0.42 вводит новую зависимость — aquamarine;
    • удален подмодуль wlroots в соответствии с отказом от зависимости от wlroots.
  • исправления ошибок:

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

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

★★★★★

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

Ответ на: комментарий от Jaeger1999

Я пользуюсь. Sway - визуально более корявый по сравнению с сабжем, да и не развивается нифига(Дрю любит что-то сделать и забросить). А Aweome вроде не вяленый, вообще не в кассу. Да и шиза автора sway с my-next-gpu-wont-be... вообще не делает ни автору ни продукту чести. В hyprland от этого ушли и пилят баги невидии наравне с остальными.

Hyprland первое, что смогло меня с KDE перетянуть на сторону тайлинга. Но буду пока что на 0.40 сидеть, Даже 0.41 глючноват(например, периодически перестает перерисовываться waybar), а тут переход на свой «бэкенд», подожду пока допилят баги.

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

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

Awesome — для иксов, не считается.

А так оно не хуже и не лучше Sway, просто другое. Свистоперделок больше в hyprland, в sway меньше. Кому-то они важны, но мне Sway больше нравится, простотой. Тем не менее, иметь хоть одну годную альтернативу Sway — это не плохо, а хорошо. Развиваются они по разному пути и берут фишки друг у друга, что способствует прогрессу.

CrX ★★★★★
() автор топика

Это конечно круто что сабдж не использует wlroots. А сабдж это про что?

vada ★★★★★
()

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

Это такой прикольный эвфемизм для работы не по стандартам?

Gary ★★★★★
()

Не показывайте этот скриншот нелюбителям border-radius, может случиться приступ.

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

Нет. Или отчасти. Учитывая, что автора «отменили» в качестве разработчика wlroots по политическим причинам, это очень даже ожидаемый и логичный шаг. Вероятнее всего, в ближайшее время мы увидим более быстрое и экспериментальное развитие Hyprland, с переносом фич в wlroots чуть позже. Вон уже explicit sync реализовали.

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

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

Да и шиза автора sway с my-next-gpu-wont-be…

этот шиз уже несколько лет как не пилит sway, передав проект emersion-у. Больше того, недавно он посрался с емершном и кикнул его из sourcehut. Так что теперь он вообще никак к этому не относится. Да и флага такого уже давно нет.

Lrrr ★★★★★
()

Надеюсь у Vaxry хоть когда нибудь дойдут руки до Vulkan или допилить производительность

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

Вероятнее всего, в ближайшее время мы увидим более быстрое и экспериментальное развитие Hyprland, с переносом фич в wlroots чуть позже. Вон уже explicit sync реализовали.

не. Hyprland пилят 2 студента. Идей у них много, а вот понимания, как делать качественный легко поддерживаемый софт, - пока не очень. Мне интересно, что будет с этим напиленным говнокодом с кучей багов, когда они выпустятся и начнут работать фулл тайм.

К явной синхронизации они не имеют никакого отношения, кстати, ее (в числе прочих) активно пилил как раз мейнтейнер wlroots.

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

не. Hyprland пилят 2 студента. Идей у них много, а вот понимания, как делать качественный легко поддерживаемый софт, - пока не очень.

Ну так. Будут больше экспериментировать, а когда эксперименты будут удачными, это в более стабильном виде будут забирать в wlroots. Это неплохо, когда есть какой-то экспериментальный проект, который и пилят энтузиасты, и тестируется он в итоге на энтузиастах, а потом удачные находки из него идут в другой, более стабильный проект. Довольно здоровая ситуация.

К явной синхронизации они не имеют никакого отношения, кстати, ее (в числе прочих) активно пилил как раз мейнтейнер wlroots.

Точно. Как раз только что новость увидел, что её и в wlroots, оказывается, на днях запилили.

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

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

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

На реддите в r/unixporn процентов 70 на это только и дро*ат в основном. Стильно-модно среди молодежи. Правда, само сообщество этого гиперленда токсичное что ппц, но то уже нюансы.

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

Ложечки нашли

Да и флага такого уже давно нет.

А осадочек остался.

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

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

Sway - визуально более корявый по сравнению с сабжем

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

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

Тоже считаю, что vulkan нужен, но Vaxry считает, что плюсов по сравнению с openGL никаких нет и категорически против. Он даже из wlroots его выпиливал.

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

bspwm

Можно пример правил, как там сделать, чтобы

1. Запустить 2 приложения на одном воркспейсе(пусть будет telegram и whatsapp)

2. Чтобы независимо от порядка запуска одно было всегда слева, а второе всегда справа.

3. Чтобы при закрытии одного из них, второе занимало весь экран

4. При запуске второго заново, оно занимало опять своё(лево\право) место

При первом рассмотрении, там правила такие же как и в сабже. Максимум что можно указать, так это воркспейс для класса.

Пока что вижу вариантом написать свой layout в WM, который позволяет свои писать. Но это мне пока что лень.

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

А своя реализация xdg-destop-portal там есть?

Есть. Правда для GTK приложений всё равно нужен ещё и xdg-desktop-portal-gtk установленный.

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

Без переливающихся свистелок и перделок.

Свистелок-перделок там не так и много, можно было бы и побольше. И можно их не использовать, но вот хотя бы анимация переключения воркспейсов, по мне так нужна, а в sway её нет.

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

Ну, Simon тоже не подарок, но, да - далеко не настолько шиз, как Дрю.

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

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

В sway/i3 такое элементарно делается

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

В sway/i3 такое элементарно делается

Ну дайте же хоть кто-то пример. Пожалуйста. Важный момент, чтобы оно само располагалось в нужной позиции. Пишу в терминале(который на 1 воркспейсе) telegram && sleep 5 && whatsapp, а у меня на 5м они запускаются, но чтобы слева whatsapp, а справа telegram. Вне зависимости от порядка запуска и положения курсора на экране(ага, в Hyprland зависит именно от этого).

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

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

Ещё интересный вариант размещения был бы(в дополнение конечно же), чтобы 1 большое окно(например пол экрана) и n маленьких, но чтобы при смене активности на одно из маленьких, оно занимало место большого. Типа как вытащить из колоды.

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

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

Интересно, а KDE-шным можно это все заменить? Я пытался (не очень сильно), не взлетело.

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

Так вроде есть же даже команды перемешать окна и задавать позиции, есть команда получить окон открытых. Думаю можно даже скрипт сделать и менять, не?

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

Всё что я нашел, работает с текущим воркспейсом и фокусом на окнах на нём. А как скриптом расставить окна на рандомном воркспейсе(не переходя на него), я не нашел.

вот как это выглядит в доке по bspwm

Super { H, J, K, L }	Move focus to {west, south, north, east}
Super Shift { H, J, K, L }	Move focused window to {west, south, north, east}

А мне надо по имени\классу\дескриптору конкретного окна переместить его на том воркспейсе, где оно открыто. И то это будут довольно мрачные костыли на скриптах.

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

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

Я два окошка фокса так расставляю в Sway:

for_window [title="^Page Info" app_id="firefox"] floating enable
for_window [title="^Library$" app_id="firefox"] floating enable
for_window [title="^$" app_id="firefox"] floating enable, sticky enable
assign [app_id="firefox"] 2
assign [app_id="firefox_main"] 2
assign [app_id="firefox_fj"] 2
for_window [app_id="firefox_fj"] move right, resize set 864 px
for_window [app_id="firefox_main"] move right, move left, resize set 1692 px, move workspace 2

На всякий случай всё, что относится к фоксу скопипастил, в том числе то, что к этой расстановке не относится (я хочу Page Info и Library чтоб плавающими открывались, да).

Немножко, конечно, костыльно, но результат именно тот, что я хочу: основной фокс слева и широкий, дополнительный — справа и узкий, оба на втором воркспейсе. Фокус при этом никуда не скачет.

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

Вот это спасибо. Пойду искать(или просить добавить) аналоги этого for_window в сабже.

for_window [app_id="firefox_fj"] move right, resize set 864 px
for_window [app_id="firefox_main"] move right, move left, resize set 1692 px, move workspace 2

А когда это происходит? Это же не правила, это же скорее на скрипт уже похоже и должно происходить после запуска этих фоксов. Или это в правилах в Sway можно такое писать?

Или я не правильно понял и ты их просто вывел из тайлинга в флоатинг?

for_window [title=«^$» app_id=«firefox»] floating enable, sticky enable

Но это тоже идея конечно.

Да, в Hyprland это работает только для floating окон, тайловые таким образом не перемещаются по позициям.

windowrule = move 10 10, class:^(org.telegram.desktop)$

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

А когда это происходит?

После появления соответствующего окна.

Это же не правила, это же скорее на скрипт уже похоже и должно происходить после запуска этих фоксов. Или это в правилах в Sway можно такое писать?

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

Или я не правильно понял и ты их просто вывел из тайлинга в флоатинг?

В процитированнй строчке — да. Окна фокса без заголовка окна — это всякие служебные окна, и я хочу, чтобы они плавающими открывались (как и окно Library и окно Page Info). Там регэксп пустой строки, обрати внимание. К расстановке влево-вправо оно не имеет отношения.

Да, в Hyprland это работает только для floating окон, тайловые таким образом не перемещаются по позициям.

Ну вот в Sway перемещаются и тайловые. Естественно не по пикселям, а только влево-вправо-вверх-вниз.

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

Ну вот в Sway перемещаются и тайловые. Естественно не по пикселям, а только влево-вправо-вверх-вниз.

Пойду просить на гитхаб ;)

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

Не зря я Sway в своё время предпочёл, получается :)

Вроде красивостей всяких и свистелок в сабже больше, но базового функционала, который в sway с самого начала, нет. Вообще в sway с правилами и командами для окон в целом удобнее, и swaymsg есть.

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

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

Поясните: то есть это и compositor, и tiling window manager и апп для панельки сверху в одном? Или как?

Эффекты красивые, конечно. Вопрос в том, насколько много усилий нужно потратить, чтобы переехать с i3wm на вот это, и стоит ли это красивых эффектов.

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

то есть это и compositor, и tiling window manager

Для Wayland нет понятия window manager. Есть compositor, и он всегда функции этого самого window manager выполняет. Во многом можно считать compositor wayland-синонимом иксового WM, хотя технически, конечно, он делает больше.

и апп для панельки сверху в одном

Нет, панелька по выбору отдельным приложением.

Вопрос в том, насколько много усилий нужно потратить, чтобы переехать с i3wm на вот это, и стоит ли это красивых эффектов.

С i3wm лучше переезжать на Sway. Там конфиг совместим и в целом это что-то вроде Wayland-версии i3. В конфиге разве что какие-нибудь иксовые проги на wayland-аналоги заменить и всё, остальное всё совместимо, включая правила для окошек и т.д. и т.п.

Ну а стоит ли переезд именно на Hyprland ради красивых эффектов затраченных усилий и потери некоторых фич — это уже, конечно, всё субъективно. Лично для себя я решил, что не стоит, хотя и не переезжал с i3, а переезжал с Awesome, так что конфиг в любом случае с нуля — но всё равно выбрал Sway.

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

Неа, уже не совместимо. С недавной обновой i3 столкнулся с этим, когда захотел вяленого потыкать

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

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

Можно ли позицию давать не на активном, не знаю (думаю можно попробовать параметр воркспейс передать).

Но вот, чтобы активная программа становилась большой на определенном месте можно так как есть:

  • есть эвент на смену окна и какое стало новое активное, и какое было старое
  • можно узнать размеры и позицию
  • меняешь это между ними на эвент
ZogG
()
Последнее исправление: ZogG (всего исправлений: 1)
Ответ на: комментарий от Loki13

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

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

Не знаю как хайперлэнд, он там говнопилит и вроде как с каждой версией ломает вещи (меняет). Но свэй поставляется как замена i3 и по идее он почти те же конфигурации.

ZogG
()

теперь без зависимости от wlroots

Дебилы. Больше фрагментации богу фрагментации. Никакой унификации – в каждой реализации свои костыли! Так победим!

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

move [x] [y] moves a floating window

floating

А мне надо двигать tiled windows. Вот выше писали, что Sway и растайленные окна перемещает, а сабж нет(и в документации это описано).

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