LINUX.ORG.RU

Sway 1.0

 , , ,


1

4

Sway 1.0 (вместе с wlroots) включает 6,875 изменений от 205 контрибьюторов. Это первый стабильный релиз sway.

Изменения

  • Кодовая база полностью переработана. Некоторые особенности были изменены чтобы совпадать с поведением i3, в том числе со сломом обратной совместимости. Могут присутствовать ошибки, о которых разработчикам ещё неизвестно.
  • swaygrab удалён. Для скриншотов попробуйте grim, а для захвата видео wlstream.
  • Этот релиз зависит от wlroots 0.5 и убирает зависимость от wlc.
  • Этот релиз использует scdoc для генерации страниц man и убирает зависимость от asciidoc.
  • Экспериментальная поддержка проприетарного драйвера Nvidia была объявлена устаревшей с момента её добавления и теперь полностью удалена. Используйте nouveau, а в будущем покупайте GPU у производителей, которые поддерживают Open Source. Другие проприетарные драйверы также не поддерживаются.
  • swaylock выделен в отдельный проект.
  • swayidle, новый демон, управляющий состоянием бездействия, также доступен отдельно.

Новые возможности

  • 100% совместимость с i3*.
  • 100% совместимость с i3 IPC*.
  • 100% совместимость с i3-gaps.
  • 100% совместимость с i3bar**.

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

** За исключением трея.

Возможности sway

  • Добавлен swayidle, демон для управления DPMS и состоянием бездействия (например, автоматической блокировкой экрана по таймауту) – man swayidle.
  • Добавлен swaynag, замена i3-nagbar с дополнительными возможностями, не поддерживаемыми i3-nagbar – man swaynag.
  • bindsym --locked добавляет сочетания клавиш, которые работают, пока экран заблокирован.
  • Блоки команд теперь обобщённые и работают с любой командой.
  • Прозрачность окна может быть настроена командой opacity.
  • border csd явным образом включает декорации на стороне клиента.
  • Атомарные изменения раскладки гарантируют, что при изменении размеров окон и подстройке раскладки вы не увидите неполных кадров и частично отрисованных клиентов.
  • Urgency hint из Xwayland теперь поддерживается.
  • Отслеживание события damage значительно улучшает производительность CPU и энергопотребление.
  • Аппаратные курсоры теперь поддерживаются, улучшая производительность.
  • Бекенды Wayland, x11 и headless теперь поддерживаются для конечного пользователя, позволяя вложенные и безголовые сессии sway.
  • Экранные клавиатуры, такие как virtboard, теперь поддерживаются.
  • Перемещение тайловых окон мышью теперь поддерживается и работает как предложенная возможность i3.
  • Барьеры указателя теперь позволяют играм и другим приложениям захватывать курсор.

Вывод на экран

man 5 sway-output

  • Поворот экрана (например, output NAME transform 90).
  • Дробное масштабирование (например, output NAME scale 1.5) – смотрите предупреждения в мануале.
  • Окна могут быть перемещены мышью между экранами (и отображаться корректно, когда перемещаются между экранами с разными коэффициентами масштабирования).
  • Разрешение экрана теперь применяется через modesetting.
  • Sway может работать на нескольких GPU.
  • Поддержка последовательных цепочек DisplayPort (daisy-chained) и других экзотических конфигураций.
  • Все клиенты sway (к примеру, swaylock) корректно поддерживают HiDPI.
  • Реализован новый интерфейс управления гаммой с широкой поддержкой аппаратного обеспечения* – смотрите этот патч redshift.

* У некоторых пользователей могут быть проблемы с ошибками в драйверах, конкретно в некоторых конфигурациях AMDGPU.

Ввод

man 5 sway-input

  • Раскладки клавиатуры и опции XKB могут быть указаны в файле конфигурации.
  • Стабилизирована поддержка мультитач.
  • Графические планшеты поддерживаются (частично – эмулируется мышь).
  • Можно указать статус num lock и caps lock при старте.
  • Несколько устройств ввода может быть привязано к одному курсору (или нескольким курсорам).
  • Несколько клавиатур с разными раскладками могут использоваться взаимозаменяемо.
  • Может быть настроено несколько рабочих мест (каждое со своими устройствами ввода и окном в фокусе).
  • Можно ограничить влияние устройств ввода конкретным экраном или областью экрана.
  • Устройства ввода, которые создают события с абсолютным позиционированием (например графические планшеты), могут ограничить своё влияние регионом устройства ввода.
  • Движения мыши и нажатия клавиш могут быть сэмулированы командами sway.

