Je voudrais que la taille de la /default face/ soit lue dans une variable
d'environnement. Actuellement dans .emacs j'ai :
(custom-set-faces
'(default ((t (:inherit nil :stipple nil :background "grey80" :foreground
"black" :inverse-video nil :box nil :strike-through nil :overline nil
:underline nil :slant normal :weight normal :height 110 :width normal
:foundry "unknown" :family "Droid Sans Mono"))))
...
Et je voudrais donc que le 110 soit remplacé par la valeur de
EMACS_FACESIZE. Il y a quelques années, pour lire la taille de la fenêtre
dans une variable, on m'avait donné ici ce bout de code (qu'« on » soit à
nouveau remercié, d'ailleurs) :
J'ai essayé de l'adapter mais comme je n'y connais rien en Lisp je n'y
arrive pas. Le plus proche auquel j'arrive c'est [en coupant des bouts
pour le test] :
(cons ':inherit (cons nil (cons ':weight (cons 'normal (cons ':height
(cons (string-to-int (getenv "EMACS_HEIGHT")) '(:foundry "unknown")))))))
Je suppose qu'il y a moyen avec moins de parenthèses !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Lucas Levrel
Bonjour, Le 16 janvier 2017, à 16:02, Lucas Levrel a écrit :
Je voudrais que la taille de la /default face/ soit lue dans une variable d'environnement. Actuellement dans .emacs j'ai : (custom-set-faces '(default ((t (:inherit nil :stipple nil :background "grey80" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 110 :width normal :foundry "unknown" :family "Droid Sans Mono")))) ...
J'ai posé la question sur emacs.stackexchange.com (http://emacs.stackexchange.com/questions/30109/size-of-default-face-from-environment-variable) et l'on m'a proposé ceci : (custom-set-faces `(default ((t (:inherit nil [...] :height ,(string-to-int (getenv "EMACS_FONT_HEIGHT")) [...] :family "Droid Sans Mono")))) ) Le gros inconvénient, c'est qu'il n'est plus possible d'utiliser Custom — même pour des variables autres que des polices ! — car il écrase cette expression par un réglage de la valeur « en dur ». J'ai essayé de sortir ce réglage de custom-set-faces et de le faire « à part » avec set-face-attribute mais je n'y arrive pas. Auriez-vous une solution ? -- LL Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
Bonjour,
Le 16 janvier 2017, à 16:02, Lucas Levrel a écrit :
Je voudrais que la taille de la /default face/ soit lue dans une variable
d'environnement. Actuellement dans .emacs j'ai :
(custom-set-faces
'(default ((t (:inherit nil :stipple nil :background "grey80" :foreground
"black" :inverse-video nil :box nil :strike-through nil :overline nil
:underline nil :slant normal :weight normal :height 110 :width normal
:foundry "unknown" :family "Droid Sans Mono"))))
...
J'ai posé la question sur emacs.stackexchange.com
(http://emacs.stackexchange.com/questions/30109/size-of-default-face-from-environment-variable)
et l'on m'a proposé ceci :
Le gros inconvénient, c'est qu'il n'est plus possible d'utiliser Custom —
même pour des variables autres que des polices ! — car il écrase cette
expression par un réglage de la valeur « en dur ».
J'ai essayé de sortir ce réglage de custom-set-faces et de le faire « à
part » avec set-face-attribute mais je n'y arrive pas. Auriez-vous une
solution ?
Bonjour, Le 16 janvier 2017, à 16:02, Lucas Levrel a écrit :
Je voudrais que la taille de la /default face/ soit lue dans une variable d'environnement. Actuellement dans .emacs j'ai : (custom-set-faces '(default ((t (:inherit nil :stipple nil :background "grey80" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 110 :width normal :foundry "unknown" :family "Droid Sans Mono")))) ...
J'ai posé la question sur emacs.stackexchange.com (http://emacs.stackexchange.com/questions/30109/size-of-default-face-from-environment-variable) et l'on m'a proposé ceci : (custom-set-faces `(default ((t (:inherit nil [...] :height ,(string-to-int (getenv "EMACS_FONT_HEIGHT")) [...] :family "Droid Sans Mono")))) ) Le gros inconvénient, c'est qu'il n'est plus possible d'utiliser Custom — même pour des variables autres que des polices ! — car il écrase cette expression par un réglage de la valeur « en dur ». J'ai essayé de sortir ce réglage de custom-set-faces et de le faire « à part » avec set-face-attribute mais je n'y arrive pas. Auriez-vous une solution ? -- LL Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
Benoit Izac
Bonjour, Le 24/01/2017 à 13:12, Lucas Levrel a écrit dans le message :
Je voudrais que la taille de la /default face/ soit lue dans une variable d'environnement. Actuellement dans .emacs j'ai : (custom-set-faces '(default ((t (:inherit nil :stipple nil :background "grey80" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 110 :width normal :foundry "unknown" :family "Droid Sans Mono")))) ...
J'ai posé la question sur emacs.stackexchange.com (http://emacs.stackexchange.com/questions/30109/size-of-default-face-from-environment-variable) et l'on m'a proposé ceci : (custom-set-faces `(default ((t (:inherit nil [...] :height ,(string-to-int (getenv "EMACS_FONT_HEIGHT")) [...] :family "Droid Sans Mono")))) ) Le gros inconvénient, c'est qu'il n'est plus possible d'utiliser Custom — même pour des variables autres que des polices ! — car il écrase cette expression par un réglage de la valeur « en dur ». J'ai essayé de sortir ce réglage de custom-set-faces et de le faire « à part » avec set-face-attribute mais je n'y arrive pas. Auriez-vous une solution ?
Le 24/01/2017 à 13:12, Lucas Levrel a écrit dans le message
<alpine.LSU.2.20.13.1701241304470.2953@coulomb.u-pec.fr> :
Je voudrais que la taille de la /default face/ soit lue dans une
variable d'environnement. Actuellement dans .emacs j'ai :
(custom-set-faces
'(default ((t (:inherit nil :stipple nil :background
"grey80" :foreground "black" :inverse-video nil :box
nil :strike-through nil :overline nil :underline nil :slant
normal :weight normal :height 110 :width normal :foundry
"unknown" :family "Droid Sans Mono"))))
...
J'ai posé la question sur emacs.stackexchange.com
(http://emacs.stackexchange.com/questions/30109/size-of-default-face-from-environment-variable)
et l'on m'a proposé ceci :
Le gros inconvénient, c'est qu'il n'est plus possible d'utiliser
Custom — même pour des variables autres que des polices ! — car il
écrase cette expression par un réglage de la valeur « en dur ».
J'ai essayé de sortir ce réglage de custom-set-faces et de le faire
« à part » avec set-face-attribute mais je n'y arrive pas. Auriez-vous
une solution ?
Peut-être que le mieux reste de te faire un thème personnalisé ; voir
« 14.6 Custom Themes » dans le manuel elips ou, par exemple,
<https://github.com/bbatsov/zenburn-emacs/blob/master/zenburn-theme.el>.
Bonjour, Le 24/01/2017 à 13:12, Lucas Levrel a écrit dans le message :
Je voudrais que la taille de la /default face/ soit lue dans une variable d'environnement. Actuellement dans .emacs j'ai : (custom-set-faces '(default ((t (:inherit nil :stipple nil :background "grey80" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 110 :width normal :foundry "unknown" :family "Droid Sans Mono")))) ...
J'ai posé la question sur emacs.stackexchange.com (http://emacs.stackexchange.com/questions/30109/size-of-default-face-from-environment-variable) et l'on m'a proposé ceci : (custom-set-faces `(default ((t (:inherit nil [...] :height ,(string-to-int (getenv "EMACS_FONT_HEIGHT")) [...] :family "Droid Sans Mono")))) ) Le gros inconvénient, c'est qu'il n'est plus possible d'utiliser Custom — même pour des variables autres que des polices ! — car il écrase cette expression par un réglage de la valeur « en dur ». J'ai essayé de sortir ce réglage de custom-set-faces et de le faire « à part » avec set-face-attribute mais je n'y arrive pas. Auriez-vous une solution ?
Merci Benoît. Le lien fait plutôt peur vue la faible ampleur des modifs que j'ai à faire, mais en suivant aussi la doc d'Emacs https://www.gnu.org/software/emacs/manual/html_node/emacs/Creating-Custom-Themes.html#Creating-Custom-Themes j'y suis parvenu. J'ai donc maintenant deux micro-thèmes contenant quelque chose comme : --- (custom-theme-set-faces 'toto '(default ((t (:height 127))))) --- et dans mon .emacs j'ai inséré : --- (if (string-equal "toto" (getenv "PROFIL")) (load-theme 'toto t) (load-theme 'titi t)) --- -- LL Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης) C'est mieux avé les accents (F. Patte)
Le 24 janvier 2017, à 15:21, Benoit Izac a écrit :
Peut-être que le mieux reste de te faire un thème personnalisé ; voir
« 14.6 Custom Themes » dans le manuel elips ou, par exemple,
<https://github.com/bbatsov/zenburn-emacs/blob/master/zenburn-theme.el>.
Merci Benoît. Le lien fait plutôt peur vue la faible ampleur des modifs
que j'ai à faire, mais en suivant aussi la doc d'Emacs
https://www.gnu.org/software/emacs/manual/html_node/emacs/Creating-Custom-Themes.html#Creating-Custom-Themes
j'y suis parvenu.
J'ai donc maintenant deux micro-thèmes contenant quelque chose comme :
---
(custom-theme-set-faces
'toto
'(default ((t (:height 127)))))
---
et dans mon .emacs j'ai inséré :
---
(if (string-equal "toto" (getenv "PROFIL"))
(load-theme 'toto t)
(load-theme 'titi t))
---
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Merci Benoît. Le lien fait plutôt peur vue la faible ampleur des modifs que j'ai à faire, mais en suivant aussi la doc d'Emacs https://www.gnu.org/software/emacs/manual/html_node/emacs/Creating-Custom-Themes.html#Creating-Custom-Themes j'y suis parvenu. J'ai donc maintenant deux micro-thèmes contenant quelque chose comme : --- (custom-theme-set-faces 'toto '(default ((t (:height 127))))) --- et dans mon .emacs j'ai inséré : --- (if (string-equal "toto" (getenv "PROFIL")) (load-theme 'toto t) (load-theme 'titi t)) --- -- LL Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης) C'est mieux avé les accents (F. Patte)
vincent.belaiche
Lucas Levrel writes:
Le 24 janvier 2017, à 15:21, Benoit Izac a écrit :
Merci Benoît. Le lien fait plutôt peur vue la faible ampleur des modifs que j'ai à faire, mais en suivant aussi la doc d'Emacs https://www.gnu.org/software/emacs/manual/html_node/emacs/Creating-Custom-Themes.html#Creating-Custom-Themes j'y suis parvenu. J'ai donc maintenant deux micro-thèmes contenant quelque chose comme : --- (custom-theme-set-faces 'toto '(default ((t (:height 127))))) --- et dans mon .emacs j'ai inséré : --- (if (string-equal "toto" (getenv "PROFIL")) (load-theme 'toto t) (load-theme 'titi t)) ---
Dans mon fichier d'init, j'ai le code suivant que j'ai créé il y a vraiment un bout de temps, et je ne me souviens plus d'où j'ai sorti cela. Ce qu'il faut retenir c'est que j'utilise la variable initial-frame-alist pour régler les paramètres initiaux de la fenêtre (taille, police, taille de police). Un petit détail : j'utilise la bibliothèque mathématique calc-ext pour faire les calculs, mais en fait il y a tout ce qu'il faut en Elisp de base. --8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8---- ;; Plein écran & police ;;------------------------------------------------------------------- (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); )); ) ;; calcul de la hauteur du cadre, 37 de base, et on ajoute 1 ;; s'il y a la barre d'outils, et encore 1 s'il y a la barre ;; de menu. (let ((height 49)) (dolist (k '(tool-bar-lines menu-bar-lines)) (let ((c (assoc k initial-frame-alist))) (when (and c (= 0 (cdr c))) (setq height (1+ height)) ) ) ) (setq initial-frame-alist (cons (cons 'height height) initial-frame-alist)) ) --8<----8<----8<----8<----8<-- end -->8---->8---->8---->8---->8---- Vincent. --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Lucas Levrel <lucas.levrel@u-pec.fr> writes:
Le 24 janvier 2017, à 15:21, Benoit Izac a écrit :
Peut-être que le mieux reste de te faire un thème personnalisé ; voir
« 14.6 Custom Themes » dans le manuel elips ou, par exemple,
<https://github.com/bbatsov/zenburn-emacs/blob/master/zenburn-theme.el>.
Merci Benoît. Le lien fait plutôt peur vue la faible ampleur des
modifs que j'ai à faire, mais en suivant aussi la doc d'Emacs
https://www.gnu.org/software/emacs/manual/html_node/emacs/Creating-Custom-Themes.html#Creating-Custom-Themes
j'y suis parvenu.
J'ai donc maintenant deux micro-thèmes contenant quelque chose comme :
---
(custom-theme-set-faces
'toto
'(default ((t (:height 127)))))
---
et dans mon .emacs j'ai inséré :
---
(if (string-equal "toto" (getenv "PROFIL"))
(load-theme 'toto t)
(load-theme 'titi t))
---
Dans mon fichier d'init, j'ai le code suivant que j'ai créé il y a
vraiment un bout de temps, et je ne me souviens plus d'où j'ai sorti
cela.
Ce qu'il faut retenir c'est que j'utilise la variable
initial-frame-alist pour régler les paramètres initiaux de la fenêtre
(taille, police, taille de police).
Un petit détail : j'utilise la bibliothèque mathématique calc-ext pour
faire les calculs, mais en fait il y a tout ce qu'il faut en Elisp de
base.
;; calcul de la hauteur du cadre, 37 de base, et on ajoute 1
;; s'il y a la barre d'outils, et encore 1 s'il y a la barre
;; de menu.
(let ((height 49))
(dolist (k '(tool-bar-lines menu-bar-lines))
(let ((c (assoc k initial-frame-alist)))
(when (and c (= 0 (cdr c)))
(setq height (1+ height))
)
)
)
(setq initial-frame-alist (cons (cons 'height height) initial-frame-alist))
)
--8<----8<----8<----8<----8<-- end -->8---->8---->8---->8---->8----
Vincent.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Merci Benoît. Le lien fait plutôt peur vue la faible ampleur des modifs que j'ai à faire, mais en suivant aussi la doc d'Emacs https://www.gnu.org/software/emacs/manual/html_node/emacs/Creating-Custom-Themes.html#Creating-Custom-Themes j'y suis parvenu. J'ai donc maintenant deux micro-thèmes contenant quelque chose comme : --- (custom-theme-set-faces 'toto '(default ((t (:height 127))))) --- et dans mon .emacs j'ai inséré : --- (if (string-equal "toto" (getenv "PROFIL")) (load-theme 'toto t) (load-theme 'titi t)) ---
Dans mon fichier d'init, j'ai le code suivant que j'ai créé il y a vraiment un bout de temps, et je ne me souviens plus d'où j'ai sorti cela. Ce qu'il faut retenir c'est que j'utilise la variable initial-frame-alist pour régler les paramètres initiaux de la fenêtre (taille, police, taille de police). Un petit détail : j'utilise la bibliothèque mathématique calc-ext pour faire les calculs, mais en fait il y a tout ce qu'il faut en Elisp de base. --8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8---- ;; Plein écran & police ;;------------------------------------------------------------------- (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); )); ) ;; calcul de la hauteur du cadre, 37 de base, et on ajoute 1 ;; s'il y a la barre d'outils, et encore 1 s'il y a la barre ;; de menu. (let ((height 49)) (dolist (k '(tool-bar-lines menu-bar-lines)) (let ((c (assoc k initial-frame-alist))) (when (and c (= 0 (cdr c))) (setq height (1+ height)) ) ) ) (setq initial-frame-alist (cons (cons 'height height) initial-frame-alist)) ) --8<----8<----8<----8<----8<-- end -->8---->8---->8---->8---->8---- Vincent. --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Lucas Levrel
Le 14 mars 2017, à 10:40, Vincent Belaïche a écrit :
Dans mon fichier d'init, j'ai le code suivant que j'ai créé
(...) Wow. J'archive ton code, mais pour l'instant je n'utilise que deux écrans différents donc je reste avec mon choix entre deux réglages trouvés à la main :-) Merci. -- LL Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
Le 14 mars 2017, à 10:40, Vincent Belaïche a écrit :
Dans mon fichier d'init, j'ai le code suivant que j'ai créé
(...)
Wow. J'archive ton code, mais pour l'instant je n'utilise que deux écrans
différents donc je reste avec mon choix entre deux réglages trouvés à la
main :-)
Le 14 mars 2017, à 10:40, Vincent Belaïche a écrit :
Dans mon fichier d'init, j'ai le code suivant que j'ai créé
(...) Wow. J'archive ton code, mais pour l'instant je n'utilise que deux écrans différents donc je reste avec mon choix entre deux réglages trouvés à la main :-) Merci. -- LL Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)