J'ai déjà pesté contre le bogue du bip de la console (voir ici) qui affecte certaines distributions Linux.
Ayant constaté que la fonction gdk_beep() n'est pas affectée par ce bogue, je l'ai donc utilisée dans GraceGTK.
J'ai voulu ensuite obtenir une version d'Emacs capable de faire bip sous Debian 6 Squeeze et pour cela, fourré mon nez dans le code source.
J'en ai déduit que c'était la fonction XTring_bell() dans le fichier xterm.c qui était en cause et je l'ai modifiée en conséquence:En recompilant Emacs, on obtient le résultat souhaité, mais encore plus intéressant, ceci laisse penser que c'est la fonction XBell du serveur X11 qui est en cause.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 /* Make audible bell. */ void XTring_bell () { struct frame *f = SELECTED_FRAME (); if (FRAME_X_DISPLAY (f)) { #if defined (HAVE_TIMEVAL) && defined (HAVE_SELECT) if (visible_bell) XTflash (f); else #endif { BLOCK_INPUT; #ifdef USE_GTK // P.VINCENT gdk_beep (); // P.VINCENT #else // P.VINCENT XBell (FRAME_X_DISPLAY (f), 0); XFlush (FRAME_X_DISPLAY (f)); #endif // P.VINCENT UNBLOCK_INPUT; } } }
J'ai donc envoyé cette suggestion à bug-gnu-emacs@gnu.org.
Je continue la discussion sur ce site dans le forum Linux qui me semble plus approprié.
Partager