Возможности wayland

  • Поддержка drag-and-drop.
  • Мультимедийное содержимое (изображения, и т.п.) может быть скопировано между Xwayland и Wayland.
  • Реализован протокол главного выделения GTK (и синхронизируется с главным выделением Xwayland).
  • Реализован протокол layer-shell (что позволяет сторонние панели, блокировщики экрана, демоны уведомлений и т.п.)
  • Разработан и реализован протокол захвата экрана в реальном времени (что позволяет в будущем сторонние инструменты для скриншотов и захвата видео с экрана).
  • Реализованы протоколы бездействия и запрета бездействия (что позволяет отключение экрана и запрет отключения, к примеру, видеоплейерами).
  • Реализовано и стандартизировано согласование декораций на стороне клиента/сервера.
  • Поддерживается стабильный протокол xdg-shell.

swaylock

man swaylock

  • Поддержка разных изображений на разных экранах.
  • Внешний вид может быть настроен.
  • Добавлен опциональный файл конфигурации.

Разное

  • Xwayland теперь запускается только тогда, когда запускается клиент x11.

Исправления ошибок

  • Исправлены все известные проблемы с xdg-shell (такие как размытые меню, которые не получают фокус).
  • Исправлены все известные проблемы с Xwayland (такие как странности меню Firefox).
  • Исправлены все известные ошибки HiDPI.
  • Исправлены все известные ошибки swaylock и swaybar.
  • Перезагрузка конфига не вызывает крашей.
  • Переключение TTY не подвешивает систему.
  • В целом, большинство ошибок исправлено.

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

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Virtuos86 (всего исправлений: 9)
Ответ на: комментарий от eternal_sorrow

Ну вот хотелось бы и рыбку съесть и косточкой не подавиться. ;-) Впрочем, судя по всему, это не в ближайшие пункты roadmap-а не входит.

P.S. перепутал как обычно compiz с compton, но конкретно здесь смысл не особо поменялся

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

А когда Wayland выстрелил - поздно спохватились.

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

А так, вейланд — проект со смутными целями достиг непонятных результатов. Самое непонятное в движухе с вяленым — зачем это все.

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

хорош уже толстить из под анонимуса. залогинься чтобы мы знали нашего героя в лицо

Ах. Апологеты вяленого не очень любят в цифры и факты. Яркие и креативные — они про чувства.

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

почему бы не предоставить выделение буффера драйверу, чтобы он разбирался как это корректнее сделать? gbm всего лишь один из способов. в других ОС могут быть другие способы. Можно даже android'овое расширение использовать с gralloc

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

wayland вместо того чтобы представить удобную обёртку для разных API (вся суть которой получить eglsurface и шаренные текстуры любым путём) завазывается на одном из способов получения. Это как минимум глупо.

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

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

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

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

Самое непонятное в движухе с вяленым — зачем это все.

Самое очевидное – чтобы графический стек Linux’а развивался дальше, а не завис на:

$ man xorg.conf | grep Nobody -1
VIDEOADAPTOR SECTION
       Nobody wants to say how this works.  Maybe nobody knows ...
EXL ★★★★★
()
Ответ на: комментарий от anonymous

А так, вейланд — проект со смутными целями достиг непонятных результатов

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

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

wayland вместо того чтобы представить удобную обёртку для разных API (вся суть которой получить eglsurface и шаренные текстуры любым путём) завазывается на одном из способов получения

wayland ни на чем не завязывается, это протокол, использовать eglstreams не хотят авторы композиторов. При чем тут получить eglsurface, если речь про то, что с ним делать дальше и как общаться с девайсами [1]? Объясни, зачем использовать нестандартные расширения невидии, если можно использовать всем удобный gbm? А если у меня интел и нвидия, как мне их мирить, если интел предоставляет gbm интерфейс, а нвидия — свое говно? Ну хоть дрм сделали после долгих лет нытья. Когда шло обсуждение соответствующего топика, невидия отказалась присоединиться, а теперь у них засвербел NIH.

