--- a/mcabber/mcabberrc.example Tue Jan 17 23:32:28 2006 +0100
+++ b/mcabber/mcabberrc.example Wed Jan 25 22:00:06 2006 +0100
@@ -70,6 +70,12 @@
# your OS version
#set iq_version_hide_os = 0
+# Beep
+# Set beep_on_message to 1 if you want mcabber to beep when receiving
+# a new message (except in chatrooms). If you want a more sophisticated
+# system (e.g. play a sound), have a look at 'events_command' below.
+#set beep_on_message = 0
+
# External command for events
# You can specify a script or process to be launched when an event occurs.
#
--- a/mcabber/src/hooks.c Tue Jan 17 23:32:28 2006 +0100
+++ b/mcabber/src/hooks.c Wed Jan 25 22:00:06 2006 +0100
@@ -121,6 +121,10 @@
if ((is_groupchat && !timestamp) || !is_groupchat)
hk_ext_cmd(jid, (is_groupchat ? 'G' : 'M'), 'R', wmsg);
+ // Beep, if enabled
+ if (settings_opt_get_int("beep_on_message"))
+ scr_Beep();
+
// We need to rebuild the list if the sender is unknown or
// if the sender is offline/invisible and hide_offline_buddies is set
if (new_guy ||
--- a/mcabber/src/screen.c Tue Jan 17 23:32:28 2006 +0100
+++ b/mcabber/src/screen.c Wed Jan 25 22:00:06 2006 +0100
@@ -242,6 +242,11 @@
return;
}
+inline void scr_Beep(void)
+{
+ beep();
+}
+
// scr_LogPrint(...)
// Display a message in the log window.
void scr_LogPrint(unsigned int flag, const char *fmt, ...)
--- a/mcabber/src/screen.h Tue Jan 17 23:32:28 2006 +0100
+++ b/mcabber/src/screen.h Wed Jan 25 22:00:06 2006 +0100
@@ -39,6 +39,7 @@
void scr_append_multiline(const char *line);
inline const char *scr_get_multiline();
+inline void scr_Beep(void);
int scr_Getch(void);
int process_key(int);