Масштабування вікон за програмою в Xorg для високого відображення у форматі dpi


28

У мене працює Gnome Shell з монітором 4k, і я використовую декілька застосунків, які зовсім не масштабуються з високою роздільною здатністю.

Ось приклад LMMS, програми, яка ще не перенесена Qt 5, тому вона не має високих можливостей масштабування dpi:

Знімок екрана
(Клацніть зображення, щоб збільшити)

Чи є спосіб змінити масштаб конкретного вікна X без зміни роздільної здатності дисплея?

Моє поточне рішення - це половина розмірів моєї роздільної здатності дисплея, але це погіршує роздільну здатність будь-якої іншої програми, яка підтримує правильне масштабування dpi:

Знімок екрана

Відповіді:


20

Нарешті мені вдалося знайти рішення, яке масштабує старі програми без будь-якої помітної візуальної чи погіршення продуктивності.

Завдяки kaueraal тепер ви можете масштабувати старі програми за допомогою run_scaled. Ви можете отримати скрипт або з його сторінки GitHub, або через AUR,run_scaled-git якщо ви використовуєте Arch Linux.

Ось приклад двох додатків, які працюють поруч:

  • Firefox з підтримкою HiDPI зліва
  • LMMS працює з run_scaledправоруч

введіть тут опис зображення

Я відкрив цей сценарій через Arch Linux Wiki .



Ця програма дуже споживає процесор.
L29Ah

6

Не бачачи точної проблеми, з якою ви стикаєтесь, я б запропонував використовувати

GDK_SCALE=x

або

GDK_DPI_SCALE=x

Перед запуском кожної програми. Вам, ймовірно, доведеться вручну змінювати .desktopфайли або запускати з оболонки з префіксацією командGDK_SCALE=x

GDK_SCALEдозволяють лише значення interger, однак GDK_DPI_SCALE=xдопускають десяткові значення, наприклад,GDK_DPI_SCALE=0.66

Для інших програм на базі SDK можливі подібні налаштування для відповідних комплектів. Однак оскільки у вас проблема з робочим столом gnome, я запропоную це рішення.

Я не пробував 4-моніторний монітор, але біг GDK_DPI_SCALE=1.66 gnome-calculatorдемонструє рішення.

Джерело: https://developer.gnome.org/gtk3/stable/gtk-x11.html


1
Дякуємо за відповідь, але це не працює для програм Xlib.
Ho1

3
Дякую за відповідь, але це насправді не те, що я шукаю. У мене виникають проблеми зі масштабуванням лише у програмах, які не використовують GTK3. Я сподівався знайти рішення, яке можна застосувати до будь-якої програми X.
MetaDark

wiki.archlinux.org/index.php/HiDPI містить інформацію, яка може бути корисною як для додатків GTK, так і для не GTK. Я б відповів на це, але не хочу переписувати інформацію на повідомлення відповіді.
Еммалі Вілсон

2

У мене є програма, яка породжує багато вікон, і наразі не можу використовувати те xpra, що вимагає прийняте рішення run_scaled. Я також не можу терпіти 2x масштабування інструменту gnome-tweak-tool. Занадто величезна. Потрібно 1,5х.

Я виявив, що java-клієнт tigerVNC підтримує масштабне відображення на стороні клієнта на 150%.

Тож я запускаю vncserver з розміром 2 / 3rds і мінімальним менеджером Windows:

vncserver -geometry 2520x1380 -xstartup ~/.vnc/xstartup-mwm

Потім я підключаюсь до java-клієнта v1.7 TigerVNC (1.8.0 послідовно виходить з ладу):

java -jar VncViewer-1.7.0.jar -ScalingFactor=150

Крім командного рядка, ви можете натиснути, F8щоб отримати параметри переглядача VNC. Екран-> Коефіцієнт масштабування>> 150%. Це масштабує роздільну здатність від 2 / 3rds від 4k до 4k.

введіть тут опис зображення

Archaic MWM у VNC зі 150% масштабуванням зліва. Фантастичний робочий стіл Gnome (рідний) праворуч, без масштабування. Ви помітите крихітні іконки. У іншому випадку Gnome налаштований на 4k з 1,5-кратним масштабуванням шрифту в інструменті gnome-tweak, але піктограми не змінюються. Це лише приклад програми - піктограми та масштабування в додатку, який штовхає мене, набагато гірші.

На жаль, це цілий робочий стіл розміром 1,5 рази з окремим менеджером вікон. Це створює приємну оброблювану стіну область для мого багатовіконного додатка, але прикро мати другого менеджера вікон. Тим не менш, VNC - це те, що я знайоме з давнього використання, і це дуже легко переходить на ноутбук, тому, можливо, це є корисним.


1

Vncdesk пропонує вам рішення на основі локального клієнт-сервера VNC (див. Тут )

Це не повне рішення для мене, оскільки це створює певні проблеми, якщо додатку потрібен менеджер вікон.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.