Forum général.cherche-logiciel Affichage OSD

Posté par .
Tags : aucun
1
4
nov.
2009
Bonjour,

Je cherche un logiciel permettant d’afficher des informations à l’écran (comme l’heure par exemple). Il en existe une multitude à base de la bibliothèque XOSD et quelques autres.

Mais je n’en ai pas trouvé qui ne soit pas opaque à la souris, c’est-à-dire que lorsqu’il y a une fenêtre en-dessous, elle ne voit plus le pointeur de la souris et on ne peut pas cliquer à travers le texte affiché en OSD.

Dans l’idéal, le programme devrait aussi surveiller la position de la souris et dans le cas où on commence à travailler dans la zone où l'OSD s’affiche, il devrait disparaître temporairement, et réapparaître plus tard ou ailleurs sur l’écran.

Est-ce seulement possible ?

Merci.
  • # libnotify et notify-send

    Posté par . Évalué à 2.

    bonjour

    avez vous fouillé du cote de notify-OSD et notify-send? c'est utilisé par exemple sur ubuntu pour les notifications système, donc c'est pas forcement pile poil adapté a votre usage, mais il réagit correctement au passsage de la souris (passage en semi-transparent et permet le clic au travers), et c'est assez facilement scriptable.
    • [^] # Re: libnotify et notify-send

      Posté par . Évalué à 2.

      Effectivement c’est très pratique pour les notifications ponctuelles lorsque «quelque chose se passe», mais si je veux garder un œil en permanence sur, par exemple, la date, l’heure ou la météo, ça n’est pas vraiment adapté.
  • # Xosd-bin

    Posté par (page perso) . Évalué à 2.

    Je sais pas s'il est opaque à la souris et si tu l'as déjà testé mais j'utilise ça pour mes changements de mode avec lirc et j'aime bien.

    My 2 cts.

    It's a fez. I wear a fez now. Fezes are cool !

    • [^] # Re: Xosd-bin

      Posté par . Évalué à 2.

      Je confirme, j’ai testé et c’est opaque.
      • [^] # Re: Xosd-bin

        Posté par . Évalué à 2.

        Il y a aussi aosd, mais je ne sais pas ce que ça vaut.
        • [^] # Re: Xosd-bin

          Posté par . Évalué à 2.

          C’est opaque aussi.

          Je me demandais dans quelle mesure il était possible de récupérer un de ces programmes, comme par exemple osd-monitors (un seul fichier c), de détecter la position de la souris quand elle passe dessus et de créer un trou de 1 pixel carré sous le pointeur…
  • # GNOME

    Posté par (page perso) . Évalué à 3.

    Dans GNOME, les affichages pour quand on change la luminosité ou le volume correspondent exactement à ce que tu cherche. Par contre je ne sais pas si ils ont utilisé une bibliothèque spécifique, et si oui, laquelle.

    A mon avis, ça doit se trouver quelque part dans metacity, mais je dois avouer n'avoir aucune idée sur la question.

    Sinon, il y a libaosd [http://hg.atheme.org/libaosd/] que j'ai utilisée il y a un moment, mais je crois qu'elle est opaque à la souris :( En tout cas, c'est déjà bien mieux que xosd.
    • [^] # Re: GNOME

      Posté par (page perso) . Évalué à 3.

      Finalement, ça doit être dans gnome-settings-daemon.
      Peut être même ici: http://git.gnome.org/cgit/gnome-settings-daemon/tree/plugins(...) (gsd-media-keys-window.[ch])

      tu dois pouvoir copier le code.
      • [^] # Re: GNOME

        Posté par . Évalué à 1.

        Ah, bien vu mais c’est récent, j’ai dû mettre à jour ma machine avant de voir la transparence à la souris.

        Je vais voir comment c’est fait et ce que je peux récupérer.

        Merci
        • [^] # Voici la fonction responsable

          Posté par . Évalué à 1.

          gdk_window_input_shape_combine_mask ()

          void gdk_window_input_shape_combine_mask (GdkWindow *window,
          GdkBitmap *mask,
          gint x,
          gint y);

          Like gdk_window_shape_combine_mask(), but the shape applies only to event handling. Mouse events which happen while the pointer position corresponds to an unset bit in the mask will be passed on the window below window.

          An input shape is typically used with RGBA windows. The alpha channel of the window defines which pixels are invisible and allows for nicely antialiased borders, and the input shape controls where the window is "clickable".

          On the X11 platform, this requires version 1.1 of the shape extension.

          On the Win32 platform, this functionality is not present and the function does nothing.

          window :
          a GdkWindow

          mask :
          shape mask, or NULL

          x :
          X position of shape mask with respect to window

          y :
          Y position of shape mask with respect to window

          Since 2.10
          • [^] # Re: Voici la fonction responsable

            Posté par (page perso) . Évalué à 2.

            Ça donnerait un code comme ça je pense (reste à tester) :


            static void make_skip_input (GtkWidget *widget)
            {
            GtkAllocation allocation;
            GdkBitmap *mask;

            gtk_widget_get_allocation (widget, &allocation);
            mask = gdk_pixmap_new (gtk_widget_get_window (widget),
            allocation.width,
            allocation.height,
            1);

            /* make the whole window ignore events */
            gdk_window_input_shape_combine_mask (gtk_widget_get_window (widget), mask, 0, 0);
            g_object_unref (mask);
            }

            http://git.gnome.org/cgit/gnome-settings-daemon/tree/plugins(...) (fonction gsd_media_keys_window_real_realize)
  • # plasmoide et/ou compiz

    Posté par . Évalué à 2.

    je sais que les plasmoides et certains plugins compiz font ca

    soit dans une applet
    soit "widget layer"


    cairo-dock/cairo-plugin
    permet aussi d'avoir des 'infos' en transparence mais ne semble à premeire vue pas passer la souris au travers de l'applet

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.