Certaines applications (principalement basées sur java) ne suivent pas l' échelle globale 2x que j'ai définie dans les paramètres d'écran. Donc, ces applications sont vraiment minuscules sur mon écran haute résolution avec 3200x1800px.
Comment puis-je faire fonctionner ces applications dans une résolution d'écran plus petite?
java
display-resolution
dpi
hdpi
scale-mode
rubo77
la source
la source
data/bin/studio.sh
:eval "$JDK/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 -Dis.hidpi=true $MAIN_CLASS_NAME "$@"
- mais aucun effetRéponses:
Une mise à niveau pratique majeure consisterait à utiliser un script d'arrière-plan, définissant automatiquement la résolution par application , tandis que vous pouvez définir différentes résolutions pour différentes (plusieurs) applications à la fois.
C'est exactement ce que fait le script ci-dessous.
Un exemple de résolution par défaut de
1680x1050
:En cours d'exécution
gedit
, passant automatiquement à640x480
:En cours d'exécution
gnome-terminal
, passant automatiquement à1280x1024
:Lorsque l'application est fermée, la résolution est automatiquement ramenée à
1680x1050
Comment utiliser
set_resolution.py
Dans la tête du script, définissez votre résolution par défaut, dans la ligne:
Dans le même répertoire (dossier), créez un fichier texte, exactement le nom:
procsdata.txt
. Dans ce fichier texte, définissez l'application ou le processus souhaité, suivi d'un espace, suivi de la résolution souhaitée. Une application ou un script par ligne, ressemblant à:Exécutez le script par la commande:
Remarque
L'utilisation du script
pgrep -f <process>
, qui intercepte toutes les correspondances, y compris les scripts. L'inconvénient possible est qu'il peut provoquer des conflits de noms lors de l'ouverture d'un fichier portant le même nom que le processus.Si vous rencontrez des problèmes comme celui-ci, changez:
dans:
Le script
Explication
Lorsque le script démarre, il lit le fichier dans lequel vous avez défini vos applications et leurs résolutions d'écran souhaitées correspondantes.
Il garde ensuite un œil sur les processus en cours
pgrep -f <process>
d' exécution (en cours d' exécution pour chacune des applications) et définit la résolution si l'application démarre.Lorsque
pgrep -f <process>
ne produit aucune sortie pour aucune des applications répertoriées, il définit la résolution sur "par défaut".Modifier:
Version "dynamique" (comme demandé)
Bien que la version ci-dessus fonctionne avec plusieurs applications répertoriées, elle ne définit la résolution que pour une seule application à la fois .
La version ci-dessous peut gérer différentes applications avec une résolution différente (requise), fonctionnant en même temps. Le script d'arrière-plan conservera la trace de l'application la plus avancée et définira la résolution en conséquence. Cela fonctionne également très bien avec Alt+ Tab.
Notez que ce comportement peut être gênant si vous basculez beaucoup entre le bureau et les applications répertoriées; le commutateur de résolution fréquent peut être trop.
différences dans la configuration
La configuration est à peu près la même, à part le fait que celui-ci utilise
wmctrl
etxdotool
:Le script
Remarques
la source
sleep 5 && cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
concentrez l'application dans les 5 secondes et vous obtenez le nom souhaité (source: askubuntu.com/a/508539/34298 )Testez l'ajout à votre ligne de commande java:,
-Dsun.java2d.uiScale=2.0
ou définissez-le sur un facteur d'échelle que vous souhaitez.la source
Comme solution de contournement
J'ai créé un script bash qui modifie la résolution en fullHD avant de démarrer l'application (dans cet exemple Android Studio) et la redéfinit en 3200x1800 lorsque l'application se ferme:
Entrez ce script:
et lui donner des droits exécutables:
Ensuite, vous pouvez le démarrer avec Alt+F1
studio
Pour d'autres facteurs de redimensionnement 2.0, voir /ubuntu//a/486611/34298
Pour activer et désactiver facilement le zoom dans Firefox, utilisez l'extension Zoom Menu Elements
la source