Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/12/2006, à 19:12

Freddy

Installation de Emacs anti-aliasé + GTK

Bonjour,
Emacs est un bon programme, mais dont l'âge se fait sentir : il utilise toujours directement les polices d'X et les toolkits de X. Dans les dépôts universe, emacs-snapshot-gtk est un peu mieux mais ce n'est toujours pas ça.
Je vous propose de compiler Emacs avec le support pour GTK (et donc votre thème GNOME préféré) et les polices XFT (anti-aliaisées).

Voici ce que vous pourrez obtenir :
Emacs avec la coloration syntaxique, le fichier HELLO avec différentes écritures, et les menus GTK :
c2bb3215fc09e252745cb027c15et.jpg

Emacs avec Tetris et une polices non proportionnelle :
d9148088ae9cd6cf62555d4a4207t.jpg

Nous allons installer Emacs dans notre répertoire personnel (vous n'aurez pas besoin des droits d'administrateur si les dépendances sont déjà installées).
Bien qu'il me semble que l'installation d'une autre version d'emacs ne soit pas nécessaire, je conseille d'avoir sous la main emacs-snapshot-gtk au cas où.
Dépendances nécessaires : libgtk2.0-dev (~14Mo avec les dépendances), xorg-dev (~8Mo avec les dépendances), et cvs. En une ligne : « sudo aptitude install libgtk2.0-dev xorg-dev cvs ».

Pour récupérer les sources (cvs créera un dossier emacs dans le répertoire courant) :

$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co -r emacs-unicode-2 emacs

Se placer dans le dossier des sources : cd emacs
Configuration :

$ ./configure --with-gtk --with-xft --enable-font-backend
Compilation (de l'ordre de la 1/2 heure sur un P IV 1,7GHz) :
$ make bootstrap
$ cd lisp
$ make recompile EMACS=../src/emacs
$ cd ..

Lancement d'Emacs :
Si vous êtes dans le répertoire des sources :

$ src/emacs --enable-font-backend --font="Monospace-10"

Il est obligatoire de préciser l'option « --enable-font-backend » à chaque lancement d'emacs, l'option « --font » peut être omise si vous précisez une police dans votre .emacs.

Le plus pratique est bien sûr d'utiliser un raccourci sur votre bureau ou si vous lancez souvent Emacs depuis la ligne de commande, d'ajouter un alias dans votre .bashrc :
alias emacs-cvs='/chemin/vers/les/sources/emacs/src/emacs --enable-font-backend --font="Monospace"'

Optionnel mais conseillé si vous utilisez des modes Lisp installés par les gestionnaire de paquets : ajoutez ceci pour que Emacs les utilise :

(if (and (string-match "23.0.0" (version))
         window-system)
    (progn
      (let ((startup-file "/usr/share/emacs-snapshot/site-lisp/debian-startup.elc"))
        (if (and (or (not (fboundp 'debian-startup))
                     (not (boundp  'debian-emacs-flavor)))
                 (file-readable-p startup-file))
            (progn
              (load-file startup-file)
              (setq debian-emacs-flavor 'emacs-snapshot)
              (debian-startup debian-emacs-flavor)
              (mapcar '(lambda (f)
                         (and (not (string= (substring f -3) "/.."))
                              (file-directory-p f) 
                              (add-to-list 'load-path f)))
                      (directory-files "/usr/share/emacs-snapshot/site-lisp" t)))))

      ; si vous préférez configurer les polices ici, il suffira d'utiliser
      ; l'option --enable-font-backend
      ; Bien sûr, ce qui suit peut être modifié à votre convenance.
      (set-default-font "Monospace-10")
      (set-face-background 'default "grey97")
      (set-face-font 'modeline "Sans-9")
      (set-face-background 'fringe "grey97")))

Ce code ne sera utilisé que par emacs compilé depuis les sources, et lancé en mode graphique. Il peut être utile de modifier ceci si vous comptez utiliser Emacs CVS depuis une console.

Si vous souhaitez installer emacs pour tous les utilisateurs, suivez les instructions de cette page (non testé). Une autre solution serait d'utiliser le répertoire /opt au lieu de votre répertoire personnel.

Pour info, voici la sortie de ./configure chez moi :

Configured for `i686-pc-linux-gnu'.

  Where should the build process find the source code?    /home/fred/progs/emacs
  What operating system and machine description files should Emacs use?
        `s/gnu-linux.h' and `m/intel386.h'
  What compiler should emacs be built with?               gcc -g -O2 -Wno-pointer-sign 
  Should Emacs use the GNU version of malloc?             yes
      (Using Doug Lea's new malloc from the GNU C Library.)
  Should Emacs use a relocating allocator for buffers?    yes
  Should Emacs use mmap(2) for buffer allocation?         no
  What window system should Emacs use?                    x11
  What toolkit should Emacs use?                          GTK
  Where do we find X Windows header files?                Standard dirs
  Where do we find X Windows libraries?                   Standard dirs
  Does Emacs use -lXaw3d?                                 no
  Does Emacs use -lXpm?                                   yes
  Does Emacs use -ljpeg?                                  no
  Does Emacs use -ltiff?                                  no
  Does Emacs use -lungif?                                 no
  Does Emacs use -lpng?                                   yes
  Does Emacs use X toolkit scroll bars?                   yes

Par la suite, pour mettre à jour Emacs,  il faut se placer dans le répertoire des sources, puis :

$ cvs update
$ ./configure --with-gtk --with-xft --enable-font-backend
$ make
$ cd lisp
$ make recompile EMACS=../src/emacs
$ cd ..
$ make

Ressources :
EmacsWiki, notemment www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs, et d'autres pages du Wiki.
The Black Dragon's Blog
INSTALL.CVS dans le dossier des sources.


There is no system but GNU, and Linux is one of its kernels.

Hors ligne

#2 Le 12/01/2007, à 04:00

neves

Re : Installation de Emacs anti-aliasé + GTK

Merci ça marche nickel smile

Hors ligne