Ridimensionamento della finestra per applicazione in Xorg per una visualizzazione a dpi elevati


28

Sto eseguendo Gnome Shell con un monitor 4K e ci sono alcune applicazioni che utilizzo che non si adattano affatto all'alta risoluzione.

Ecco un esempio di LMMS, un'applicazione che non è stata ancora convertita in Qt 5, quindi non ha capacità di ridimensionamento a dpi alti:

Immagine dello schermo
(Clicca sulle immagini per ingrandirle)

Esiste un modo per ridimensionare una finestra X specifica senza modificare la risoluzione del display?

La mia soluzione attuale è dimezzare le dimensioni della mia risoluzione del display, ma ciò degrada la risoluzione di ogni altra applicazione che supporta il corretto ridimensionamento dpi:

Immagine dello schermo

Risposte:


20

Finalmente sono riuscito a trovare una soluzione che ridimensiona le vecchie applicazioni senza alcun evidente degrado visivo o delle prestazioni.

Grazie a Kaueraal, ora puoi ridimensionare vecchie applicazioni usando run_scaled. È possibile ottenere lo script dalla sua pagina GitHub o tramite AURrun_scaled-git se si esegue Arch Linux.

Ecco un esempio di due applicazioni eseguite fianco a fianco:

  • Firefox con supporto HiDPI a sinistra
  • LMMS in esecuzione con run_scaleda destra

inserisci qui la descrizione dell'immagine

Ho scoperto questo script attraverso il Wiki di Arch Linux .


Su Ubuntu devi installarexpra
Pablo A

Questo programma consuma molto la CPU.
L29Ah

6

Senza vedere il problema esatto in cui ti imbatti, ti suggerirei di utilizzare

GDK_SCALE=x

o

GDK_DPI_SCALE=x

Prima di avviare ogni applicazione. Probabilmente dovrai modificare manualmente i .desktopfile o eseguirlo dalla shell con il prefisso dei comandi conGDK_SCALE=x

GDK_SCALEconsenti solo valori interger, tuttavia GDK_DPI_SCALE=xconsenti valori decimali come ieGDK_DPI_SCALE=0.66

Per altre applicazioni basate su SDK ci sono probabilmente impostazioni simili per i rispettivi kit. Tuttavia, poiché il tuo problema è con desktop gnome fornirò questa soluzione.

Non ho provato con un monitor 4K, ma l'esecuzione GDK_DPI_SCALE=1.66 gnome-calculatordimostrerà la soluzione.

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


1
Grazie per la risposta, ma questo non funziona per le applicazioni Xlib.
Ho1,

3
Grazie per la risposta, ma questo non è proprio quello che sto cercando. Riscontro solo problemi di ridimensionamento con applicazioni che non utilizzano GTK3. Speravo di trovare una soluzione che potesse essere applicata a qualsiasi applicazione X.
MetaDark,

wiki.archlinux.org/index.php/HiDPI ha informazioni che potrebbero essere utili sia per le app GTK che per quelle non GTK. Darei una risposta, ma non voglio trascrivere le informazioni in un post di risposta.
Emmaly Wilson

2

Ho un'applicazione che genera molte finestre e al momento non posso usarla xpracome richiesto dalla soluzione run_scaled accettata. Inoltre non posso tollerare il ridimensionamento 2x di gnome-tweak-tool. Troppo grande. Hai bisogno di 1,5x.

Ho scoperto che il client java tigerVNC supporta un ridimensionamento del display lato client del 150%.

Quindi avvio un server virtuale con dimensioni 2/3 e un gestore windows minimo:

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

Mi collego quindi al client Java v1.7 di TigerVNC (1.8.0 si blocca costantemente per me):

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

Oltre alla riga di comando, puoi premere F8per ottenere le opzioni di VNC Viewer. Schermo-> Fattore di scala-> 150%. Questo ridimensiona la risoluzione da 2/3 di 4k a 4k.

inserisci qui la descrizione dell'immagine

MWM arcaico in VNC con ridimensionamento del 150% a sinistra. Fancy Gnome desktop (nativo) a destra, nessun ridimensionamento. Noterai le piccole icone. In caso contrario, Gnome viene regolato per 4k con il ridimensionamento dei caratteri 1,5x nello strumento gnome-tweak, ma le icone non si ridimensionano. Questa è solo un'applicazione di esempio: le icone e il ridimensionamento nell'applicazione che mi sta spingendo in questo modo sono molto peggio.

Purtroppo questo è un intero desktop in scala 1,5x con un gestore di finestre separato. Crea una bella area recintata per la mia app multiwindow, ma è fastidioso avere un secondo gestore di finestre. Tuttavia VNC è qualcosa che ho familiarità con l'uso di lunga data, e questo si collega facilmente al laptop, quindi forse questo è utilizzabile.


1

Vncdesk ti offre una soluzione basata su un client-server VNC locale (vedi qui )

Non è una soluzione completa per me perché dà alcuni problemi se l'app ha bisogno di un gestore di finestre.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.