Taille identique des form sous differents X managers

Rédigé par spheris Aucun commentaire
Classé dans : Form, gambas 3, Tutoriel, Widget Mots clés : aucun

scaledgb3.jpg

Fenêtres identique quelque soit le gestionnaire de fenêtres


Il y  a quelques temps j'ai réalisé une petite application en gambas3 sur xfce. Voulant l'essayer sur un autre ordinateur, j'ai vu que toutes les fenêtres n'ont pas la même taille, les polices sont plus grosses. Mais pourquoi cela?


J'ai donc testé cette petite application sur différentes gestionnaires de fenêtres et voici le résultat:

sous openbox :
x= 474
y= 417
width= 83
Height= 125


sous icewm:
x= 474
y= 417
width= 83
Height= 125


sous xfce : (celui là est le bon)
x= 406
y= 357
width= 71
Height= 107

sous enligthment :
x= 474
y= 417
width= 83
Height= 125


sous lxde :
x= 474
y= 417
width= 83
Height= 125


sous JWD :
x= 474
y= 417
width= 83
Height= 125


Poursuivant mon investigation, je suis allé dans les fichiers sources de mon fmain.form et là chose surprenante, les coordonnées de l'image sont des nombres à décimales:

{ Mypicture PictureBox
MoveScaled(67.6667,59.5,11.8333,17.8333)
Picture = Picture["monimage.png"]
Stretch = True
}



Chaque Form du projet a une propriété SCALED à true par défaut. (l'équivalent de la vectorisation pour les polices true type)
En le mettant à False, quelque soit le gestionnaire de fenêtre, la form a maintenant la même taille.

Pour les polices en revanche, il faut sélectionner le widget et dans la propriétéé FONT, il faut décocher la checkbox Relatif et la notion de vecteur disparait comme ceci :

scaled2gb3.jpg
Voilà pour aujourd'hui.