Кнопка закрытия на уведомлении-OSD?

Можно ли получить кнопку закрытия на экранном меню?

Это остается в течение долгого времени, и иногда у меня есть коллеги за моим компьютером, и я не хочу, чтобы они видели, кто онлайн, или какую песню я слушаю. Нет, я не могу отключить это.

11 ответов

Решение

Ваша лучшая ставка будет подать ошибку и попросить функцию. При регистрации ошибки списка желаний, подобной этой, обязательно продумайте несколько пользовательских случаев, почему эта функция может оказаться полезной для большей части сообщества пользователей Ubuntu.

Выбор нулевого хрома в эфемерных уведомлениях очень осознанный и не изменится. Обоснование заключается в том, что эти уведомления должны быть максимально легкими.

Тем не менее, есть некоторые вещи, которые помогут вам в дальнейшем.

Существует спецификация для изменения времени уведомления - более длинные сообщения будут оставаться в течение более длительного времени, или обновленные сообщения будут расширены. Патч, который был бы полезен, позволил бы нам сократить время на очень короткие сообщения:-)

Кроме того, мы хотели бы добавить режим "не беспокоить", в котором будут отображаться только системные (срочные) уведомления, такие как очень низкий уровень заряда батареи и проблемы с оборудованием. Таким образом, вы можете использовать функцию "не беспокоить", чтобы люди не видели ваши уведомления, когда они смотрят через ваше плечо, или вы подключены к проектору (хотя мы бы предпочли размещать уведомления на экране вашего ноутбука, а не на проекторе, где они разные дисплеи). Опять же, патч для этого будет приветствоваться.

Там нет кнопки закрытия, блоб даже не находится в терминах мыши (когда вы нажимаете на него, он просто нажимает на то, что когда-либо позади него), подробности смотрите здесь:

https://wiki.ubuntu.com/NotifyOSD

Эта функциональность не изменится, было несколько сообщений об ошибках, спрашивающих о том, что вы просите, и все они были отклонены в самых строгих терминах.

Вы могли бы сделать программу, чтобы закрыть ее, немного раскошелиться на код osd и использовать некоторые из существующих ветвей кода, которые уже делают это. Смотрите программу D-Feet для просмотра и воспроизведения с интерфейсом dbus для notifyosd и кода на панели запуска.

Есть способ, которым вы можете получать уведомления с помощью кнопки закрытия.

введите описание здесь

Из статьи Webupd8

Сначала установите 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

Уменьшите задержку с помощью приложения notify-osd-conf.

Закладка: Кнопка "Закрыть" на уведомлении-osd?

ссылка:

Концепции, прежде чем доказано, 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 с -C или закрытием окна терминала и т. д. Он делает свою работу, но не очень прагматично! поскольку, к сожалению, другие пострадают, пытаясь сделать свое...

  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.

Другие вопросы по тегам