Кнопка закриття на notify-osd?


41

Чи можливо отримати кнопку закриття екранного меню?

Він залишається надовго, і іноді у мене на моєму ПК є колеги, і я не хочу, щоб вони бачили, хто в Інтернеті чи яку пісню я слухаю. Ні, я не можу його відключити.


Єдине рішення для отримання кнопки закриття сповіщення - це використання AWN та використання плагіна сповіщення. Він добре працює з Rhythmbox і в екзилі теж.
theTuxRacer

Ця відповідь askubuntu.com/questions/14354/close-button-on-notify-osd/… в основному попереджує відображення сповіщень. Це тимчасово, і якщо цей процес припинено, показ сповіщень відновиться. Якщо під "я не можу відключити це" мається на увазі, що ви не можете відключити dbusмеханізм сповіщення , це рішення залишає його недоторканим ... якщо це означає, що ви намагалися і не можете зробити це, знову ця відповідь буде забезпечити рішення.
Джордж Роуелл

Відповіді:


16

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


так, я це зроблю. Але де я можу це зробити? Стартова площадка?
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 та коду на панелі запуску.


І прив’яжіть цю програму до гарячої клавіші, правда?
Розширювач

це вже в списку побажань, але дії я не буду вживати, я думаю. будь ласка, голосуйте bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer

Ця відповідь askubuntu.com/questions/14354/close-button-on-notify-osd/… в основному передбачає попередження сповіщень і хоча насправді не вимкнено, їх відображення є. Це тимчасово, і якщо цей процес припинено, показ сповіщень відновиться.
Джордж Роуелл

7

Існує спосіб отримати повідомлення за допомогою кнопки закриття.

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

З статті Webupd8

Спочатку встановіть Avant Window Navigator з центру програмного забезпечення та додайте в док-станцію "Демон сповіщення".

Тепер натисніть Alt + F2і вставтеgconf-editor

Потім перейдіть до додатків> awn-applet-notify-daemon (це для останнього AWN з магістралі PPA AWN, це можуть бути програми> avant-window-Навігатор> awn-applet-noti-daemon на старих версіях Avant Window Navigator ). Натиснувши на клавішу, її опис відобразиться внизу, щоб ви знали, як її налаштувати. Найважливіший ключ: "kill_standard_daemon" - переконайтеся, що це ввімкнено, інакше повідомлення AWN не працюватимуть.

Наприклад, "override_x" - це горизонтальне положення на екрані (для якого я використав "1900", оскільки ширина мого екрана дорівнює 1920, і я хочу, щоб повідомлення відображалися праворуч), "override_y" - це вертикальне положення ( для якого я використав "30", тому діалогове вікно сповіщень відображається у верхньому правому куті), а "gradient_factor" - прозорість. Цього має бути достатньо для початку роботи.

Щоб налаштувати кольори, зніміть прапорець "Use_theme", а потім вкажіть "text_colour" і "bg_colour" тощо.

Важливою особливістю, яку ви можете увімкнути, є "show_icon". Це відобразить піктограму в док-станції навігатора Avant Window, яку ви можете натиснути, щоб тимчасово відключити / включити сповіщення.


1
Це одночасно, як зараз моє налаштування :) Додавання аплікаційного повідомлення AWN дає мені функціонал, який я хочу. Дякую за відповідь :)
theTuxRacer

3

Замість використання навігатора вікна avant, ви також можете зробити це (протестовано лише на Lucid):

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

Це перемикається на демон демонстрації сповіщень XFCE, який схожий на типовий, лише кнопка закриття з’являється, коли ви наведіть на неї курсор.


2

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

Використання https://launchpad.net/caffeine , додаток для панелі стану, який може запобігти економію екрана / енергії, також відключить спливаючі вікна, тому я подумав, що запропоную це як вирішення.

Блокування сповіщення вказує на необхідність історії сповіщень, але це також було порушено як проблему та вирішено як виправлення: bugs.launchpad.net/notify-osd/+bug/382094


