Наконец-то новый Скайп поддерживает оформление Qt. Потихоньку программа становится более-менее юзабельной, но косяков еще много. Например, когда вам приходят сообщения в Linux'овый Скайп, они появляются где-то сбоку-снизу, что выглядит ужасно. Особенно в сравнении с великолепной Ubunt'овской системой уведомлений Notify-OSD. Поскольку у меня с помощью Notify-OSD все в принципе уведомления появляются в красивых прозрачных окошках справа-сверху, неродной Skype особенно режет глаз.
Если поискать в интернете, то можно найти совет прописать в настройках что-то вроде notify-send -i skype '%sname' '%smessage'
, но все равно выходит криво, потому что:
- Если вам придут несколько сообщений подряд, они будут выскакивать по очереди с перерывом 10 секунд, вместо того что-бы прикрепляться к предыдущему от того же собеседника (см. скриншот). Долго. И можно пропустить что-то важное.
- Сообщения будут выскакивать даже если у вас открыто окно чата, что просто бессмысленно.
Всплывающие сообщения Skype с помощью Notify-osd
Установка
- Установите программу для управления окнами wmctrl и необходимые библиотеки:
sudo apt-get install wmctrl libnotify
- Скачайте скрипт notify-append и скрипт skypenotify в папку
~/bin/
: - Сделайте скрипты исполняемыми
chmod +x ~/bin/notify-append && chmod +x ~/bin/skypenotify
- Skype->Options->Notifications
- Нажмите кнопку "Advanched" справа.
- Для событий "Chat Message Received" и "First Chat Message Received" в "Execute the following script" введите:
(если скрипты лежат в папке
skypenotify "%sname" "%smessage"
~/bin/
полный путь прописывать необязательно) - Для них-же уберите птичку с "Display pop-up"
- Сверните Скайп и ждите пока вам кто-нибудь напишет, для проверки. Ну или просто нажмите "Test Event"; (так неинтересно :).
wget https://raw.github.com/dmi3/bin/master/notify-append -P ~/bin wget https://raw.github.com/dmi3/bin/master/skypenotify -P ~/bin
PS: Ненавижу Skype. Но приходится им пользоваться, потому что многие думают иначе :(.
PPS: Также вы можете использовать notify-append для любой другой программы, где требуется приклеивать сообщения к друг другу используя комманду:
notify-append 'Заголовок программы' 'Сообщение' 'Иконка (не обязательно)'
skypenotify
используется чтобы показывать уведомление только если окно с собеседником не в фокусе.
UPD: Старое решение
По ссылке выше - новое решение, написанное полностью на dbus. Раньше тут все было харкорнее:скрипта, один на Python - сервер который подключается к Notify-OSD; 2-ой bash, который посылает серверу мессаги из скайпа :). Его вы можете скачать здесь - Скачать Skype Notify Append . Теперь немного о том как это работало раньше:
Сообщения будут прикрепляться (merge) друг к другу, только если вызывать их из одной программы. Команда notify-send работать не будет, так как ее новая копия запускается при каждом вызове.
Поэтому, запускается небольшой сервер на Python и начинает слушать 8091 порт.
Когда приходит мессадж, Skype через Bash скрипт запрашивает wget'ом адрес http://127.0.0.1:8091/сообщение
Python сервер это сообщение парсит, и выводит через pynotify.
Советую посмотреть исходники "сервера", может быть полезно, например для создания web-интерфейсов к Python программам.