Escalado de ventanas por aplicación en Xorg para una visualización de alta resolución

28

Estoy ejecutando Gnome Shell con un monitor 4k y hay algunas aplicaciones que uso que no se escalan en absoluto con la alta resolución.

Aquí hay un ejemplo de LMMS, una aplicación que aún no se ha portado Qt 5, por lo que no tiene capacidades de escalado de ppp altas:

Captura de pantalla
(Haga clic en las imágenes para ampliar)

¿Hay alguna forma de escalar una ventana X específica sin cambiar la resolución de la pantalla?

Mi solución actual es reducir a la mitad las dimensiones de la resolución de mi pantalla, pero esto degrada la resolución de cualquier otra aplicación que admita una escala adecuada de ppp:

Captura de pantalla

MetaDark
fuente

Respuestas:

19

Finalmente pude encontrar una solución que escala las aplicaciones antiguas sin ninguna degradación visual o de rendimiento notable.

Gracias a kaueraal, ahora puede escalar aplicaciones antiguas con run_scaled. Puede obtener el script desde su página de GitHub o mediante AURrun_scaled-git si está ejecutando Arch Linux.

Aquí hay un ejemplo de dos aplicaciones que se ejecutan juntas:

  • Firefox con soporte HiDPI a la izquierda
  • LMMS corriendo con run_scaleda la derecha

ingrese la descripción de la imagen aquí

Descubrí este script a través de Arch Linux Wiki .

MetaDark
fuente
En Ubuntu necesitas instalarxpra
Pablo A
Este programa consume mucha CPU.
L29Ah
6

Sin ver el problema exacto con el que se encuentra, le sugiero que use

GDK_SCALE=x

o

GDK_DPI_SCALE=x

Antes de comenzar cada aplicación. Es probable que tenga que cambiar manualmente los .desktoparchivos o ejecutarlos desde su shell con los comandos como prefijoGDK_SCALE=x

GDK_SCALEsolo permite valores enteros, sin embargo, GDK_DPI_SCALE=xpermite valores decimales como, por ejemplo,GDK_DPI_SCALE=0.66

Para otras aplicaciones basadas en SDK, es probable que haya configuraciones similares para los kits respectivos. Sin embargo, dado que su problema es con el escritorio gnome, proporcionaré esta solución.

No lo he probado con un monitor 4k, pero la ejecución GDK_DPI_SCALE=1.66 gnome-calculatordemostrará la solución.

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

Maeve Kennedy
fuente
Gracias por la respuesta, pero esto no funciona para las aplicaciones Xlib.
Ho1
3
Gracias por la respuesta, pero esto no es realmente lo que estoy buscando. Solo encuentro problemas de escala con aplicaciones que no usan GTK3. Esperaba encontrar una solución que pudiera aplicarse a cualquier aplicación X.
MetaDark
wiki.archlinux.org/index.php/HiDPI tiene información que puede ser útil tanto para aplicaciones GTK como no GTK. Daría una respuesta, pero no quiero transcribir la información a una publicación de respuesta.
Emmaly Wilson el
2

Tengo una aplicación que genera muchas ventanas, y por el momento no puedo usarla xpracomo lo requiere la solución run_scaled aceptada. Tampoco puedo tolerar la escala 2x de gnome-tweak-tool. Demasiado grande Necesita 1.5x.

He descubierto que el cliente java tigerVNC admite una escala de visualización del lado del cliente del 150%.

Así que inicio un vncserver con un tamaño de 2/3 y un administrador mínimo de Windows:

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

Luego me conecto con el cliente Java v1.7 de TigerVNC (1.8.0 se bloquea constantemente para mí):

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

Además de la línea de comandos, puede presionar F8para obtener las Opciones del visor VNC. Pantalla-> Factor de escala-> 150%. Esto escala la resolución de 2/3 de 4k a 4k.

ingrese la descripción de la imagen aquí

MWM arcaico en VNC con 150% de escala a la izquierda. Escritorio de lujo Gnome (nativo) a la derecha, sin escala. Notarás los pequeños íconos. De lo contrario, Gnome se ajusta para 4k con el escalado de fuente 1.5x en gnome-tweak-tool, pero los iconos no se escalan. Esta es solo una aplicación de ejemplo: los iconos y la escala en la aplicación que me empuja de esta manera son mucho peores.

Desafortunadamente, este es un escritorio escalable completo de 1.5x con un administrador de ventanas separado. Crea un área amurallada agradable para mi aplicación de múltiples ventanas, pero es molesto tener un segundo administrador de ventanas. Sin embargo, VNC es algo con lo que estoy familiarizado por el uso desde hace mucho tiempo, y esto se aplica fácilmente a la computadora portátil, por lo que quizás esto sea utilizable.

stevesliva
fuente
1

Vncdesk le ofrece una solución basada en un cliente-servidor VNC local (consulte aquí )

No es una solución completa para mí porque da algunos problemas si la aplicación necesita un administrador de ventanas.

Sergio Llorente
fuente