软响铃 ── 把 beep 换成音乐

Toy Posted in AppsRSSTrackback

良多人想方设法想关掉控制台(或 X 终端模拟器)的嘀嘀声。我觉得有提示音不必定是坏事,可是那个嘀嘀声听起来简直有点烦人。并且在我的 irssi 中那个 beep 提示音实在是太小声了(并且也不难听)。颠末一番寻觅,找到了这个 softbeep。softbeep 可以否决多个发出 beep 的法子,并将其转化成运转恣意敕令,征求播放音乐。

softbeep 可以否决这些事务:

  1. 写入 tty 控制台的 bell 字符,便是日常寻常所说的’\a’
  2. 基于 gtk/gnome 的法式对 gdk_bell() 的调用
  3. 基于 Xlib 的法式对 XBell() 的调用
  4. 基于 curses 的法式对 beep() 的调用

布置未几述。启用 softbeep 很复杂大,设置在情况变量 $LD_PRELOAD 中加 /usr/lib/softbeep/libsoftbeep.so,或许用软件包供给的包装法式:

softbeep foo

softbeep 美尽是颠末情况变量控制的:

SB_REMOVE_BEL 设为 yes 的话会丢掉 TTY 控制台的‘a’字符。
SB_RUN 事务发作时运转的法式。

如果使用 softbeep foo 的情势启用 softbeep,那么 SB_RUN 默觉得 sb-beep,可以自定义 SB_RUN 的值,但记取要用 shell 剧本包起来。我为便利间接改了一下 /usr/bin/sb-beep:

#!/bin/sh
FILE=/usr/share/sounds/pidgin/alert.wav
# if [ “$1″ == “irssi” ] || [ “$1″ == “xchat” ] ; then
#       FILE=/usr/share/sounds/email.wav
# fi
# use the player specified in $SB_PLAYER if defined
if [ -z “$SB_PLAYER” ]; then
       exec esdplay $FILE
else
       exec $SB_PLAYER $FILE
fi

以后烦人的嘀嘀声就变成音乐了~…





版权声明: 原创作品,容许转载,转载时请务必以超链接情势标明文章 原始出处 、作者信息和本声明。否则将追查司法责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1973073.html