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

41

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

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

theTuxRacer
источник
Единственный обходной путь для получения кнопки закрытия в уведомлении - это использовать AWN и использовать плагин уведомлений. Он хорошо работает с Rhythmbox и exaile тоже.
theTuxRacer
Этот ответ askubuntu.com/questions/14354/close-button-on-notify-osd/… в основном препятствует отображению уведомлений. Это временно, и если этот процесс остановлен, отображение уведомлений возобновляется. Если под «Я не могу отключить его» подразумевается, что вы не можете отключить dbusмеханизм уведомлений , это решение оставляет его без изменений ... если это означает, что вы пытались и не смогли этого сделать, снова этот ответ будет предоставить решение.
Джордж Роуэлл

Ответы:

16

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

Майк
источник
да, я сделаю это Но где я могу это сделать? Launchpad?
theTuxRacer
1
его уже есть в списке желаний, но я не думаю, что оно будет предпринято. проголосуйте, пожалуйста, за bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer
7
@Kaustubh P Прочтите это, markshuttleworth.com/archives/253 , а именно эту часть: The most controversial part of the proposal is the idea that notifications should not have actions associated with them. In other words, no buttons, sliders, links, or even a dismissal [x].не надейтесь , это не изменится в ближайшее время, если вообще когда-либо.
Исаия
1
Существует спецификация для изменения времени уведомления - более длинные сообщения будут оставаться в течение более длительного времени, или обновленные сообщения будут расширены. Патч, который будет приветствоваться, позволит сократить время на очень короткие сообщения :-)
Марк Шаттлворт,
10
Кроме того, мы хотели бы добавить режим «не беспокоить», в котором будут отображаться только системные (срочные) уведомления, такие как очень низкий уровень заряда батареи и проблемы с оборудованием. Таким образом, вы можете использовать функцию «не беспокоить», чтобы люди не видели ваши уведомления, когда они смотрят через ваше плечо, или вы подключены к проектору (хотя мы бы предпочли размещать уведомления на экране вашего ноутбука, а не на проекторе, где они разные дисплеи). Опять же, патч для этого будет приветствоваться.
Марк Шаттлворт
35

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

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

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

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

Марк Шаттлворт
источник
вау, спасибо за ответ! Я думаю, я мог бы плакать!
theTuxRacer
5
Я надеюсь, что этот режим "не беспокоить" будет реализован тогда.
Родди
Для этой системы срочных уведомлений должен быть способ разграничить, какие уведомления классифицируются как срочные.
Oxwivi
Я не согласен с этими решениями на 100%, но, по крайней мере, они, кажется, работают хорошо.
RolandiXor
Я бы попробовал заглянуть в исходный код и отправить патч (если это возможно).
зеленый
14

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

https://wiki.ubuntu.com/NotifyOSD

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

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

Мартин Оуэнс -доктормо-
источник
И привязать эту программу к горячей клавише, верно?
Extender
его уже есть в списке желаний, но я не думаю, что оно будет предпринято. проголосуйте, пожалуйста, за bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer
Этот ответ askubuntu.com/questions/14354/close-button-on-notify-osd/… в основном вывешивает уведомления и, хотя на самом деле не отключен, их отображение. Это временно, и если этот процесс остановлен, отображение уведомлений возобновляется.
Джордж Роуэлл
7

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

введите описание изображения здесь

Из статьи 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 отобразится значок, который можно затем нажать, чтобы временно отключить / включить уведомления.

Lincity
источник
1
Так совпало, как мои настройки прямо сейчас :) Добавление апплета уведомления AWN дает мне функционал, который я хочу. Спасибо за ответ :)
theTuxRacer
3

Вместо использования навигатора окон avant, вы также можете сделать это (проверено только на Lucid):

Установите xfce4-notifyd из центра программного обеспечения, нажмите Alt+ F2и вставьтеkillall notify-osd

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

Lincity
источник
2

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

Использование https://launchpad.net/caffeine , приложения строки состояния, которое может предотвратить экран / энергосбережение, также отключит всплывающие окна, поэтому я решил предложить это в качестве обходного пути.

Блокировка уведомления подчеркивает необходимость в истории уведомлений, но это также поднималось как проблема и решалось как исправление: bugs.launchpad.net/notify-osd/+bug/382094

Cas
источник
Они делают уведомления едва полезным раздражением ..
Дакота
1

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

borjacampina
источник
Я мог бы попробовать это, но на самом деле есть некоторые вещи, которые мне нужно некоторое время, чтобы прочитать себя. поэтому отсюда и спрос на кнопку закрытия. в противном случае, спасибо за головы!
theTuxRacer
2
@ObsessiveFOSS Это предназначено как решение для проблемы, указанной в вопросе, и кажется, что это может работать. Таким образом, даже если это выиграет от расширения и большей детализации, это все равно не будет лучше в качестве комментария . borjacampina: я рекомендую отредактировать это, чтобы точно объяснить, как уменьшить задержку таким образом.
Элия ​​Каган
1

Закладка: Кнопка «Закрыть» на уведомлении-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 с <ctrl> -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обнаружении всплывающих меню OSD граффити.

Джордж Роуэлл
источник
0

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

Это не то, что я могу увидеть в ближайшее время, если нет большого спроса (и нет)

Возможно, стоит попытаться решить эту проблему, попросив способ исключить доступ определенных программ к системе notify-osd.

user5260
источник
0

Кнопка закрытия на самих уведомлениях не решит вашу проблему. Они по-прежнему будут видеть уведомления и должны будут щелкнуть кнопку закрытия, чтобы закрыть их, если они были.

Вместо этого вам следует разрешить другим пользователям использовать ваш компьютер, просто выберите опцию «Сменить пользователя» в системном меню в правом верхнем углу (значок шестеренки) и используйте гостевую учетную запись. Это создаст для них временную сессию и не сохранит историю браузера, куки и т. Д., Когда этот пользователь выйдет из системы. Это не позволит им видеть ваши уведомления, а также, возможно, не будет мешать вашим собственным данным (истории веб-поиска, загрузкам, логинам и т. Д.), Поскольку они пересекают эфир с вашего компьютера.

Добей
источник