Могу ли я делать уведомления по центру рабочего стола? - proUbuntu
1 голос
/ 19 октября 2015

Редактировать

Сейчас я использую osd_cat, установленную с xosd. Это делает работу отлично для меня, так как это настраивается в соответствии с моими потребностями. Вы даже можете выбрать шрифт из вывода xlsfonts

Оригинальный пост

Я хотел бы наложить пользовательский текст в качестве уведомления.

Важно, чтобы уведомление было не навязчивым (не убирает фокус окна).

Я сделал 8 секундное видео, чтобы показать, что я пытаюсь сделать:

8-секундный образец клипа

Я знаю о zenity, xmessage и notify-send, и не думаю, что что-то из этого может сделать то, что я пытаюсь сделать.

Я готов использовать png в качестве оверлеев, если пользовательский текст сложнее сделать.

Это было вдохновлено OSD Linux Mint Change Workspace:

Linux Mint's Change Workspace Screenshot

1 Ответ

2 голосов
/ 19 октября 2015

Редактировать

После некоторых исследований я обнаружил пакет gnome-osd, который, кстати, использует python и устанавливается просто с sudo apt-get install gnome-osd.

Свойства, такие как расположение текста, можно настроить с помощью инструмента gnome-osd-properties. Отправка сообщений имеет тот же синтаксис, что и notify-send. Уведомления не навязчивы. Я проверил это с помощью команды sleep 10; gnome-osd-client "This is a test message" и включил работу в Firefox до появления текста; Мне все еще удавалось писать в firefox, даже когда на экране было нарисовано уведомление.

Ниже приведен пример с тестовым сообщением:

enter image description here

Другая альтернатива - использовать osdsh, который работает почти так же, запустить демон с osdsh, настроенным с osdshconfig и отправить сообщение с osdctl -s "TEST STRING"

Исходное сообщение

notify-send не указывает параметры местоположения. Используйте zenity или xmessage

zenity дает центрированные всплывающие окна по умолчанию. Пример:

zenity --info --text "Hello world"

xmessage должен быть настроен в соответствии с флагом -geometry, указанным на странице руководства для X (man x). Но вам нужно знать размер экрана, который можно найти с помощью xrandr, xprop -root или xwininfo -root. Пример:

xmessage "Hello world" -geometry 250x250-130+100
...