LINUX.ORG.RU

Я снова хочу удобства: как масштабировать отдельно взятое окно?

 , ,


0

3

Есть у меня виндовая программа, которая была разработана во времена VGA/SVGA разрешений. Которая в полноэкранном режиме работать тоже не умеет. На моём 4k мониторе неюзабельна.

Я хочу такую программу, которая бы просто маштабировала (нормальное integer масштбирование) содержимое окна.

Есть такое?


Костыльное но точно работающее решение: пробросить её на локалхост через xrdp или vnc и масштабировать rdp/vnc-клиентом. Но конечно лучше бы что-то более нормальное найти (не знаю).

Вот понакупят себе железа с неадекватно большим dpi И мучаются.

firkax ★★★★★
()

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

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

Если FHD (1920x1080) на 23" мониторе, то всё, что сделано для 800х600 старых маленьких мониторов - на нём будет смотреться нормально. Плохо, когда 1920х1080 пытаются засунуть в 14" а то и меньший экран - опять неадекватное dpi.

firkax ★★★★★
()

Эффект «линза» (или как то похоже называется) в kwin позволяет кажется масштабировать окно средствами видеокарты, причём с интерполяцией. Точно помню что я чем то таким в compiz баловался, и в kwin оно тоже потом появилось.

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

Попробовал через weston – не получилось. Вайн крашится.

Запусти в weston-е сначала X-сервер (типа так), а в X-ах уже wine.

weston запускаешь в X-ах (в консоль выходить не надо), маштабируешь средствами weston-а (xrand в Xwayland-е имеет ограниченные возможности), в файле weston.x.ini поправь:

...
[output]
name=X1
mode=640x480
scale=2
...
arson ★★★★★
()
Ответ на: комментарий от Usruser

Скачиваешь два файлика weston.x.ini, weston.xinitrc, кидаешь их в ~/.config/

Немного правишь: weston.x.ini – см. выше, weston.xinitrc – если у тебя нет icewm, замени его на какой-нибудь другой легкий WM (какой у тебя есть).

Запусти следующую команду (в xterm или другом эмуляторе терминала):

WD=WD1 ; weston -c ~/.config/weston.x.ini -S ${WD} & until [[ -f /run/user/${EUID}/${WD}.lock ]]; do sleep 0.1 ; done && WAYLAND_DISPLAY=${WD} startx ~/.config/weston.xinitrc -- /bin/Xwayland :1 +iglx

P.S. Команда выше в одну строку.

P.P.S. Если у тебя сессия на wayland, а не на X-сервере, то править в weston.x.ini надо секцию [output] name=WL1, а не X1

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

Я сдался. Решил проблему другими, не имеющими отношения к Линуксу, методами.

Может кто-то ещё попробует. Проблема, как мне кажется, довольно распространённая.

Usruser
() автор топика