[1] https://marc.info/?l=kwin&m=154205907402787&w=3

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

Пока свои условия диктует только Nvidia. Хотя что говорить человеку, который в KDE и проприетарном тормознутом блобе видит что-то прекрасное...

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

Самое очевидное – чтобы графический стек Linux’а развивался дальше

И какова успешность? Есть первые скромные результаты? Или еще надо лет 10 подождать, да, торопиться не надо.

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

Это ты про поддержку multi DPI и дробного масштабирования?

Зощитнег, глупенький, ну не при делах твой любимый вейланд. Это делает тулкит.

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

Как же у тебя не бомбит, хе-хе-хе. Настоящий полодин вяленого.

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

Есть первые скромные результаты?

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

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

Ну как минимум отсутствие тиринга

Чтобы не быть голословным, расскажи как его добиться. (Хотя бы просто для сравнения.)

разный DPI на разные мониторы без пердолинга — уже результат, благодаря которому иксы можно выкидывать.

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

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

разный DPI на разные мониторы без пердолинга

Хотя тут ты затронул действительно один из недостатков X'ов — вывод графики происходит не в логических, а в абсолютных координатах. Рисовалка в X'ах совсем нехороша. Нужно пилить расширение, что-то типа OpenVG.

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

Не кормите вы этого толстяка. Он в каждом посте про вейланд появляется и одну и ту же ахинею несёт. Просто игнорируйте.

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

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

Разбуди меня когда твой тулкит сделает это на иксах, ок?

Вяленок, точно скажи, что ты хочешь: почему, но почему вы, любители вейланда, так боитесь конкретики?

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

Чтобы не быть голословным, расскажи как его добиться

  1. Запустить wayland-композитор
  2. Убедиться, что тиринга нет изкаропки
  3. Закрыть wayland-композитор и идти дальше писать настройки своего уютного compton
balsoft ★★
()
Ответ на: комментарий от balsoft

Ну как минимум отсутствие тиринга

Чтобы не быть голословным, расскажи как его добиться.

Запустить wayland-композитор

В вяленки набирают особенных, *солнечных* детей? Спрашиваю — как увидеть *тиринг* (тьфу, ну и словечко — да и нет такого слова в СРЛЯ) в X'ах; ответ — запустить wayland-композитор. Ахренеть.

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

Прежде чем грубить, научись правильно вопросы ставить. Тебе написали про «отсутствие тиринга под вейленд», ты ответил «как его добиться». Ясен пень, что речь про отсутствие тиринга под вейленд, а не про тиринг под X.

Ну да ладно.

Как увидеть тиринг в X? Ну запусти X без композитора, и открой вот этот видос (с помощью youtube-dl+mplayer, если на ютуб заходить религия не позволяет):

https://www.youtube.com/watch?v=0RvIbVmCOxg

Результаты: на вейленде - тиринга нет, движется плавно; X без композитора - полосы «рвутся» (тиринг); X+xcompmgr(compton) - тиринга нет, слегка подёргивается картинка (не 60 fps); X+kwin - картинка подёргивается чуть сильнее (на глазок, не проверял).

Не фанат вяленого ни разу, ибо архитектура у него уёбищная, и стандарт очень маленький и из-за этого каждый WM/DE вводит свои велосипедные стандарты, не совместимые ни с чем. Но зато HiDPI и тиринга нет, с этим спорить бесполезно.

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

Результаты: на вейленде - тиринга нет, движется плавно; X без композитора - полосы «рвутся» (тиринг); X+xcompmgr(compton) - тиринга нет, слегка подёргивается картинка (не 60 fps); X+kwin - картинка подёргивается чуть сильнее (на глазок, не проверял).

На Х'ах это лечится расширением SYNC в общем случае, для intel'а надписью TearFree в xorg.conf. Ну да суть явления понятна.

HiDPI и в X'ах есть. А говорить о нехорошей архитектуре вейланда — делать его разработчикам неоправданные комплименты.

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

А в mplayer что, бывает тиринг?

Ага, ты прав — все mpv все четко и плавно.

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

HiDPI и в X’ах есть

На разных мониторах разный DPI я так и не смог настроить. Вот такой я неосилятор. На Wayland всё более-менее хорошо под сабжем, пара строк в настройках - и всё работает. Разве что GTK показывает ужасные мыльные шрифты.