Вони роблять сповіщення ледь корисним роздратуванням ..
Дакота,

1

Зменшіть затримку за допомогою програми notify-osd-conf.


я можу спробувати це, але насправді є деякі речі, які мені потрібні певний час, щоб прочитати сам. отже, попит на кнопку закриття. в іншому випадку, дякую за голови!
theTuxRacer

2
@ObsessiveFOSS Це розроблено як вирішення проблеми, наведеної у питанні, і, здається, це може спрацювати. Тож хоч це і отримає користь від розширення та деталізації деталей, все-таки не було б кращого коментаря . borjacampina: Я рекомендую відредагувати це, щоб точно пояснити, як зменшити затримку таким чином.
Елія Каган


1

Закладка: кнопка "Закрити" на notify-osd?

посилання:

Концепції, попередньо перевірені, bash"d OSD спливаючі графіті" відключені "рішення мислиться і вилуплюється як:

dbus-monitor "interface='org.freedesktop.Notifications'" |             \
grep --line-buffered "member=Notify"                     |             \
sed -u -e  's/.*/killall notify-osd/g'                   |             \
bash

Це можна запустити в терміналі або як фонове завдання - зупиніть його і спливаючі графіті відновляться.

ОП заявило: "Ні, я не можу його відключити". Якщо це означає, що система сповіщення НЕ бути відключена користувачем, то це рішення відповідає цьому. Система неушкоджена. Якщо це означає, що учасник не знає, як це зробити, тоді рішення доречно.

Деталі пояснюються нижче рядка. Кінцевим було б вставити все на (у?) БД, щоб безпосередньо викликати

  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 для Windows. Використання верхньої панелі для закриття сповіщень аналогічно тому, як Unity висилає меню вікон із закритими, міні, полями maxi до верхнього рядка меню.

По-справжньому елегантне рішення показало б, що індикатор з'явиться, коли діяльність DBus для notify-osdманіфестів і зникне, коли немає очікуваних сповіщень.

Він також може вирішити проблему складених сповіщень - одночасно їх можна побачити, і якщо очікується кілька сповіщень, кожне з них має випаровуватися до появи наступного - зазвичай їх не можна побачити одночасно.

DBus-monitor«Нг notify-osdінтерфейс повідомлень, проте , буде забезпечувати негайне підтвердження в очікуванні повідомлення , навіть якщо є один вже показує. (І якщо killall notify-osdвидається негайно - presto poof!)

Виберіть Все, перетягніть та перетягніть у вікно терміналу наступні тести:

  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

Це було обдуманим рішенням залишити будь-який спосіб взаємодії з бульбашкою сповіщень (таким чином, це пасивне сповіщення), тож ви можете опублікувати звіт про помилку на Launchpad (можливо, його вже є) та лобіювати його зміни.

Я не те, що я можу побачити, що відбувається незабаром, якщо немає великого попиту (і немає)

Можливо, варто також спробувати вирішити цю проблему, попросивши спосіб виключити деякі програми з доступу до системи notify-osd.


0

Закриття кнопки самих сповіщень не вирішить вашу проблему. Вони все одно побачать сповіщення, і їх доведеться натиснути кнопку закрити, щоб закрити їх, якщо такі були.

Натомість ви повинні зробити це, коли ви хочете дозволити іншим користуватися вашим комп’ютером, просто виберіть параметр "Переключити користувача" в системному меню вгорі праворуч (значок шестірні) та скористайтеся входом у систему Гість. Це створить тимчасовий сеанс для їх використання та не збереже історію веб-переглядача, файли cookie тощо…, коли цей користувач вийде з системи. Це не дозволить їм бачити ваші сповіщення, а також, можливо, порушувати будь-які ваші власні дані (історія веб-пошуку, завантаження, логіни тощо) під час переходу ефіру з вашого комп'ютера.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.