LINUX.ORG.RU
ФорумTalks

А вы помните бесячий баг иксов, который всегда раздражал?

 , , , ,


2

3

Речь идёт про какие-то там жонглирования состояниями фокусов при открытых контекстных меню, которые вызываются по правой кнопке мыши или через главное меню программы, там где File, Edit, View, Help и т. д.

Этот иксовый баг ну очень сильно мешал сделать нормальный скриншот области экрана или окна в то время, когда активно контекстное меню. Поэтому приходилось изворачиваться и пердолиться всякими разными костылями и способами вроде переопределения хоткея на снятие скриншота всего содержимого экрана и потом последующей обрезке изображения в GIMP’е. Помнится, что это довольно сильно раздражало и напрягало, потому что я очень часто делал и делаю скриншоты.

С полгода назад я установил Ubuntu 22.04 LTS с дефолтным Wayland-сеансом и вот только сейчас заметил что куда-то пропало то раздражение, которое я всегда испытывал при попытке заскринить что-либо в Linux. Оказывается что баг этот зафиксили! К хорошему быстро привыкаешь, поэтому я переключился на X.Org-сеанс и решил протестировать поведение в различных приложениях там. Кто знает, вдруг и там пофиксили эту срань?! Ага, хрен там:

  1. Gedit
    Открываем контекстное меню по правой кнопке мыши, нажимаем Prt Sc – ноль реакции.
    А вот главное меню программы по кнопке «бутерброд» даёт себя скриншотить.
  2. GNOME Terminal
    Поведение аналогичное Gedit.
  3. Nautilus
    Поведение аналогичное Gedit.
  4. Firefox
    Открываем контекстное меню по правой кнопке мыши, нажимаем Prt Sc – меню пропадает.
    Открываем главное меню по нажатию Alt, открываем любой пункт, нажимаем Prt Sc – меню тупо закрывается.
  5. Chrome
    Открываем контекстное меню по правой кнопке мыши или главное меню по кнопке «бутерброд», нажимаем Prt Sc – оно пропадает и лишь изредка в скриншот попадает белый прямоугольник без текста.
  6. Qt Creator
    При открытом контекстном или главном меню нет вообще никакой реакции на нажатия кнопки Prt Sc.
  7. GIMP
    Аналогично, нет реакции на Prt Sc при открытом главном и контекстном (оно там тоже главное) меню.
  8. Telegram
    Поведение аналогичное тому что в Qt Creator, ничего не работает, хотя казалось что там все меню имплементированы поверх QPainter.

На Wayland-сеансе перечисленных выше проблем просто не наблюдается. Всё удобно и комфортно, скриншоты контекстных и главных меню, как и различных всплывающих элементов в приложениях запущенных как под Wayland, так и под XWayland делаются без какого-либо пердолинга, раз и готово:

https://baat.exlmoto.ru/~exl_lab/screens/Wayland_Menus.png

Напомните пожалуйста, какую там шизу публикуют различные луддиты в оправдание этого иксового бага? И ладно бы этот баг был какой-то там недавней регрессией, так нет, вот уже как ~20 лет в этом иксовом позоре Linux-десктопа он присутствует и всех раздражает. Я его ещё во времена KDE 3 и GNOME 2 помню, а воз и ныне там.

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

★★★★★

Зато ему требуется в обязательном порядке аппаратное 3D ускорение и нет сетевой прозрачности. Да, для обычного использования ни то, ни другое не нужно, но это уже не просто «шероховатости», а фундаментальные проблемы, которые официально просто взяли и объявили не проблемами. Как и кучу прочих вещей в Wayland.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)

Мне лень, но может кто выкатит простыню раз в 20 длиннее с проблемами вяленого, причём фундаментальными и неисправимыми в принципе в рамках вяленого. Так будет честнее =) На деле Иксы надо просто переписать оставив всё актуальное и всё проверенное временем, а вяленый просто выкинуть ибо это выкидышь какой то. Да работает, в рамках своих скромных границ и хорошо работает, только этот зоопарк вайландов выгдядит как бред стандарт есть, а все делают как хотят. Нахер оно такое нужно

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

Кто знает, вдруг и там пофиксили эту срань?!

