it-swarm.com.de

Anwendungsspezifische Fensterskalierung in Xorg für die Anzeige mit hoher Auflösung

Ich verwende Gnome Shell mit einem 4k-Monitor und es gibt einige Anwendungen, die ich verwende und die mit der hohen Auflösung überhaupt nicht skalieren.

Hier ist ein Beispiel für LMMS, eine Anwendung, die noch nicht mit Qt 5 portiert wurde und daher keine hochauflösenden Skalierungsfunktionen bietet:

Screenshot
(Zum Vergrößern auf die Bilder klicken)

Gibt es eine Möglichkeit, ein bestimmtes X-Fenster zu skalieren, ohne die Anzeigeauflösung zu ändern?

Meine derzeitige Lösung besteht darin, die Abmessungen meiner Bildschirmauflösung zu halbieren, dies beeinträchtigt jedoch die Auflösung aller anderen Anwendungen, die eine ordnungsgemäße dpi-Skalierung unterstützen:

Screenshot

26
MetaDark

Endlich gelang es mir, eine Lösung zu finden, mit der alte Anwendungen skaliert werden können, ohne dass eine visuelle Beeinträchtigung oder Leistungseinbußen zu bemerken sind.

Dank kaueraal können Sie jetzt alte Anwendungen mit run_scaled skalieren. Sie können das Skript entweder von seiner GitHub-Seite oder über AUR run_scaled-git beziehen. Wenn Sie Arch Linux verwenden.

Hier ist ein Beispiel für zwei Anwendungen, die nebeneinander ausgeführt werden:

  • Links Firefox mit HiDPI-Unterstützung
  • LMMS läuft mit run_scaled auf der rechten Seite

enter image description here

Ich habe dieses Skript über das Arch Linux Wiki entdeckt.

18
MetaDark

Ohne das genaue Problem zu erkennen, auf das Sie stoßen, würde ich die Verwendung vorschlagen

GDK_SCALE=x

oder

GDK_DPI_SCALE=x

Vor dem Start jeder Anwendung. Wahrscheinlich müssen Sie .desktop -Dateien manuell ändern oder von Ihrer Shell ausführen, indem Sie den Befehlen GDK_SCALE=x voranstellen.

GDK_SCALE erlaubt nur Interger-Werte, GDK_DPI_SCALE=x erlaubt jedoch Dezimalwerte wie zB .GDK_DPI_SCALE=0.66

Für andere SDK-basierte Anwendungen gibt es wahrscheinlich ähnliche Einstellungen für die jeweiligen Kits. Da Ihr Problem jedoch bei Gnome Desktop liegt, werde ich diese Lösung anbieten.

Ich habe es nicht mit einem 4k-Monitor versucht, aber mit GDK_DPI_SCALE=1.66 gnome-calculator wird die Lösung demonstriert.

Quelle: https://developer.gnome.org/gtk3/stable/gtk-x11.html

6
Maeve Kennedy

Ich habe eine Anwendung, die viele Fenster erzeugt, und ich kann xpra derzeit nicht verwenden, wie es die akzeptierte run_scaled-Lösung erfordert. Ich kann auch die 2x-Skalierung des Gnome-Tweak-Tools nicht tolerieren. Zu groß Benötige 1.5x.

Ich habe festgestellt, dass der tigerVNC Java-Client die clientseitige Anzeigeskalierung von 150% unterstützt.

Also starte ich einen vncserver mit 2/3rds Größe und einem minimalen Windows Manager:

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

Ich verbinde mich dann mit TigerVNCs v1.7 Java-Client (1.8.0 stürzt für mich ständig ab):

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

Neben der Befehlszeile können Sie auch F8 drücken, um die VNC Viewer-Optionen abzurufen. Bildschirm-> Skalierungsfaktor-> 150%. Dies skaliert die Auflösung von 2/3 von 4k auf 4k.

enter image description here

Archaische MWM in VNC mit 150% Skalierung auf der linken Seite. Fancy Gnome Desktop (native) auf der rechten Seite, keine Skalierung. Sie werden die winzigen Symbole bemerken. Gnome ist ansonsten für 4k mit 1.5x Font Scaling im Gnome-Tweak-Tool angepasst, aber die Icons werden nicht skaliert. Dies ist nur eine Beispielanwendung - die Symbole und die Skalierung in der Anwendung, die mich in diese Richtung treiben, sind weitaus schlechter.

Leider handelt es sich hierbei um einen 1,5-fach skalierten Desktop mit einem separaten Fenstermanager. Es schafft einen schönen, abgeschotteten Bereich für meine Mehrfenster-App, aber es ist ärgerlich, einen zweiten Fenstermanager zu haben. Trotzdem ist VNC etwas, mit dem ich seit langem vertraut bin, und das geht ziemlich leicht auf den Laptop über, also ist es vielleicht brauchbar.

2
stevesliva

Mit Vncdesk erhalten Sie eine Lösung, die auf einem lokalen VNC-Client-Server basiert (siehe hier )

Es ist keine vollständige Lösung für mich, da es einige Probleme gibt, wenn die App einen Fenstermanager benötigt.

1
Sergio Llorente