для intel’а надписью TearFree в xorg.conf

Для AMD, кстати, тоже. Только вот по моим наблюдениям оно работает как-то через раз. Может быть, это я криворук, но вот на десктопе с AMD - тиринг пропадает, а на ноутбуке - нет.

balsoft ★★
()

100% совместимость с i3*.

Aж 146% …

2019-03-15 14:58:57 - [sway/config.c:753] Error on line 145 'new_window 1pixel #normal': Expected 'default_border <none|normal|pixel>' or 'default_border <normal|pixel> <px>' (/home/anon/.i3/config_bak)
2019-03-15 14:58:57 - [sway/config.c:753] Error on line 146 'new_float 1pixel': Expected 'default_floating_border <none|normal|pixel>' or 'default_floating_border <normal|pixel> <px>' (/home/anon/.i3/config_bak)
2019-03-15 14:58:57 - [sway/config.c:753] Error on line 183 'client.focused          #4B87A9 #3C66A6 #ffffff #2CACF5': Invalid client.focused command (expected 5 arguments, got 4) (/home/anon/.i3/config_bak)
2019-03-15 14:58:57 - [sway/config.c:753] Error on line 184 'client.focused_inactive #5E5E5E #6E567B #ffffff #475D61': Invalid client.focused_inactive command (expected 5 arguments, got 4) (/home/anon/.i3/config_bak)
2019-03-15 14:58:57 - [sway/config.c:753] Error on line 185 'client.unfocused        #5E5E5E #E6E8F5  #5E5E5E #3A2E3F': Invalid client.unfocused command (expected 5 arguments, got 4) (/home/anon/.i3/config_bak)
2019-03-15 14:58:57 - [sway/config.c:753] Error on line 186 'client.urgent           #3E443B #900000 #ffffff #900000': Invalid client.urgent command (expected 5 arguments, got 4) (/home/anon/.i3/config_bak)
2019-03-15 14:58:57 - [sway/config.c:753] Error on line 200 'background  #DED2FA #E6E8F5 #B9CEEC': Invalid background command (expected 1 argument, got 3) (/home/anon/.i3/config_bak)
2019-03-15 14:58:57 - [sway/config.c:368] Error(s) loading config!
i3 -v
i3 version 4.15 (2018-09-26, branch "next")

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

Вяленок, точно скажи, что ты хочешь: почему, но почему вы, любители вейланда, так боитесь конкретики?

Я тебе написал - запили мне дробное масштабирование на иксах. В Wayland оно есть и работает прекрасно, благодаря протоколу xdg-output работает и в Xwayland. Так что не петушись и докажи, что иксы - тру, а Wayland говнище.

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

ибо архитектура у него уёбищная

Конечно она такая, ведь ты не принимал участие в проектировании. Что же ты так?

и стандарт очень маленький

Хочешь чтобы это был монолитный монстрила типа Xorg?

каждый WM/DE вводит свои велосипедные стандарты

Большинство приватных протоколов после обкатки проходят стандартизацию и добавляются в пакет wayland-protocols. Примеры - xdg-decoration (вышел из KDE server-decoration) и primary-selection (вышел из gtk-primary-selection).

Но зато HiDPI

Он и в иксах есть, только проблема не в его работе, а в работе нескольких мониторов с разными DPI и с дробным масштабированием.

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

Что же ты так?

Меня в целом устраивают X. Не вижу особого смысла заменять. (Ну и скила не хватает, это да)

Хочешь чтобы это был монолитный монстрила типа Xorg?

Нет, хочу, чтобы протокол предусматривал как можно больше сценариев использования. Алсо, Xorg получается гораздо более модульным, ибо состоит из кучи взаимозаменяемых компонентов (дисплейный сервер, менеджер окон, композитор), а в wayland всё это должен обеспечивать один компонент (композитор). Это гораздо менее гибко (и напоминает одно из худших свойств systemd).

Большинство приватных протоколов после обкатки проходят стандартизацию и добавляются в пакет wayland-protocols. Примеры - xdg-decoration (вышел из KDE server-decoration) и primary-selection (вышел из gtk-primary-selection).

