Botón de cierre en notificar-osd?

41

¿Es posible obtener un botón de cierre en la OSD?

Permanece mucho tiempo, y a veces tengo colegas en mi PC, y no quiero que vean quién está en línea o qué canción estoy escuchando. No, no puedo desactivarlo.

theTuxRacer
fuente
La única solución para obtener un botón de cierre en la notificación es usar AWN y usar el complemento de notificación. Funciona bien con Rhythmbox y exaile también.
theTuxRacer
Esta respuesta askubuntu.com/questions/14354/close-button-on-notify-osd/… básicamente evita la visualización de notificaciones. Es temporal y si este proceso se detiene, se reanuda la visualización de notificaciones. Si por "no puedo desactivarlo" se entiende que no está en libertad de desactivar el dbusmecanismo de notificación , esta solución lo deja intacto ... si significa que lo ha intentado y no ha podido hacerlo, nuevamente esta respuesta será proveer una solución.
George Rowell

Respuestas:

16

Su mejor opción sería presentar un error y solicitar la función. Al presentar un error de la lista de deseos como este, asegúrese de pensar en algunos casos de usuarios por qué esta característica podría resultar útil para una sección más grande de la comunidad de usuarios de Ubuntu.

Micro
fuente
Sí, lo haré. ¿Pero dónde puedo hacer eso? ¿Plataforma de lanzamiento?
theTuxRacer
1
ya está en la lista de deseos, pero creo que no se tomarán medidas. vote bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer el
77
@Kaustubh P Lea esto, markshuttleworth.com/archives/253 específicamente esta parte: 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].No se haga ilusiones, esto no cambiará en el corto plazo, si es que lo hace.
Isaías
1
Hay una especificación para hacer que el tiempo de la notificación sea variable: los mensajes más largos permanecerían por más tiempo o los mensajes actualizados se extenderían. Una implementación de parche que sería bienvenida, nos permitiría acortar el tiempo para mensajes muy cortos :-)
Mark Shuttleworth
10
Además, nos gustaría agregar un modo de "no molestar", donde solo se mostrarían notificaciones (urgentes) del sistema, como batería muy baja y problemas de hardware. Por lo tanto, puede usar no molestar para evitar que las personas vean sus notificaciones cuando están mirando por encima de su hombro, o que esté enchufado al proyector (aunque preferimos colocar las notificaciones en la pantalla de su computadora portátil y no en el proyector, donde son diferentes pantallas). Una vez más, un parche para eso sería bienvenido.
Mark Shuttleworth el
35

La elección de tener cero cromo en las notificaciones efímeras es muy deliberada y no va a cambiar. La razón es que estas notificaciones deben ser lo más livianas posible.

Sin embargo, hay algunas cosas que podrían hacerse para ayudarlo aún más.

Hay una especificación para hacer que el tiempo de la notificación sea variable: los mensajes más largos permanecerían por más tiempo o los mensajes actualizados se extenderían. Una implementación de parche que sería bienvenida, nos permitiría acortar el tiempo para mensajes muy cortos :-)

Además, nos gustaría agregar un modo de "no molestar", donde solo se mostrarían notificaciones (urgentes) del sistema, como batería muy baja y problemas de hardware. Por lo tanto, puede usar no molestar para evitar que las personas vean sus notificaciones cuando están mirando por encima de su hombro, o que esté enchufado al proyector (aunque preferimos colocar las notificaciones en la pantalla de su computadora portátil y no en el proyector, donde son diferentes pantallas). Una vez más, un parche para eso sería bienvenido.

Mark Shuttleworth
fuente
wow, gracias por la respuesta! ¡Supongo que podría llorar!
theTuxRacer el
55
Espero que este modo "no molestar" se implemente entonces.
Roddie
Para este sistema de notificaciones urgentes, debe haber una manera de diferenciar qué notificaciones se clasifican como urgentes.
Oxwivi
No estoy de acuerdo con estas decisiones al 100%, pero al menos parecen estar funcionando bien.
RolandiXor
Intentaría buscar en el código fuente y enviar el parche (si es posible).
verde
14

No hay un botón de cierre, el blob ni siquiera está allí en términos del mouse (cuando hace clic sobre él, simplemente hace clic en lo que está detrás), vea los detalles aquí:

https://wiki.ubuntu.com/NotifyOSD

