Escala de janela por aplicativo no Xorg para exibição em alta resolução


28

Estou executando o Gnome Shell com um monitor 4K e existem alguns aplicativos que não são escaláveis ​​com alta resolução.

Aqui está um exemplo do LMMS, um aplicativo que ainda não foi portado no Qt 5, portanto, ele não possui recursos de dimensionamento de dpi alto:

Captura de tela
(Clique nas imagens para ampliar)

Existe alguma maneira de dimensionar uma janela X específica sem alterar a resolução da tela?

Minha solução atual é metade das dimensões da minha resolução de vídeo, mas isso prejudica a resolução de todos os outros aplicativos que oferecem suporte à escala de dpi adequada:

Captura de tela

Respostas:


20

Finalmente consegui encontrar uma solução que dimensiona aplicativos antigos sem nenhuma degradação visual ou de desempenho perceptível.

Graças ao kaueraal, agora você pode escalar aplicativos antigos usando run_scaled. Você pode obter o script na página do GitHub ou no AURrun_scaled-git se estiver executando o Arch Linux.

Aqui está um exemplo de dois aplicativos sendo executados lado a lado:

  • Firefox com suporte HiDPI à esquerda
  • LMMS em execução run_scaledà direita

insira a descrição da imagem aqui

Eu descobri esse script através do Arch Linux Wiki .


No Ubuntu você precisa instalarxpra
Pablo A

Este programa está consumindo muito a CPU.
L29Ah

6

Sem ver o problema exato que você está enfrentando, sugiro usar

GDK_SCALE=x

ou

GDK_DPI_SCALE=x

Antes de iniciar cada aplicativo. Você provavelmente terá que alterar manualmente os .desktoparquivos ou executar a partir do seu shell, prefixando os comandos comGDK_SCALE=x

GDK_SCALEapenas permitem valores intergerados, no entanto, GDK_DPI_SCALE=xpermitem valores decimais como ieGDK_DPI_SCALE=0.66

Para outros aplicativos baseados em SDK, provavelmente existem configurações semelhantes para os respectivos kits. No entanto, como seu problema é com o gnome desktop, fornecerei esta solução.

Eu não tentei com um monitor 4k, mas a execução GDK_DPI_SCALE=1.66 gnome-calculatordemonstrará a solução.

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


1
Obrigado pela resposta, mas isso não funciona para os aplicativos Xlib.
• Ho1

3
Obrigado pela resposta, mas não é exatamente isso que estou procurando. Só encontro problemas de dimensionamento com aplicativos que não usam GTK3. Eu esperava encontrar uma solução que pudesse ser aplicada a qualquer aplicativo X.
MetaDark 17/08

O wiki.archlinux.org/index.php/HiDPI possui informações que podem ser úteis para aplicativos GTK e não GTK. Eu daria uma resposta, mas não quero transcrever as informações para uma postagem de resposta.
Emma17 Wilson

2

Eu tenho um aplicativo que gera muitas janelas e, no momento, não posso usá-lo xpraconforme exigido pela solução run_scaled aceita. Também não posso tolerar o dimensionamento 2x do gnome-tweak-tool. Muito grande. Precisa de 1,5x.

Descobri que o cliente Java tigerVNC suporta o dimensionamento de exibição do lado do cliente de 150%.

Então, inicio um servidor vncserver com tamanho de 2/3 e um gerenciador de janelas mínimo:

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

Em seguida, conecto- me ao cliente java v1.7 do TigerVNC (a versão 1.8.0 falha constantemente):

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

Além da linha de comando, você pode pressionar F8para obter as opções do visualizador do VNC. Tela-> Fator de escala-> 150%. Isso dimensiona a resolução de 2 / 3rds de 4k a 4k.

insira a descrição da imagem aqui

MWM arcaico em VNC com escala de 150% à esquerda. Desktop sofisticado do Gnome (nativo) à direita, sem redimensionamento. Você notará os pequenos ícones. Caso contrário, o Gnome é ajustado para 4k com o dimensionamento de fonte 1.5x na ferramenta gnome-tweak, mas os ícones não são dimensionados. Este é apenas um exemplo de aplicativo - os ícones e a escala do aplicativo que está me empurrando dessa maneira são muito piores.

Infelizmente, esta é uma área de trabalho em escala 1.5x inteira com um gerenciador de janelas separado. Ele cria uma boa área isolada para o meu aplicativo de várias janelas, mas é irritante ter um segundo gerenciador de janelas. No entanto, o VNC é algo que eu conheço desde o uso prolongado, e isso é muito fácil para o laptop, então talvez isso seja útil.


1

O Vncdesk fornece uma solução baseada em um servidor cliente VNC local (veja aqui )

Não é uma solução completa para mim, porque apresenta alguns problemas se o aplicativo precisar de um gerenciador de janelas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.