На правильном пути. Когда появится наконец возможность сделать скриншот или скринкаст, просмотреть список окон, попросить расположить своё окно в заданной точке, попросить разместить курсор в заданной точке окна, указать расположение мониторов и seats, указать поведение input devices и задать шорткаты независимо от композитора - можно будет говорить о более-менее полном протоколе. А пока этого нет - вэйлэнд как протокол не готов для десктопа.

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

Потому что вне области встроек у нас 2 поставщика gpu, nvidia и amd. Потенциально ещё intel. Если Сонька/MS для PS6 и аналога выбирают AMD/Intel, то переходить на армы им без надобности. Остаться на x86 лучше, можно совместимость легче поддерживать. Переход на арм необходим, если выберут другого производителя SOC, у которого нет x86, т.е. либо NVidia, либо кого-то из встройщиков.

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

Ну вот ты, как новообращенный амдшник, наверняка слышал про freesync. Так вот, этот фрисинк под линупсом вот-вот заработает, если, конечно, у тебя не 2 монитора, иначе старая кривая рахитектура x11, у которой мультимониторы через зад. То ли дело Wayland, там всё дан райт изначально, и разные dpi тянут... Вот только фрисинк для него, говорят, не сделали. И так везде, потенциально да, но пока нет.

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

Когда появится наконец возможность сделать скриншот или скринкаст,

Вроде же уже, только в обход вейланда. Зачем это обычной программке? Делать беспалева скриншоты с конфиденциальными данными и отсылать на сайт?

просмотреть список окон,

Это нельзя. И не нужно. Xeyes и овечка, ползающая по окнам, да, нереализуемы. И wine, к сожалению, тоже.

попросить расположить своё окно в заданной точке,

Чтоб создавать своё окно поверх эдитбокса с паролем?

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

Да я ж нигде не говорю, что обязательно делать как в Xorg - т.е. все могут видеть и делать всё, что угодно. Можно было сделать нормальный, унифицированный на несколько шин интерфейс к композитору, который позволял бы просить разрешения делать что-либо, а композитор, в свою очередь, мог бы спрашивать это у юзера, мол «Приложение /bin/foo_very_bad_virus запрашивает разрешение на запись экрана. Разрешить?»

А вот подход с «всем всё запрещено по-дефолту, композиторы сами решают, что можно и как реализовать» - он не будет работать.

А пока у гну/линукса 1.5% на десктопе (i.e. никто не будет писать десктопную вирусню) - и иксовый подход очень даже хорош, ибо позволяет мне менять WM, оставляя все остальные части системы на месте.

теперь по пунктам.

просмотреть список окон,

Это нельзя. И не нужно

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

попросить расположить своё окно в заданной точке,

Чтоб создавать своё окно поверх эдитбокса с паролем?

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

скриншот или скринкаст

Делать беспалева скриншоты с конфиденциальными данными и отсылать на сайт?

Нет, чтобы сделать, блин, скриншот. Или записать видео с экрана. И ещё это выглядит очень лицемерно - например, к вебке, микрофону и всем данным в ~ доступ получить очень легко (если сам пользователь в video, audio и не парится с запуском всего-всего в контейнерах), а вот скрин сделать - не, нельзя.

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

Я про разный DPI на разных мониторах. Говорю как человек, который долго страдал, пытаясь подключить 4k монитор к FHD ноутбуку. В итоге настроил так, чтобы нормально выглядело на 4k, и забил на ноутбучный экран (хотя на него можно было бы впихнуть полезной инфы). Но из-за двух преимуществ (даже полутора, если честно) пилить новый протокол - это такое себе.

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

Протокол уже в разработке. Пруф к сожалению не предоставлю, просто слышал от разраба Месы

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

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

Уже есть и давно - xdg-desktop-portal + PipeWire. Либо zero-copy протокол от wlroots - wlr-screencopy

просмотреть список окон

Это и в иксах WM-специфично, если что.

попросить расположить своё окно в заданной точке

Есть интерфейс xdg-positioner

попросить разместить курсор в заданной точке окна

Тут не совсем понял, объясни юзкейс.

указать расположение мониторов и seats

seats работа базового протокола, насчёт мониторов пока да, каждый пилит во что горазд (к примеру kscreen в KDE и LXQt).

вэйлэнд как протокол не готов для десктопа