А кто фиксить должен? Если тебя это бесит со времен KDE3, то где твои патчи для решения этой проблемы?

RussianWarShip
()
Ответ на: комментарий от Vsevolod-linuxoid

Да эт я видал, всё что там написано было не раз сказано и до этого.

Я не за вяленого и не за иксы, но я меньше «не за» за иксы чем за вяленого. Ибо иксы у меня всегда просто работали. А с вяленым то это нельзя то это нельзя, завтраки что скоро всё будет хотя вяленому уже дцать лет, а воз и ныне там.

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

Вялый чит и красив, а толку то? Мне жена нужна которая и жрать поварит и убраться сможет и ваще. А эта тощая дура что может? Губы намазать да в платьице ходить и всё? +)))

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

Зато ему требуется в обязательном порядке аппаратное 3D ускорение

https://github.com/swaywm/sway/issues/6613#issuecomment-944961338

нет сетевой прозрачности

https://www.opennet.ru/opennews/art.shtml?num=50990

фундаментальные проблемы

Акцент на аппаратном 3D-ускорении когда сегодня в каждом чайнике есть GPU и отстсутствие сетевой прозрачности, когда сегодня активно гоняются битмапы как то не подходят в раздел фундаментальных проблем. Гораздо более явные фундаментальные проблемы в Wayland сегодня – отсутствие нормальной поддержки Fractional Scaling в эпоху HiDPI дисплеев различных размеров (вроде как пилится, но не слежу), отсутствие поддержки HDR (пилится Red Hat’ом) и проблемы с глобальным позиционированием, которое явно запрещено. Иными словами при работе на многомониторных конфигурациях в X11 некоторые приложения, например, Yakuake запускаются на том дисплее, где находится курсор что очень удобно. В Wayland они запускаются лишь на одном дисплее. Х.з, работают ли над решением этой проблемы сегодня или нет, но тут очевидная потеря функциональности.

EXL ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

На деле Иксы надо просто переписать оставив всё актуальное и всё проверенное временем, а вяленый просто выкинуть ибо это выкидышь какой то.

Как ты выкинешь то, что сегодня по дефолту используется в Debian, CentOS, Red Hat, Fedora, SUSE, Ubuntu и т. д.? Выкинуть Wayland или X.Org могут лишь корпорации. И даже не одна корпорация, а несколько. Потому что поддержка нового протокола в тулкитах, драйверах и окружениях из воздуха не появится.

EXL ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Вялый чит и красив, а толку то? Мне жена нужна которая и жрать поварит и убраться сможет и ваще. А эта тощая дура что может? Губы намазать да в платьице ходить и всё? +)))

Мастер! :))

Dimez ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

А с вяленым то это нельзя то это нельзя, завтраки что скоро всё будет хотя вяленому уже дцать лет, а воз и ныне там.

Года два-три назад всем ЛОРом смеялись мол «ха-ха в этом вашем Wayland скриншоты низзя делать», а на деле оказалось что это в X.Org нормально делать скриншоты нельзя вот уже 20+ лет, а в Wayland – пожалуйста и сколько хочешь.

Вялый чит и красив, а толку то? Мне жена нужна которая и жрать поварит и убраться сможет и ваще. А эта тощая дура что может? Губы намазать да в платьице ходить и всё? +)))

То есть тебе нужен глючный комбайн, противоречащий концепции UNIX-Way: делай что-то одно, но делай это хорошо. Эта комбайновость мешает фиксить сабжевые баги. Шутка ли, в репозиториях многих дистрибутивов существует отдельный пакет иксов, где зафиксили какой-то бред в input-системе: https://aur.archlinux.org/packages/xorg-server-bug865, но в апстрим не приняли из-за того, что неизвестно поломалось бы чего или нет. Да и вообще, смысл всего этого барахла напиханного в X.Org, когда оно там всё мёртвое, кроме сервера окошек?

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

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

=) Всё да и всё нет, лядня я усталь. Хорошего холивара,а я почитаю ^.^

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от Shadow

Это первое.

А кроме этого, можно повесить свой собственный обработчик (scrot или ещё что) через xbindkeys. Уже много лет делаю именно так, есть разные обработчики на PrtScrn, Ctrl+PrtScrn, Meta+PrtScrn.

