[XEmacs] dimensions de l'écran...

Le
fred
Bonjour,

J'utilise soit un écran 1440x900 soir un écran 1680x1050,
et j'aimerais redimensionner mes fenêtres xemacs en fonction de ces dimensions.

Pour cela, il faut que je récupère la taille de l'écran utilisé.

Comment puis-ja faire ?

J'ai cherché du côté des variables *width* ou *height* mais je n'ai rien
trouvé de pertinent.

Merci d'avance.

Cordialement.

--
Fred
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Vincent Belaïche
Le #21772851
J'ai eu le même problème, et j'ai tout simplement déterminé à tâtons le
nombre de lignes et de colonnes à utiliser pour configurer le cadre par
défaut (initial-frame-alist) pour que ça occupe la portion souhaitée de
l'écran.

Je sais ce n'est pas bien glorieux, mais je n'ai rien trouvé d'autre...

A+,
Vincent.

fred a écrit :
Bonjour,

J'utilise soit un écran 1440x900 soir un écran 1680x1050,
et j'aimerais redimensionner mes fenêtres xemacs en fonction de ces dimensions.

Pour cela, il faut que je récupère la taille de l'écran utilisé.

Comment puis-ja faire ?

J'ai cherché du côté des variables *width* ou *height* mais je n'ai rien
trouvé de pertinent.

Merci d'avance.

Cordialement.

yves
Le #21772841
Le Thu, 01 Jan 2009 18:26:40 +0100, Vincent Belaïche a écrit:

Bonjour,

J'ai eu le même problème, et j'ai tout simplement déterminé à tâtons le
nombre de lignes et de colonnes à utiliser pour configurer le cadre par
défaut (initial-frame-alist) pour que ça occupe la portion souhaitée de
l'écran.

Je sais ce n'est pas bien glorieux, mais je n'ai rien trouvé d'autre...



Pas mieux.
Voici la portion correspondante de mon fichier .emacs:

;; taille de la fenetre au démarrage
(setq default-frame-alist
'((width . 122) ;;caractères
(height . 45) ;;caractères
(top . 0) ;;pixels
(left . 0) ;;pixels
))


--
Yves
fred
Le #21772831
yves
Le Thu, 01 Jan 2009 18:26:40 +0100, Vincent Belaïche a écrit:

Bonjour,

J'ai eu le même problème, et j'ai tout simplement déterminé à tâtons le
nombre de lignes et de colonnes à utiliser pour configurer le cadre par
défaut (initial-frame-alist) pour que ça occupe la portion souhaitée de
l'écran.

Je sais ce n'est pas bien glorieux, mais je n'ai rien trouvé d'autre...



Pas mieux.
Voici la portion correspondante de mon fichier .emacs:



Ok.

Me suis mal fait comprendre ;-)

La question n'est pas déterminer la taille de la fenêtre (pour ne rien
vous cacher, j'ai fait comme vous deux ;-)) mais de choisir la taille
correcte en fonction de la résolution utilisée.

En gros, un bout de code lisp qui ressemblerait à ça :


si x_res == 1680 et y_res == 1050 alors (default-frame-plist (blabla...))
si x_res == 1440 et y_res == 900 alors (default-frame-plist (bloblo....))

Le problème, mon problème, est de récupérer les x_res et y_res (sous Xorg).


Cordialement.

--
Fred
Nicolas Matringe
Le #21772821
fred a écrit :

La question n'est pas déterminer la taille de la fenêtre (pour ne rien
vous cacher, j'ai fait comme vous deux ;-)) mais de choisir la taille
correcte en fonction de la résolution utilisée.

En gros, un bout de code lisp qui ressemblerait à ça :


si x_res == 1680 et y_res == 1050 alors (default-frame-plist (blabla...))
si x_res == 1440 et y_res == 900 alors (default-frame-plist (bloblo....))

Le problème, mon problème, est de récupérer les x_res et y_res (sous Xorg).



Bonjour
J'ai un souci similaire mais avec Emacs sous Windows:
j'utilise un portable avec une station d'accueil et un grand écran quand
je suis au bureau. J'aimerais pouvoir déterminer la configuration pour
ouvrir emacs sur l'écran du portable lorsqu'il est mobile, et sur le
grand écran lorsqu'il est connecté.

Merci d'avance
Nicolas
Eric Marsden
Le #21772811
"fr" == fred










fr> En gros, un bout de code lisp qui ressemblerait à ça :
fr>
fr> si x_res == 1680 et y_res == 1050 alors (default-frame-plist (blabla...))
fr> si x_res == 1440 et y_res == 900 alors (default-frame-plist ( bloblo....))
fr>
fr> Le problème, mon problème, est de récupérer les x _res et y_res (sous Xorg).

Les fonctions x-display-pixel-height et x-display-pixel-width te
seront utiles (c'est du GNU Emacs, ça existe peut-être éga lement
dans XEmacs).

--
Eric Marsden
fred
Le #21772711
Eric Marsden
Les fonctions x-display-pixel-height et x-display-pixel-width te
seront utiles (c'est du GNU Emacs, ça existe peut-être également
dans XEmacs).


Oui, oui ! :-)
Nickel.

Merci.

--
Fred
Vincent Belaïche
Le #21772651
Ce n'est quand même pas la panacée. Voici le code que je viens de pondre pour
calculer la taille qui maximise la fenêtre en fonction de l'écran en utilisant
les deux fonctions indiquées par fred:

(require 'calc-ext)
(let ((font-size 14)
(h-font-size (math-read-number "11.6"))
(v-font-size (math-read-number "20.5"))
(tool-bar-lines 0)
(menu-bar-lines 1)
calc-command-line)
(setq initial-frame-alist
`(
(font . ,(concat "-*-Lucida Console-*-*-*-*-*-"
(number-to-string (* 10 font-size))
"-*-*-*-*-iso8859-1"))
(top . 1)
(left . 1)
(width . ,(math-fixnum
(calcFunc-round (math-div
(x-display-pixel-width)
h-font-size))))
(height . ,(math-fixnum
(calcFunc-round
(calcFunc-sub (math-div (x-display-pixel-height) v-font-size)
tool-bar-lines menu-bar-lines))))
(tool-bar-lines . ,tool-bar-lines)
(menu-bar-lines . ,menu-bar-lines)
(right-fringe)
(left-fringe);
)))


Pour une police de 14 je doit diviser (x-display-pixel-width) par 11.6 pour
avoir le nombre de colonne, et (x-display-pixel-height) par 20.5 pour avoir le
nombre de ligne. J'ai obtenu les nombres 11.6 et 20.5 en y allant à tâton sur
un écran 1024x768 et ça collait pile poil. En reconfigurant l'écran en 800x600
ça collait presque.

Bon ...

A+
Vincent.



fred a écrit :
Eric Marsden
Les fonctions x-display-pixel-height et x-display-pixel-width te
seront utiles (c'est du GNU Emacs, ça existe peut-être également
dans XEmacs).


Oui, oui ! :-)
Nickel.

Merci.

fred
Le #21772621
Vincent Belaïche
Ce n'est quand même pas la panacée. Voici le code que je viens de
pondre pour calculer la taille qui maximise la fenêtre en fonction de
l'écran en utilisant les deux fonctions indiquées par fred:


Pas moi, mais Éric ;-)

Ceci dit, il ne s'agissait pas, pour ma part, de maximiser la fenêtre,
mais de lui appliquer des dimensions plus... adéquates. Mon bout de code
lisp me convient donc farpaitement ;-)

Ceci dit, merci quand même pour ton post, ça peut tjrs être utile.

--
Fred
Publicité
Poster une réponse
Anonyme