Хочу заставить mcabber издавать какой нибудь звук когда приходить сообщение.
Если это имеет какое то значение то использую konsole и оповещать он должен когда окно не в фокусе.
Дальше я постарался описать подробно что я пробовал делать:
Первым что я пробовал сделать это раскоментировать строчку
set beep_on_message = 1
Но не помогло.
Потом пробовал раскоментировать
$events_command MSG IN jabber@id [file]
$events_command MSG OUT jabber@id
$events_command MSG MUC room_id [file]
$events_command STATUS X jabber@id
$events_command UNREAD N
set events_command = home/n4ela/.mcabber/eventcmd
В самом eventcmd прописал следующие
#! /bin/sh
#
# Sample events script for mcabber
# Use OSD to display events on the user's desktop
#
# To use this script, set the "events_command" option to the path of
# the script (see the mcabberrc.example file for an example)
#
# MiKael, 2006-01-07
XOSD_CMD_PIPE='osd_cat --pos=top --align=right --delay=10 --color=cyan --outline=10 --color=magent'
event=$1
arg1=$2
arg2=$3
filename=$4
# Note that the 4th argument is only provided for incoming messages
# and when 'event_log_files' is set.
if [ $event = "MSG" ]; then
case "$arg1" in
IN)
# Incoming message from buddy $arg2
echo "You have an IM from <$arg2>" | $XOSD_CMD_PIPE > /dev/null 2>&1
if [ -n "$filename" -a -f "$filename" ]; then
# We could process filename here...
/bin/rm $filename
fi
;;
MUC)
# Groupchat message in room $arg2
if [ -n "$filename" && -f "$filename" ]; then
# We could process filename here...
/bin/rm $filename
fi
;;
OUT)
# Outgoing message for buddy $arg2
;;
esac
elif [ $event = "STATUS" ]; then
# Buddy $arg2 status is $arg1 (_, O, I, F, D, N, A)
echo "<$arg2> has changed status to: [$arg1]" | $XOSD_CMD_PIPE > /dev/null 2>&1
echo > /dev/null
fi
Этот код помоему был в примерах, но звук при сообщений все равно не появился.
Кстати если просто в консоле выполнить
./eventcmd
то появятся следующие ошибки
./eventcmd: line 20: [: =: unary operator expected
./eventcmd: line 41: [: =: unary operator expected
если выполнить ./eventcmd любая цифра\буква\слово
ошибок не появляется.
Ради интереса попробовал в eventcmd место этого сложного когда запихнуть сторчку
play -t mp3 ~/Downloads/ahem_x.wav
пробовал указывать как полный путь до папки так и ~.
Звук не появился.
На каком то забугорном форуме накнулся на скрипт на питоне.
#!/usr/bin/python
# Version 0.05
#
# Copyright © 2007 Adam Wolk "Mulander" <netprobe@gmail.com>
# Slightly updated by Mikael Berthe
#
# To use this script, set the "events_command" option to the path of
# the script (see the mcabberrc.example file for an example)
#
# This script is provided under the terms of the GNU General Public License,
# see the file COPYING in the root mcabber source directory.
#
import sys
CMD_MSG_IN="/usr/bin/play /home/n4ela/Downloads/ahem_x.wav"
#CMD_MSG_IN=""
SHORT_NICK=True
if len(sys.argv) == 5:
event,arg1,arg2,filename = sys.argv[1:5]
else:
event,arg1,arg2 = sys.argv[1:4]
filename = None
if event == 'MSG' and arg1 == 'IN':
import pynotify,os,locale
encoding = (locale.getdefaultlocale())[1]
msg = 'sent you a message.'
if SHORT_NICK and '@' in arg2:
arg2 = arg2[0:arg2.index('@')]
if filename is not None:
f = file(filename)
msg = f.read()
pynotify.init('mcnotify')
msgbox = pynotify.Notification(unicode(arg2, encoding),unicode(msg, encoding))
msgbox.set_timeout(3000)
msgbox.set_urgency(pynotify.URGENCY_LOW)
msgbox.show()
if (CMD_MSG_IN):
os.system(CMD_MSG_IN + '> /dev/null 2>&1')
if filename is not None and os.path.exists(filename):
os.remove(filename)
pynotify.uninit()
# vim:set noet sts=8 sw=8:
Звук не появился.
Если выполнить sh 1.py то указатель мыши превращается в крестик, больше не чего не происходит, если кликнуть мышкой то указатель становится нормальным, в консоле повяляется следующая ошибка
1.py: line 20: syntax error near unexpected token `sys.argv'
1.py: line 20: `if len(sys.argv) == 5:'
Если сделать файл исполняемым и набрать ./1.py
выдаст:
Traceback (most recent call last):
File "./1.py", line 23, in <module>
event,arg1,arg2 = sys.argv[1:4]
ValueError: need more than 0 values to unpack
Потом я посмотрел что выдает mcabber:
Reading /home/n4ela/.mcabber/mcabberrc
WARNING: Bad permissions [/home/n4ela/.mcabber/]
Error in configuration file (l. 204): this is not an assignment
Error in configuration file (l. 205): this is not an assignment
Error in configuration file (l. 206): this is not an assignment
Error in configuration file (l. 207): this is not an assignment
Error in configuration file (l. 208): this is not an assignment
Это те строчки которые я раскоментировал как события.
На одном форуме мне сказали что их надо обратно закоментировать, что я потом и сделал, но звук так и не повился.
Буду благодарен за помощь.
Ответ на:
комментарий
от arknir
Ответ на:
комментарий
от arknir
Ответ на:
комментарий
от n4ela
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум mcabber + pynotify (2009)
- Форум Проблема с перлом ? (2007)
- Форум Уведомление голосом (2015)
- Форум /bin/<command>: not found (2024)
- Форум помогите побороть ошибки при сборке (2008)
- Форум Помогите побороть avahi-daemon (2021)
- Форум Peertube очень ...никак устанавливается на убунту 18 (2018)
- Форум [treeview][bugreport] клик на поле «сообщение» (2010)
- Форум Народ помогите - не могу скомпилить прогу ???!!! (2002)
- Форум Evince 0.4.0 && ImportError: No module named libxml2 (2005)