Кнопка закрытия на уведомлении-OSD?
Можно ли получить кнопку закрытия на экранном меню?
Это остается в течение долгого времени, и иногда у меня есть коллеги за моим компьютером, и я не хочу, чтобы они видели, кто онлайн, или какую песню я слушаю. Нет, я не могу отключить это.
11 ответов
Ваша лучшая ставка будет подать ошибку и попросить функцию. При регистрации ошибки списка желаний, подобной этой, обязательно продумайте несколько пользовательских случаев, почему эта функция может оказаться полезной для большей части сообщества пользователей Ubuntu.
Выбор нулевого хрома в эфемерных уведомлениях очень осознанный и не изменится. Обоснование заключается в том, что эти уведомления должны быть максимально легкими.
Тем не менее, есть некоторые вещи, которые помогут вам в дальнейшем.
Существует спецификация для изменения времени уведомления - более длинные сообщения будут оставаться в течение более длительного времени, или обновленные сообщения будут расширены. Патч, который был бы полезен, позволил бы нам сократить время на очень короткие сообщения:-)
Кроме того, мы хотели бы добавить режим "не беспокоить", в котором будут отображаться только системные (срочные) уведомления, такие как очень низкий уровень заряда батареи и проблемы с оборудованием. Таким образом, вы можете использовать функцию "не беспокоить", чтобы люди не видели ваши уведомления, когда они смотрят через ваше плечо, или вы подключены к проектору (хотя мы бы предпочли размещать уведомления на экране вашего ноутбука, а не на проекторе, где они разные дисплеи). Опять же, патч для этого будет приветствоваться.
Там нет кнопки закрытия, блоб даже не находится в терминах мыши (когда вы нажимаете на него, он просто нажимает на то, что когда-либо позади него), подробности смотрите здесь:
https://wiki.ubuntu.com/NotifyOSD
Эта функциональность не изменится, было несколько сообщений об ошибках, спрашивающих о том, что вы просите, и все они были отклонены в самых строгих терминах.
Вы могли бы сделать программу, чтобы закрыть ее, немного раскошелиться на код osd и использовать некоторые из существующих ветвей кода, которые уже делают это. Смотрите программу D-Feet для просмотра и воспроизведения с интерфейсом dbus для notifyosd и кода на панели запуска.
Есть способ, которым вы можете получать уведомления с помощью кнопки закрытия.
Сначала установите Avant Window Navigator из центра программного обеспечения и добавьте "Notification Daemon" в док-станцию.
Теперь нажмите Alt + F2 и вставьте
gconf-editor
Затем перейдите к приложениям> awn-applet-messages-daemon (это для последней версии AWN из PPA магистрали AWN, это могут быть приложения> avant-window-navigator> awn-applet-messages-daemon в старых версиях Avant Window Navigator). Нажатие на ключ покажет его описание внизу, чтобы вы знали, как его настроить. Самый важный ключ: "kill_standard_daemon" - убедитесь, что он включен, иначе уведомления AWN не будут работать.
Например, "override_x" - это горизонтальная позиция на экране (для которой я использовал "1900", потому что у меня ширина экрана 1920, и я хочу, чтобы уведомления отображались справа), "override_y" - это вертикальная позиция (для которого я использовал "30", поэтому диалоговое окно уведомлений отображается в верхнем правом углу), а "factor_factor" - это прозрачность. Этого должно быть достаточно, чтобы вы начали.
Чтобы настроить цвета, снимите флажок "use_theme", затем укажите "text_colour", "bg_colour" и так далее.
Важной функцией, которую вы можете включить, является "show_icon". На док-станции Avant Window Navigator отобразится значок, который можно затем нажать, чтобы временно отключить / включить уведомления.
Вместо использования навигатора окон avant, вы также можете сделать это (проверено только на Lucid):
Установите xfce4-notifyd из центра программного обеспечения, нажмите Alt + F2 и вставьте killall notify-osd
Это переключается на демон уведомления XFCE, который очень похож на стандартный по умолчанию, при наведении на него появляется только кнопка закрытия.
Я читал об этом раньше и могу понять рассуждения о дизайне, но на практике они отвлекают, когда их нелегко очистить.
Использование https://launchpad.net/caffeine, приложения строки состояния, которое может предотвратить экран / энергосбережение, также отключит всплывающие окна, поэтому я решил предложить это в качестве обходного пути.
Блокировка уведомления подчеркивает необходимость в истории уведомлений, но это также поднималось как проблема и решалось как исправление: bugs.launchpad.net/notify-osd/+bug/382094
Закладка: Кнопка "Закрыть" на уведомлении-osd?
ссылка:
- /questions/49882/knopka-zakryitiya-na-uvedomlenii-osd/49915#49915
- /questions/49882/knopka-zakryitiya-na-uvedomlenii-osd/49894#49894
Концепции, прежде чем доказано, bash
"Отключенное" решение для всплывающих граффити "OSD" задумано и заштриховано как:
dbus-monitor "interface='org.freedesktop.Notifications'" | \
grep --line-buffered "member=Notify" | \
sed -u -e 's/.*/killall notify-osd/g' | \
bash
Это может быть выполнено в терминале или в качестве фоновой задачи - остановите его и возобновите всплывающее окно с граффити.
ОП заявил "Нет, я не могу отключить его". Если это означает, что система уведомлений НЕ ДОЛЖНА быть отключена из-за проблем, то это решение соответствует этому. Система не повреждена. Если это означает, что проблемка не знает, как это сделать, то снова решение уместно.
Подробности объяснены ниже строки. В конечном итоге все будет встроено в (в?) DBus, чтобы напрямую вызывать
qdbus org.freedesktop.Notifications \
/org/freedesktop/Notifications \
org.freedesktop.Notifications.CloseNotification(uint id)
Очень, очень, очень наивное рудиментарное решение, которое является скорее доказательством концепции, чем практическим, по существу "отключает" notify-osd
(или, по крайней мере, его последствия). Не забудьте прекратить его, когда закончите тестирование! ETX'ng с
while true; do killall notify-osd; done
("услышать" соответствующую деятельность, которую вы можете захотеть "grep
из"
notify-osd: no process found ....
)
Проверьте это, запустив его в окне терминала и из другого окна терминала попробуйте выполнить:
notify-send "test 1" "now you see it not"
notify-send "test 2" "you see it not after test 1 evaporates"
notify-send "test 3" "finally after test 2 evaporates"
Остановите первый процесс, а затем повторите сообщения.
Возможно notify-osd
индикатор для unity-panel-service
может вызвать killall notify-osd
, Кнопка закрытия горячих точек не будет (и не может!) Находиться в окне уведомлений, но будет доступна на панели индикаторов. Это полностью аналогично той же концепции, что и Unity для окон. Использование верхней панели для закрытия уведомлений аналогично тому, как Unity изгоняет оконные меню с закрытыми, мини, макси-блоками на верхней панели меню.
По-настоящему элегантное решение будет иметь индикатор, когда активность DBus для notify-osd
проявляется и исчезает, когда нет ожидающих уведомлений.
Это может также решить проблему с накоплением уведомлений - за один раз можно увидеть только одно, и если ожидают несколько уведомлений, каждое из них должно испариться до появления следующего - их обычно нельзя увидеть одновременно.
DBus-monitor
из notify-osd
Однако интерфейс уведомлений обеспечивает немедленное подтверждение ожидающих уведомлений, даже если они уже отображаются. (И если killall notify-osd
выдается сразу - presto poof!)
Выберите All, перетащите в окно терминала следующие тесты:
notify-send "test 1" "now you see it"
notify-send "test 2" "you see it after test 1 evaporates"
notify-send "test 3" "finally after test 2 evaporates"
Теперь сделайте то же самое с p{r}oof:
notify-send "test 1" "now you don't"
notify-send "test 2" "you see it not! after test 1 evaporates"
notify-send "test 3" "NOT finally after test 2 evaporates"
killall notify-osd
notify-send "gonzo" "gone nada zip zilch"
killall notify-osd
в предлагаемом решении будет срабатывать, когда DBus monitor
обнаруживает всплывающее окно с граффити.
Попробуй это:
http://www.webupd8.org/2012/06/closable-movable-notifyosd.html
Вы не получите кнопку закрытия, но вы сможете закрыть пузырь и настроить время его активности.
Кнопка закрытия на самих уведомлениях не решит вашу проблему. Они по-прежнему будут видеть уведомления и должны будут щелкнуть кнопку закрытия, чтобы закрыть их, если они были.
Вместо этого вам следует разрешить другим пользователям использовать ваш компьютер, просто выберите опцию "Сменить пользователя" в системном меню в правом верхнем углу (значок шестеренки) и используйте гостевую учетную запись. Это создаст для них временную сессию и не сохранит историю браузера, куки и т. Д., Когда этот пользователь выйдет из системы. Это не позволит им видеть ваши уведомления, а также, возможно, не будет мешать вашим собственным данным (истории веб-сайтов, загрузкам, логинам и т. Д.), Поскольку они пересекают эфир с вашего компьютера.
Это было преднамеренное решение исключить любой способ взаимодействия с пузырем уведомлений (таким образом, это пассивное уведомление), чтобы вы могли опубликовать отчет об ошибке на панели запуска (может быть, он уже есть) и лоббировать его изменение.
Это не то, что я могу увидеть в ближайшее время, если нет большого спроса (и нет)
Возможно, стоит попытаться решить эту проблему, попросив способ исключить доступ определенных программ к системе notify-osd.