Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

8 réponses
Avatar
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

8 réponses

Avatar
Vincent Belaïche
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.

Avatar
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:

;; 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
Avatar
fred
yves a écrit :

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
Avatar
Nicolas Matringe
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
Avatar
Eric Marsden
"fr" == fred writes:











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
Avatar
fred
Eric Marsden a écrit :

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
Avatar
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:

(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 a écrit :

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.

Avatar
fred
Vincent Belaïche a écrit :

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