Esta funcionalidad no cambiará, ha habido varios informes de errores que preguntan qué está pidiendo, todos los cuales han sido denegados en los términos más enérgicos.

Sin embargo, podría hacer un programa para cerrarlo, bifurcar un poco el código osd y usar algunas de las ramas de código existentes que ya lo hacen. Vea el programa D-Feet para navegar y jugar con la interfaz dbus para notifyosd y el código en la plataforma de lanzamiento.

Martin Owens -doctormo-
fuente
Y vincular ese programa a teclas de acceso rápido, ¿verdad?
Extender el
ya está en la lista de deseos, pero creo que no se tomarán medidas. vote bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer el
Esta respuesta askubuntu.com/questions/14354/close-button-on-notify-osd/… básicamente se adelanta a las notificaciones y, aunque en realidad no está deshabilitada, su visualización sí lo está. Es temporal y si este proceso se detiene, se reanuda la visualización de notificaciones.
George Rowell
7

Hay una manera de recibir notificaciones con un botón de cierre.

ingrese la descripción de la imagen aquí

Del artículo de Webupd8

Primero instale Avant Window Navigator desde el centro de software y agregue el "Notification Daemon" al dock.

Ahora presiona Alt + F2y pegagconf-editor

Luego navegue a aplicaciones> awn-applet-notification-daemon (esto es para el último AWN del AWN trunk PPA, puede ser aplicaciones> avant-window-navigator> awn-applet-notify-daemon en versiones anteriores de Avant Window Navigator ) Al hacer clic en una tecla, se mostrará su descripción en la parte inferior para que sepa cómo modificarla. La clave más importante es: "kill_standard_daemon": asegúrese de que esté habilitado o de lo contrario las notificaciones AWN no ​​funcionarán.

Por ejemplo, "override_x" es la posición horizontal en la pantalla (para lo cual he usado "1900" porque el ancho de mi pantalla es 1920 y quiero que las notificaciones se muestren a la derecha), "override_y" es la posición vertical ( para lo cual he usado "30" para que el cuadro de diálogo de notificación se muestre en la esquina superior derecha) y "gradient_factor" es la transparencia. Eso debería ser suficiente para comenzar.

Para personalizar los colores, desmarca la casilla "use_theme", luego especifica un "text_colour" y "bg_colour" y así sucesivamente.

Una característica importante que puede activar es "show_icon". Esto mostrará un icono en su dock Avant Window Navigator en el que puede hacer clic para deshabilitar / habilitar temporalmente las notificaciones.

Lincity
fuente
1
Así es como mi configuración es ahora :) Agregar el applet de notificaciones de AWN me da la funcionalidad que quiero. Gracias por la respuesta :)
theTuxRacer
3

En lugar de utilizar el navegador de ventanas avant, también puede hacer esto (solo probado en Lucid):

Instale xfce4-notifyd desde el centro de software y presione Alt+ F2y peguekillall notify-osd

Esto cambia al daemon de notificación de XFCE, que se parece mucho al predeterminado, solo aparece un botón de cierre cuando pasa el cursor sobre él.

Lincity
fuente
2

He leído sobre esto antes y puedo entender el razonamiento del diseño, pero en la práctica distraen cuando no se pueden eliminar fácilmente.

El uso de https://launchpad.net/caffeine , una aplicación de barra de estado que puede evitar el ahorro de pantalla / energía, también deshabilitará las ventanas emergentes, así que pensé que sugeriría esto como una solución alternativa.

El bloqueo de la notificación resalta la necesidad de un historial de notificaciones, pero esto también se ha planteado como un problema y se ha resuelto como no se solucionará: bugs.launchpad.net/notify-osd/+bug/382094

Cas
fuente
Hacen que las notificaciones sean una molestia apenas útil ...
Dakota
1

Disminuya el retraso con la aplicación notify-osd-conf.

borjacampina
fuente
Podría intentarlo, pero realmente hay algunas cosas que necesito tiempo para leerme. De ahí la demanda de un botón de cierre. de lo contrario, gracias por el aviso!
theTuxRacer el
2
@ObsessiveFOSS Esto pretende ser una solución para el problema dado en la pregunta, y parece que puede funcionar. Entonces, a pesar de que esto se beneficiaría de la expansión y un mayor detalle, no sería mejor como comentario . borjacampina: Recomiendo editar esto para explicar exactamente cómo disminuir el retraso de esta manera.
Eliah Kagan
1

