Anwendungsspezifische Fensterskalierung in Xorg für eine hochauflösende Anzeige


28

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:

Bildschirmfoto
(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:

Bildschirmfoto

Antworten:


20

Endlich gelang es mir, eine Lösung zu finden, mit der alte Anwendungen skaliert werden können, ohne dass sich eine sichtbare Beeinträchtigung oder Verschlechterung der Leistung bemerkbar macht.

Dank kaueraal können Sie jetzt alte Anwendungen mit skalieren run_scaled. Sie können das Skript entweder von seiner GitHub-Seite oder über AUR erhalten,run_scaled-git wenn Sie Arch Linux ausführen.

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

  • Links Firefox mit HiDPI-Unterstützung
  • LMMS läuft mit run_scaledrechts

Bildbeschreibung hier eingeben

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


Auf Ubuntu musst du installierenxpra
Pablo A

Dieses Programm verbraucht sehr viel CPU.
29.

6

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

GDK_SCALE=x

oder

GDK_DPI_SCALE=x

Vor dem Start jeder Anwendung. Wahrscheinlich müssen Sie .desktopDateien manuell ändern oder von Ihrer Shell ausführen, wobei Sie den Befehlen das Präfix "" voranstellenGDK_SCALE=x

GDK_SCALENur Interger-Werte GDK_DPI_SCALE=xzulassen, jedoch Dezimalwerte wie zGDK_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 das Ausführen GDK_DPI_SCALE=1.66 gnome-calculatorwird die Lösung demonstrieren.

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


1
Vielen Dank für die Antwort, aber dies funktioniert nicht für die Xlib-Anwendungen.
Ho1

3
Vielen Dank für die Antwort, aber das ist nicht wirklich das, wonach ich suche. Skalierungsprobleme treten nur bei Anwendungen auf, die GTK3 nicht verwenden. Ich hatte gehofft, eine Lösung zu finden, die auf jede X-Anwendung angewendet werden kann.
MetaDark

wiki.archlinux.org/index.php/HiDPI enthält Informationen, die sowohl für GTK- als auch für Nicht-GTK-Apps hilfreich sein können. Ich würde darauf eine Antwort geben, aber ich möchte die Informationen nicht in einen Antwortbeitrag übertragen.
Emmaly Wilson

2

Ich habe eine Anwendung, die viele Fenster erzeugt, und kann sie derzeit nicht so verwenden, xprawie 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 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 dem Java-Client von TigerVNC, Version 1.7 (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 F8die VNC Viewer-Optionen aufrufen. Bildschirm-> Skalierungsfaktor-> 150%. Dies skaliert die Auflösung von 2/3 von 4k auf 4k.

Bildbeschreibung hier eingeben

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,5-facher Schriftskalierung im Gnome-Tweak-Tool angepasst, aber die Symbole 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 abgesperrten 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.


1

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.