El meu nou portàtil XPS 13 9370 és molt bo, però es pot fer servir una resolució de pantalla tan gran (3840x2160 331 PPI) que l'he de fer servir amb un factor d'escala igual a 2.12. No totes les aplicacions s'escalen adequadament. Per al Gimp, ho vaig poder resoldre usant un tema amb icones més grans, però algunes aplicacions X11 antigues com ara l'Xfig, que faig servir des dels meu temps amb Unix al final de la dècada de 1980, i mai no he pogut substituir per cap altra aplicació semblant, no s'escalen en absolut. Això és un problema perquè els menús i les icones, així com el gruix de les línies, són tan petits que l'Xfig no es pot usar.
Però afortunadament he trobat una solució a aquest article:
https://unix.stackexchange.com/questions/192493/how-to-use-xfig-on-high-dpi-screen/202277
Aquestes instruccions són per a l'Xfig, però funcionen per a d'altres aplicacions que tenen el mateix problema. A continuació s'expliquen els passos que cal seguir per resoldre aquest problema. Primer vaig instal·lar l'última versió de "Vncdesk" des de la pagina de versions del Github:
https://github.com/feklee/vncdesk/releases
Per instal·lar-lo simplement descomprimiu el paquet i al directori arrel executeu:
pip3 install .
Assegureu-vos que teniu pip3 instal·lat (sudo apt install python3-pip). Al readme del Vncdesk diu que pot funcionar amb TigerVNC 1.4, TightVNC 1.3, o RealVNC 4.1. Jo vaig instal·lar TigerVNC:
sudo apt install tigervnc-standalone-server tigervnc-viewer
Vaig instal·lar també gtk-vnc:
sudo apt install gvncviewer
Això va cridar-lo a través de les dependències. Per executar xfig al visor vnc, heu de crear primer una carpeta oculta anomenada ".vncdesk", i aquí crear una altra anomenada "1" (per a cada aplicació heu de crear una d'aquestes subcarpetes, per exemple "2", "3" i així successivament). A la subcarpeta "1" heu de crear un fitxer anomenat "settings.ini" on definiu alguns paràmetres per a la vostra aplicació. Aquests són els paràmetres que em van funcionar per al xfig:
[desktop] width = 1400 height =770 depth = 24 [window] title = Xfig name = Xfig in vncdesk class = XfigInVncdesk scale_factor = 1.3 smoothing = false
Podeu jugar amb "width", "height" i "scale_factor" per ajustar-lo a la vostra aplicació. Per iniciar realment xfig, s'ha de crear un altre fitxer a "1" anomenat "startup" i amb el contingut següent:
#!/bin/sh xrdb -merge ~/.Xresources cd "$INVOCATION_DIR" exec xfig -geometry ${WIDTH}x$HEIGHT+0+0 "$@"
Al fitxer ".Xresources" podeu posar els vostres paràmetres X11 per al xfig. És opcional, i no cal per a altres aplicacions que no facin servir recursos X11.
Per executar l'xfig, simplement entreu el següent a la línia d'ordres (canvieu "1" per un altre número si teniu altres aplicacions a "2", "3" o d'altres subcarpetes):
vncdesk 1
També podeu proveir arguments a la vostra aplicació escrivint-los al final d'aquesta ordre. Amb aixo, els menús i les icones del xfig es veuran correctament: