Przycisk Zamknij na powiadomienie-osd?

41

Czy można uzyskać przycisk zamknięcia na OSD?

Pozostaje przez długi czas, a czasem mam kolegów na komputerze i nie chcę, żeby widzieli, kto jest online, lub jakiej piosenki słucham. Nie, nie mogę tego wyłączyć.

theTuxRacer
źródło
Jedynym obejściem, które pozwala uzyskać przycisk zamknięcia powiadomienia, jest skorzystanie z AWN i wtyczki powiadomień. Działa dobrze z Rhythmbox i exaile.
theTuxRacer
Ta odpowiedź askubuntu.com/questions/14354/close-button-on-notify-osd/… zasadniczo uniemożliwia wyświetlanie powiadomień. Jest to tymczasowe i jeśli proces ten zostanie zatrzymany, wyświetlanie powiadomień zostanie wznowione. Jeśli „Nie mogę tego wyłączyć” oznacza, że ​​nie możesz wyłączyć dbusmechanizmu powiadamiania , to rozwiązanie pozostawia to nienaruszone ... jeśli oznacza to, że próbowałeś i nie byłeś w stanie tego zrobić, ponownie ta odpowiedź będzie Zapewnij rozwiązanie.
George Rowell,

Odpowiedzi:

16

Najlepszym rozwiązaniem byłoby zgłoszenie błędu i poproszenie o tę funkcję. Podczas zgłaszania takiego błędu na liście życzeń, należy podać przemyślane przypadki użytkowników, dlaczego ta funkcja może okazać się przydatna w większej części społeczności użytkowników Ubuntu.

Mikrofon
źródło
tak, zrobię to. Ale gdzie mogę to zrobić? Wyrzutnia?
theTuxRacer
1
jest już na liście życzeń, ale myślę, że nie zostaną podjęte żadne działania. głosuj na bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer
7
@Kaustubh P Przeczytaj to, markshuttleworth.com/archives/253 a konkretnie ta część: 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].Nie pokładaj nadziei, to się nie zmieni w najbliższym czasie, jeśli w ogóle.
Izajasza
1
Istnieje specyfikacja określająca czas zmiennej powiadomienia - dłuższe wiadomości pozostaną na dłużej lub zaktualizowane wiadomości zostaną przedłużone. Implementacja łatki, która byłaby mile widziana, pozwoliłaby nam skrócić czas na bardzo krótkie wiadomości :-)
Mark Shuttleworth,
10
Ponadto chcielibyśmy dodać tryb „nie przeszkadzać”, w którym pojawiałyby się tylko powiadomienia systemowe (pilne), takie jak bardzo niski poziom naładowania baterii i problemy ze sprzętem. Możesz więc użyć funkcji Nie przeszkadzać, aby osoby nie widziały Twoich powiadomień, gdy patrzą przez ramię lub gdy jesteś podłączony do projektora (chociaż wolelibyśmy umieszczać powiadomienia na ekranie laptopa, a nie na projektorze, gdzie są różne wyświetlacze). Znowu łatka na to byłaby mile widziana.
Mark Shuttleworth,
35

Wybór zerowego chromu w efemerycznych powiadomieniach jest bardzo celowy i nie będzie się zmieniał. Uzasadnieniem jest to, że powiadomienia te powinny być jak najlżejsze.

Istnieją jednak pewne rzeczy, które można zrobić, aby pomóc Ci dalej.

Istnieje specyfikacja określająca czas zmiennej powiadomienia - dłuższe wiadomości pozostaną na dłużej lub zaktualizowane wiadomości zostaną przedłużone. Implementacja łatki, która byłaby mile widziana, pozwoliłaby nam skrócić czas na bardzo krótkie wiadomości :-)

Ponadto chcielibyśmy dodać tryb „nie przeszkadzać”, w którym pojawiałyby się tylko powiadomienia systemowe (pilne), takie jak bardzo niski poziom naładowania baterii i problemy ze sprzętem. Możesz więc użyć funkcji Nie przeszkadzać, aby osoby nie widziały Twoich powiadomień, gdy patrzą przez ramię lub są podłączone do projektora (chociaż wolelibyśmy umieszczać powiadomienia na ekranie laptopa, a nie na projektorze, gdzie są różne wyświetlacze). Znowu łatka na to byłaby mile widziana.

Mark Shuttleworth
źródło
wow, dzięki za odpowiedź! Chyba mogę płakać!
theTuxRacer
5
Mam nadzieję, że ten tryb „nie przeszkadzać” zostanie zaimplementowany.
Roddie
W przypadku tego systemu pilnych powiadomień powinien istnieć sposób rozróżnienia, które powiadomienia należy zaklasyfikować jako pilne.
Oxwivi,
Nie zgadzam się z tymi decyzjami w 100%, ale przynajmniej wydają się działać dobrze.
RolandiXor
Spróbuję zajrzeć do kodu źródłowego i przesłać łatkę (jeśli to możliwe).
zielony
14

Nie ma przycisku zamykania, kropla nie występuje nawet pod względem myszy (po kliknięciu na nią, po prostu klika to, co się za nim znajduje), zobacz szczegóły tutaj:

https://wiki.ubuntu.com/NotifyOSD

Ta funkcjonalność się nie zmieni, pojawiło się kilka raportów o błędach z pytaniem o to, o co prosisz, a wszystkie zostały odrzucone w najostrzejszych warunkach.

Możesz zrobić program, aby go zamknąć, trochę rozwidlić kod OSD i użyć niektórych istniejących gałęzi kodu, które już to robią. Zobacz program D-Feet, aby przeglądać i bawić się interfejsem dbus dla powiadomień i kodu na starterze.

Martin Owens -doctormo-
źródło
I powiąż ten program ze skrótem klawiszowym, prawda?
Extender
jest już na liście życzeń, ale myślę, że nie zostaną podjęte żadne działania. głosuj na bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer
Ta odpowiedź askubuntu.com/questions/14354/close-button-on-notify-osd/… zasadniczo zapobiega powiadomieniom i chociaż tak naprawdę nie jest wyłączona, ich wyświetlanie jest. Jest to tymczasowe i jeśli proces ten zostanie zatrzymany, wyświetlanie powiadomień zostanie wznowione.
George Rowell,
7

Istnieje sposób na otrzymywanie powiadomień za pomocą przycisku zamykania.

wprowadź opis zdjęcia tutaj

Z artykułu Webupd8

Najpierw zainstaluj Avant Window Navigator z centrum oprogramowania i dodaj „Demona powiadomień” do stacji dokującej.

Teraz naciśnij Alt + F2i wklejgconf-editor

Następnie przejdź do aplikacji> awn-applet-powiadomienia-demon (dotyczy najnowszej AWN z PPA trunk AWN, mogą to być aplikacje> avant-window-navigator> awn-applet-powiadomienia-demon w starszych wersjach Avant Window Navigator ). Kliknięcie klucza spowoduje wyświetlenie jego opisu na dole, dzięki czemu będziesz wiedział, jak go ulepszyć. Najważniejszym kluczem jest: „kill_standard_daemon” - upewnij się, że jest włączony, w przeciwnym razie powiadomienia AWN nie będą działać.

Na przykład „override_x” to pozycja pozioma na ekranie (dla której użyłem „1900”, ponieważ moja szerokość ekranu to 1920 i chcę, aby powiadomienia były wyświetlane po prawej stronie), „override_y” to pozycja pionowa ( dla którego użyłem „30”, więc okno powiadomienia jest wyświetlane w prawym górnym rogu), a „gradient_factor” to przezroczystość. To powinno wystarczyć, aby zacząć.

Aby dostosować kolory, odznacz pole „use_theme”, a następnie określ „text_colour” i „bg_colour” i tak dalej.

Ważną funkcją, którą możesz chcieć włączyć, jest „show_icon”. Spowoduje to wyświetlenie ikony w doku Avant Window Navigator, którą następnie możesz kliknąć, aby tymczasowo wyłączyć / włączyć powiadomienia.

Lincity
źródło
1
Tak zresztą właśnie jest teraz moja konfiguracja :) Dodanie apletu powiadomień AWN daje mi funkcjonalność, której chcę. Dzięki za odpowiedź :)
theTuxRacer
3

Zamiast używać avant window navigator, możesz również to zrobić (testowane tylko na Lucid):

Zainstaluj xfce4-notifyd z centrum oprogramowania i naciśnij Alt+ F2i wklejkillall notify-osd

To przełącza się na demona powiadomień XFCE, który wygląda bardzo podobnie do domyślnego, tylko po najechaniu na niego pojawia się tylko przycisk zamykania.

Lincity
źródło
2

Czytałem o tym wcześniej i rozumiem uzasadnienie projektu, ale w praktyce rozpraszają uwagę, gdy nie można ich łatwo usunąć.

Użycie https://launchpad.net/caffeine , aplikacji paska stanu, która może zapobiegać oszczędzaniu ekranu / energii, również wyłączy wyskakujące okienka, więc pomyślałem, że zasugeruję to jako obejście problemu.

Zablokowanie powiadomienia uwidacznia potrzebę historii powiadomień, ale zostało to również podniesione jako problem i rozwiązane, ponieważ nie zostanie naprawione: bugs.launchpad.net/notify-osd/+bug/382094

Cas
źródło
Sprawiają, że powiadomienia stają się mało użyteczną uciążliwością.
Dakota,
1

Zmniejsz opóźnienie za pomocą aplikacji powiadomienie-osd-conf.

borjacampina
źródło
mógłbym spróbować, ale tak naprawdę jest kilka rzeczy, które potrzebuję trochę czasu, aby przeczytać siebie. stąd zapotrzebowanie na przycisk zamknięcia. w przeciwnym razie dzięki za heads-up!
theTuxRacer
2
@ObsessiveFOSS Jest to rozwiązanie problemu podanego w pytaniu i wygląda na to, że może działać. Więc nawet jeśli skorzystałoby to z rozszerzenia i większej ilości szczegółów, nadal nie byłoby lepiej jako komentarz . borjacampina: Polecam edycję tego, aby dokładnie wyjaśnić, jak zmniejszyć opóźnienie w ten sposób.
Eliah Kagan,
1

Zakładka: przycisk Zamknij na powiadomienie-osd?

ref:

Koncepcje, sprawdzone i wstępnie sprawdzone, bash„wyłączone” wyskakujące okienko OSD jest pomyślane i wykluwane jako:

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

Można to uruchomić w terminalu lub jako zadanie w tle - zatrzymaj go, a wyskakujące graffiti zostanie wznowione.

OP stwierdził „Nie, nie mogę go wyłączyć”. Jeśli przez to oznacza, że ​​system powiadomień NIE MOŻE być wyłączony przez użytkownika, to to rozwiązanie jest z tym zgodne. System jest nienaruszony. Jeśli to oznacza, że ​​poser nie wie, jak to zrobić, to znowu rozwiązanie jest istotne.

Szczegóły wyjaśnione poniżej linii. Ostatecznym byłoby osadzenie wszystkiego na (w?) DBus, aby bezpośrednio wywołać

  qdbus    org.freedesktop.Notifications                \
          /org/freedesktop/Notifications                \
           org.freedesktop.Notifications.CloseNotification(uint id)

Bardzo, bardzo, bardzo naiwne szczątkowe rozwiązanie, które jest bardziej dowodem koncepcji niż praktycznej, w zasadzie „wyłącza” notify-osd(lub przynajmniej jego skutki). Nie zapomnij go zakończyć po zakończeniu testowania! przez ETX'ng z <ctrl> -C lub zamykając okno terminala itp. Wykonuje swoją pracę, ale niezbyt pragmatycznie! ponieważ niestety inne prace cierpią, próbując wykonać swoje ...

  while true; do killall notify-osd; done

(aby „usłyszeć” odpowiednią aktywność, którą możesz chcieć „ grepwyjść”

 notify-osd: no process found ....

)

Przetestuj go, uruchamiając go w oknie terminala i z innego okna terminalu, spróbuj:

  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"

Zatrzymaj pierwszy proces, a następnie spróbuj ponownie.

Być może notify-osdwskaźnik dla unity-panel-servicemoże wywołać killall notify-osd. Przycisk zamykania na gorąco nie był (i nie może!) Znajdować się w oknie powiadomień, ale byłby dostępny na panelu wskaźników. Jest to całkowicie analogiczne do tej samej koncepcji, którą Unity ma dla systemu Windows. Użycie górnego paska do zamykania powiadomień jest podobne do sposobu, w jaki Unity wyrzuca menu okna z zamkniętymi, mini, maksymalnymi oknami do górnego paska menu.

Naprawdę eleganckie rozwiązanie miałoby wskaźnik pojawiający się, gdy aktywność DBus dla notify-osdmanifestów, i znikałby, gdy nie ma oczekujących powiadomień.

Może to również rozwiązać problem skumulowanych powiadomień - tylko jedno może być widoczne na raz, a jeśli czeka wiele powiadomień, każde musi wyparować, zanim pojawi się następny - zwykle nie można ich zobaczyć jednocześnie.

DBus-monitor„ng notify-osdinterfejsu powiadomień będzie jednak zapewnić natychmiastowe potwierdzenie oczekiwaniu zawiadomień nawet jeśli jeden jest już wyświetlana. (O ile killall notify-osdzostanie wydany natychmiast - presto poof!)

Wybierz Wszystkie, przeciągnij i upuść do okna terminala następujące testy:

  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"

teraz zrób to samo z p {r}

  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-osdW sugerowanym rozwiązaniem byłoby wyzwalane, gdy DBus monitorwykrywa OSD wyskakujące grafitti aktywność.

George Rowell
źródło
0

To była celowa decyzja, aby pominąć jakikolwiek sposób interakcji z bąbelkiem powiadomień (więc jest to pasywne powiadomienie), abyś mógł opublikować raport o błędach na Launchpadzie (może już być) i lobbować, aby go zmienić.

Nie jest to coś, co widzę wkrótce, chyba że będzie duże zapotrzebowanie (i nie ma)

Warto również spróbować rozwiązać ten problem, prosząc o sposób wykluczenia niektórych programów z dostępu do systemu powiadomień.

użytkownik5260
źródło
0

Przycisk zamknięcia samych powiadomień nie rozwiąże problemu. Nadal będą widzieć powiadomienia i będą musieli kliknąć przycisk zamykania, aby je zamknąć, jeśli takie były.

Zamiast tego powinieneś zrobić, jeśli chcesz pozwolić innym na korzystanie z twojego komputera, po prostu wybierz opcję „Przełącz użytkownika” w menu systemowym w prawym górnym rogu (ikona koła zębatego) i użyj danych logowania gościa. Spowoduje to utworzenie dla nich tymczasowej sesji i nie zachowa żadnej historii przeglądarki, plików cookie itp., Gdy ten użytkownik się wyloguje. Dzięki temu nie będą widzieć twoich powiadomień, ani potencjalnie zakłócać twoich własnych danych (historia online, pobieranie, logowanie itp.), Gdy przemierzają eter z twojego komputera.

dobey
źródło