LINUX.ORG.RU

Крыса, иксы и масштабирование

 ,


0

2

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

Предлагаю вам отвлечься от всего мирского и вместе со мной насладиться скриншотами рабочего стола уважаемого @kirill_rrr, который сделал их специально для меня, как убедительную демонстрацию работы дробного масштабирования под иксами, цитирую:

показываешь ему работу дробного масштабирования с отрисовкой на стороне клиента, реализованное в Х11 ещё тогда когда вайланда даже в планах не было да и вообще проблемы HiDPI не стояло

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

Вдохните и выдохните. Эти скриншоты подарят вам спокойствие и умиротворение. Вы поймете, что спорить с людьми о шрифтах, масштабировании, иксах и вяленде нет никакого смысла. Идеал существует, и он перед вами.

★★★★

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

После 2003 года любой дизайн должен заменяться на любой другой в 3-4 клика на любых микроконтроллерах с хотя бы 128Мб оперативной памяти.

Я извиняюсь, но кому должен то? И почему должен? Кто проспонсирует?

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

Ну да, у вайланда то проблем нет, он же не софт. Все проблемы у пользоватлей.

Ты передергиваешь. Еще раз: проблема в гтк.

Но его разумеется никто не пропатчит.

Претензии к текущим сопровождающим гтк.

у тебя андроид

У меня айфон (: И это не имеет никакого отношения к теме обсуждения. На кедах у меня абсолютно ничего не тормозит. Еще вопросы?

Всё работает кросскомпозиторно и для каждого композитора приложение не должно изобретать уникальную логику мусштабирования.

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

Давай не будем лезть куда то

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

Это глобально!!! ПРИНЦИПИАЛЬНО!!!

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

У 99% населения в последние 8000 лет с этим не было никаких проблем.

Очередное вранье и цифры с потолка. Когда ты уже прекратишь генерировать подобный слоп? Сколько можно нести бред с умным видом?

Первая письменность появилась у шумеров в 3200 году до нашей эры - и шрифты, сюрприз, были ручными. Книгопечатание изобрели в Европе в 1440 году, в Китае в 1040. При этом шрифты были «аналоговые» - литеры отливались и обрабатывались, потому были довольно плавными. Телетайпы, которые использовались в древних юниксах, тоже поначалу использовали литеры. Дискретную печать (в виде матричной и далее) изобрели только со второй половине двадцатого века. И вот с того момента у нас начались проблемы с разрешением печати.

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

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

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

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

Если злой хакер узнает DPI вашего экрана

Как раз узнать DPI всех экранов можно. С этим проблем нет.

Вопрос в том, чтобы узнать на каком именно экране приложение отображается. Или узнать DPI текущего экрана, что в общем-то то же самое.

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

Величина dpi большого смысла не несёт. Часто у экрана разное соотношение между физическими размерами и количеством пикселей по высоте и ширине. У wayland можно попросить и то и другое (плюс коэфициент масштабирования), но результат еще зависит от девайса - может вернуть нули если EDID не доступен или наврать (из виртуалки, например).

Архитектура: Wayland - Compositor - UI Toolkit - Application. Если вам повезло, можете попросить тулкит нарисовать в физических единицах, иначе координаты придётся вычислять самостоятельно с учетом всех этих особенностей.

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

Разумеется нет?

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

Вот вывод с wayland-info для текущего окна терминала. Беглая проверка исходников показала, что там есть целый каллбек, который вызывается при смене отпута окна, чтобы ты мгновенно мог получить изменения.

interface: 'wl_output',                                  version:  4, name: 65
        name: eDP-1
        description: Built-in Screen
        x: 0, y: 0, scale: 2,
        physical_width: 285 mm, physical_height: 190 mm,
        make: 'BOE', model: 'eDP-1-0x0BCA',
        subpixel_orientation: unknown, output_transform: normal,
        mode:
                width: 2256 px, height: 1504 px, refresh: 59.999 Hz,
                flags: current

@Qui-Gon а ты чушь не пори, мы уже неоднократно разбирали все эти мифы про сесурити, которые ты никак не перестанешь тиражировать.

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

Величина dpi большого смысла не несёт.

Выше был конкретный пример — сценарий с LO Writer.

Часто у экрана разное соотношение между физическими размерами и количеством пикселей по высоте и ширине.

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

но результат еще зависит от девайса - может вернуть нули

Если девайс сообщает о себе некорректные данные, это проблема девайса.

У wayland можно попросить и то и другое

Как именно?

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

Если ты клоунаду устроить пришел

Вся эта тема создана исключительно для клоунады. С заглавного сообщения.

чтобы я не тратил время на ответы впустую

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

Вот вывод с wayland-info для текущего окна терминала.

Ты пробовал запускать wayland-info на машине с двумя дисплеями? Эта утилита просто перечисляет все экраны, но не указывает текущий.

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

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

Ещё раз. Хочешь отвечать, отвечай нормально, не устраивая клоунаду.

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

Если твоё приложение сейчас в фокусе, то можно: вытащить wl_output::name из wl_surface.enter / wl_surface.leave. Потом матчить это имя с xdg-output. “Each name is unique among all wl_output globals. The name is only guaranteed to be unique for the compositor instance.”

Правда, если оно между мониторами, то у тебя будет два монитора на выбор.

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

Но я вообще вашим Wayland’ом не пользуюсь, у меня нет HiDPI и масштабирования. А «окно между двумя мониторами» вообще для меня странно звучит. А между тремя-четырьмя окно может быть? А между пятью, если оно между четырьмя и не помещается на один из мониторов, на которм отображается его часть? А можно сделать топологию типа «тор» у этих мониторов?

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

окно между двумя мониторами

Я вроде не писал «между мониторами». Имелось в виду ситуация, когда я перетаскиваю окно с одного монитора на другой, и оно частично на одном мониторе, частично на другом.

А между тремя-четырьмя окно может быть?

Ставишь три-четыре монитора в ряд, торец к торцу, разворачиваешь окно на все сразу. Части окна будут на разных мониторах.

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

Вся эта тема создана исключительно для клоунады. С заглавного сообщения.

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

Одно слово вот в этом ответе — Крыса, иксы и масштабирование (комментарий) — недостаточно подробный ответ.

Достаточный. Какой вопрос - такой и ответ.

Если ты не хочешь тратить время, то либо просто не отвечай вообще, либо сразу давай нормальный ответ.

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

Ты пробовал запускать wayland-info на машине с двумя дисплеями?

Да.

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

Я пробежался, проверил исходники, ознакомился с протоколом. Вот подробности о том, как работают каллбеки: https://wayland-book.com/libwayland/interfaces.html

И что вообще будет, если окно сразу на двух мониторах?

Qt, например, рендерит часть окна в нативном масштабе - а другую масштабирует. Используется протокол https://wayland.app/protocols/fractional-scale-v1. В детали того, как выбирается масштаб и делятся поверхности масштабирования, я не вникал. Направление у тебя есть, можешь изучить самостоятельно, а потом нам рассказать.

Ещё раз. Хочешь отвечать, отвечай нормально, не устраивая клоунаду.

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

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