Marcador: ¿ Botón Cerrar en notificar-osd?

árbitro:

Conceptos previamente probados, bashla solución "deshabilitada" de graffiti emergente de OSD se concibe y se desarrolla como:

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

Esto se puede ejecutar en una terminal o como una tarea en segundo plano: deténgalo y se reanudará el graffiti emergente.

El OP declaró "No, no puedo desactivarlo". Si con esto significa que el sistema de notificación NO debe ser deshabilitado por el autor, entonces esta solución es consistente con eso. El sistema está intacto. Si significa que el autor no sabe cómo hacerlo, entonces la solución es pertinente.

Detalles explicados debajo de la línea. Lo último sería incrustar todo en (¿en?) El DBus, para invocar directamente

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

Una solución rudimentaria muy, muy, muy ingenua, que es más una prueba de concepto que práctica, esencialmente "deshabilita" notify-osd(o al menos sus efectos). ¡No olvide terminarlo cuando termine de probar! por ETX'ng con <ctrl> -C o cerrando la ventana de terminal, etc. ¡Hace su trabajo pero no muy pragmáticamente! ya que desafortunadamente otros trabajos sufren tratando de hacer el suyo ...

  while true; do killall notify-osd; done

(para "escuchar" actividad relevante que tal vez desee " grepexcluir"

 notify-osd: no process found ....

)

Pruébelo ejecutándolo en una ventana de terminal y desde otra ventana de terminal intente hacer:

  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"

Detenga el primer proceso y luego intente los mensajes nuevamente.

Quizás un notify-osdindicador para el unity-panel-servicepodría invocar killall notify-osd. El botón de cierre de zona activa no (y no puede) residir en la ventana de notificación, pero estaría disponible en el panel de indicadores. Esto es completamente análogo al mismo concepto que Unity tiene para Windows. El uso de la barra superior para el cierre de notificaciones es similar a la forma en que Unity exilia los menús de la ventana con cuadros de cierre, mini, maxi en la barra de menú superior.

Una solución verdaderamente elegante haría que el indicador aparezca cuando la actividad DBus para los notify-osdmanifiestos desaparezca cuando no haya notificaciones pendientes.

También podría abordar el problema de las notificaciones apiladas : solo se puede ver una a la vez y si hay varias notificaciones pendientes, cada una debe evaporarse antes de que aparezca la siguiente, por lo general no se pueden ver simultáneamente.

DBus-monitor'ng de la notify-osdinterfaz de notificación sin embargo proporcionar acuse de recibo inmediato de las notificaciones pendientes, incluso si no lo es ya que muestran. (Y si killall notify-osdse emite de inmediato, ¡listo!)

Seleccione Todo, Arrastre y suelte en una ventana de terminal las siguientes pruebas:

  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"

ahora haga lo mismo con 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"

La killall notify-osdsolución sugerida se activaría cuando DBus monitordetecte actividad de graffiti emergente OSD.

george rowell
fuente
0

Fue una decisión deliberada dejar de lado cualquier forma de interactuar con la burbuja de notificación (por lo que es una notificación pasiva), por lo que puede publicar un informe de error en Launchpad (puede haber uno ya) y presionar para que se cambie.

No es algo que pueda ver que suceda pronto a menos que haya una gran demanda (y no la hay)

También podría valer la pena tratar de resolver el problema pidiendo una forma de excluir que ciertos programas accedan al sistema de notificación.

usuario5260
fuente
0

Un botón de cierre en las notificaciones en sí no resolverá su problema. Todavía verán las notificaciones y deberán hacer clic en el botón de cerrar para cerrarlas, si hubiera una.

Lo que debe hacer, en cambio, es cuando desea permitir que otros usen su computadora, simplemente elija la opción "Cambiar usuario" en el menú del sistema en la esquina superior derecha (el icono de engranaje) y use el inicio de sesión de Invitado. Esto fabricará una sesión temporal para su uso y no conservará ningún historial del navegador, cookies, etc. cuando ese usuario cierre sesión. Esto evitará que vean sus notificaciones, así como que posiblemente alteren cualquiera de sus propios datos (historial web, descargas, inicios de sesión, etc.), ya que atraviesan el éter desde su computadora.

dobey
fuente