Bass ★★★★★
()

Этот иксовый баг ну очень сильно мешал сделать нормальный скриншот

Один я не знаю зачем их делать? А может это... лучше про тиринг опять поныть?

bread
()

Было бы круто при feature parity, а так фигня. Постоянно трогаю wayland сеанс в кедах, постоянно что-то не работает. То мыльные браузеры, то yakuake не работает, то вообще сеанс не стартует. Я даже готов допиливать сам то, чему нужен просто переход на новое API, так там в композиторе постоянно проблемы и нехватка API в вяленом (потому что он отвечает только за небольшую долю ф-ций иксов).

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

Было бы классно, если бы разработчики kwin_wayland и wlroots как-то более активно сотрудничали друг с другом. У них кажется была какая-то коллаборация, когда они впилили поддержку Server-side Decorations в свои композиторы.

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

Пользуюсь программой gnome-screenshot. Она позволяет задать количество секунд для задержки между «Take screenshot» и получением скриншота. Удобно для снимка разных особенных видов. Другая фича, что там можно вырезать выделением нужное.

praseodim ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

На деле Иксы надо просто переписать оставив всё актуальное и всё проверенное временем

Это было бы замечательно, но кто это сделает? Основная проблема X11 в том, что его уже около 20 лет всерьёз не разрабатывает и он находится в полузаброшенном состоянии.

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

В последних версиях GNOME скриншотилку вроде как встроили внутрь Mutter и подобные костыльные задержки стали не особо нужны.

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

В том вся проблема Wayland что много чего требуется реализовывать в Wayland сервере и не невозможно реализовать в обычных приложениях. Что очевидно нарушает философию UNIX делая Wayland сервер переусложнённой монолитной сущностью делающую кучу несвязных вещей.

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

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

Вот это киллер фича!

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

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

Я кстати давно об этом говорил. По уму можно было сделать как в Android – мол приложение запросило доступ к глобальному состоянию клавиатуры/экрану/курсору/другим окнам, выдать yes/no? Естественно с умным запоминанием и настройкой всего этого.

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

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


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

Итак, сначала нужно сказать иксам, что транслировать код клавиши PrintScreen в символьное имя Print не стоит: xmodmap -e 'keycode 107 = NoSymbol NoSymbol NoSymbol'. По идее, как-то иксы уже знают, что 107 у меня соответствует PrintScreen, так что при желании этот пункт можно автоматизировать.

Второй шаг — отслеживать отпускание PrintScreen. Из готовых утилит xinput умеет слушать по XInput2. Правда, печатает события в несколько строк, это муторно парсить, так что проще брать события из xinput test 10, где вместо 10 нужно подставить номер устройства клавиатуры:

xinput test 10 | grep --line-buffered "key release 107" | while read i; do ( cd ~/Screenshots/; scrot ); done

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

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

Скажи это разработчикам Wayland, которые заставляют каждого автора WM и DE писать код для всего того, что в X11 уже готово и работает для всех окружений.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от i-rinat

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

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

X512 ★★★★★
()
Ответ на: комментарий от i-rinat

Наверное по той же причине, почему в Linux нельзя повесить переключение раскладки на Ctrl+Shift без того, чтобы сломать все хоткеи, что начинаются с этих клавиш — всем плевать на десктоп в Linux, его делают на «отвали».

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

Скажи это разработчикам Wayland, которые заставляют каждого автора WM и DE писать код для всего того, что в X11 уже готово и работает для всех окружений.

Ты всегда можешь взять wlroots, kwin_wayland, mutter, mir и использовать их для своего WM или DE. Что собственно сегодняшние разработчики WM и DE и делают.

Наверное по той же причине, почему в Linux нельзя повесить переключение раскладки на Ctrl+Shift без того, чтобы сломать все хоткеи, что начинаются с этих клавиш — всем плевать на десктоп в Linux, его делают на «отвали».

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

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

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

А в Wayland этого бага нет? Я про проблему с Ctrl+Shift.