Давно готов. И реализован везде, где сейчас обозначена поддержка Wayland. Другое дело - расширения. Самое основное - xdg-shell, ибо встроенный wl_shell объявили неподдерживаемым, так как было тяжело его допиливать не ломая к херам основной протокол. Как я понял. И далее по списку

Sunderland93 ★★★★★
()
Последнее исправление: Sunderland93 (всего исправлений: 1)
Ответ на: комментарий от Sunderland93
Когда появится наконец возможность сделать скриншот или скринкаст

Уже есть и давно - xdg-desktop-portal + PipeWire. Либо zero-copy протокол от wlroots - wlr-screencopy

Так и не нашёл утилиты, которая заменит scrot без привязки к композитору. Можешь дать ссылку?

просмотреть список окон

Это и в иксах WM-специфично, если что.

Не совсем. В иксах есть wmctrl, который работает везде.

попросить разместить курсор в заданной точке окна

Тут не совсем понял, объясни юзкейс.

В i3 у меня курсор перемещался в центр окна, которое я фокусирую с клавиатуры. В sway я так и не нашёл даже WM-specific способа это сделать.

попросить расположить своё окно в заданной точке

Есть интерфейс xdg-positioner

Можешь рассказать об этом разрабам wine? А то они плакались, что никак нельзя, и гуглинг не привел лично меня к этому интерфейсу. Видимо, не очень очевидно.

Давно готов

Судя по тому, что интерфейсы по-прежнему дико фрагментированы по композиторам - пока не готов.

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

Можешь рассказать об этом разрабам wine?

Им не подойдёт. Вейланд позволяет позиционировать попап относительно родительского окна, вроде даже всегда позволял, но, так как позиция родительского окна приложению неизвестна, позиционировать абсолютно так не выйдет. Но эта фича приводила к проблемам, попапы могли выскочить за границу экрана. Если не позволять им выскакивать, то попап мог перекрыть родительскую кнопку. Вот и придумали расширение, которое позволяет объяснить примерно что хотим, а дальше композитор выберет вменяемое место для попапа. Вайну нужно другое: все попапы в винде, включая менюшки, работают с абсолютными координатами, и относительно чего эти координаты были вычислены вайн в общем случае не знает. Единственное решение - окно виртуального десктопа вайна. Либо сидеть дальше в xwayland.

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

Так и не нашёл утилиты, которая заменит scrot без привязки к композитору.

Когда в scrot добавят поддержку PipeWire - тогда и будет. Пока всё только начинается.

Судя по тому, что интерфейсы по-прежнему дико фрагментированы по композиторам - пока не готов.

Чтобы стандартизировать интерфейс, его сперва нужно хорошенько обкатать. Делается это в рамках конкретного композитора. Однако ничего не мешает взять такой интерфейс от чужого DE и прикрутить к своему, как делали с server-decorations или как сделали в swayidle, прикрутив протокол от KDE. Это ведь просто .xml-файл, который после прогонки wayland-scanner'ом делает тебе хэдер и маршалинг-код. И по сути не так важно где он хранится - в wayland-protocols или в каком-нибудь KWayland. Фрагментацию тут может создать только Гнум, так как разрабы KDE, wlroots/sway и Mir кооперируются друг с другом, стараясь всё привести к единому виду.

Можешь рассказать об этом разрабам wine? А то они плакались, что никак нельзя, и гуглинг не привел лично меня к этому интерфейсу. Видимо, не очень очевидно.

Этот интерфейс - часть протокола xdg-shell

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

А сообщать каждому приложению, что размер его окна совпадает с размером экрана и расположено это окно в (0, 0) не получится?

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

Когда в scrot добавят поддержку PipeWire - тогда и будет.

Да, но пока нет. Классика жанра.

Пока всё только начинается.

Initial release 30 September 2008; 10 years ago

Шёл одиннадцатый год разработки протокола. Скриншоты мы пока не осилили, но ведь всё только начинается!

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



Initial release 30 September 2008; 10 years ago

Шёл одиннадцатый год разработки протокола. Скриншоты мы пока не осилили, но ведь всё только начинается!

Я не про Wayland, он готов уже много лет. Я про PipeWire и его поддержку в мультимедиа софте

Sunderland93 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.