К сожалению, тут я без понятия ибо дефолтожор и использую везде для переключения языка Win+Space, эта комбинация на многих системах работает из коробки и с ней я встречал проблемы только на некоторых слишком умных сайтах, где в полях ввода напихан всякий замороченный JavaScript с хардкодом на давний виндовый дефолт по Alt+Shift.

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

Ctrl+alt+Esc с xkill там можно сделать?

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

Я же написал «вроде». Ради интереса проверил, оно не в Mutter, а каким-то расширением к GNOME Shell выполнено, которое идёт с ним в комплекте: https://github.com/GNOME/gnome-shell/blob/main/js/ui/screenshot.js

Так что на UNIX Way никто не посягал. Но вообще простенькой и удобной скриншотилке самое место в композиторе, чтобы не дублировать его работу в отдельных приложениях. Вот как оно в истоках было у классических Mac OS – моментальный запуск и адекватное срабатывание во всех случаях.

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

По уму можно было сделать как в Android – мол приложение запросило доступ к глобальному состоянию клавиатуры/экрану/курсору/другим окнам, выдать yes/no? Естественно с умным запоминанием и настройкой всего этого.

Разве порталы не для этого?

Rootlexx ★★★★★
()

как мало тебе надо для радости вброса

kott ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Мне жена нужна которая и жрать поварит и убраться сможет и ваще.

И и что бы с коромыслом по воду ходила, и прочее legacy.

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

на некоторых слишком умных сайтах, где в полях ввода напихан всякий замороченный JavaScript с хардкодом на давний виндовый дефолт по Alt+Shift.

Это как? Я не то что бы не верю, но может у тебя сайт этот остался в хистори или кусок жс кода? Всмысле, раскладка на уровне ос и жс в браузере не пересекаются никак.

Разве что сайт рисует свою вирт клавиатуру? Расскажи, интересно.

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

Для этого, но портала для глобальных сочетаний клавиш никто ещё не написал.

eternal_sorrow ★★★★★
()

я установил Ubuntu 22.04 LTS

У меня проблемы с фокусом появились в версии 18.04, до этого (в 12.04) никаких проблем не было. И, как я понял, связано это с появлением Gtk3 (вместо Gtk2).

Вобще, гномеры в последние годы много нагадили...

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

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

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

самое место в композиторе

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

Shadow ★★★★★
()

На Wayland-сеансе перечисленных выше проблем просто не наблюдается.

Зато другие наблюдаются. Если шарить экран в гноме, то переключить раскладку дефолтным хоткеем не получается, так как фокус перехватывает окошко с кнопкой «Stop share». И если при помощи Alt-Tab переключится на окно, то оно тоже не получает фокус, нужно явно кликнуть по нему мышкой.

Очень надеюсь, что временное, и скоро починят.

Vovka-Korovka ★★★★★
()
Последнее исправление: Vovka-Korovka (всего исправлений: 1)

А у меня на вяленом Сыр не работает. Превьюха камеры - повод для сегфолта. Так же как компонент браузера, для гмыл-авторизации, например. На иксах всё чётко

DumLemming ★★☆
()

Баг иксов это доисторический файловый менеджер, ну и терминал. И если доустановить thunar, то всё пучком.

sr11
()

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

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

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

Это как? Я не то что бы не верю, но может у тебя сайт этот остался в хистори или кусок жс кода? Всмысле, раскладка на уровне ос и жс в браузере не пересекаются никак.

Разве что сайт рисует свою вирт клавиатуру? Расскажи, интересно.

Да, вспомнил один такой сайт. Сейчас проверил, а бага там уже и нет, значит пофиксили.

Ан нет, пофиксили его только в Wayland-сеансе, в X.Org-сеансе баг всё так же на месте!

Steps to reproduce:

  1. Заходим на https://forum.motofan.ru/index.php?showforum=100, прокручиваем страницу до поля: «Введите слово | Найти на форуме», [Скриншот].
  2. Вводим что-либо в текстовое поле, переключаем язык нажатием Win+Space.
  3. Если используется X.Org-сеанс, то введённый в это поле текст тупо проподает. А в Wayland-сеансе всё нормально.

Снова какие-то убогие иксовые баги с фокусом.

EXL ★★★★★
() автор топика
Последнее исправление: EXL (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.