Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/10/2011, à 18:25

Goda

Afficher une image en transparence par dessus le bureau

Salut

Je cherche un moyen pour afficher une image en transparence par dessus le bureau. En fait je souhaite qu'elle soit toujours au dessus des fenêtres ou de quoi que ce soit d'autre qui s'affiche.
Si quelqu'un a une idée...

>>> Gnome Shell, donc pas de compiz

Merci


" Read The F$$$$$ Manual "      --->  man man

Pensez à passer en RÉSOLU...(en éditant le titre du 1er message)

Hors ligne

#2 Le 27/10/2011, à 01:54

AnsuzPeorth

Re : Afficher une image en transparence par dessus le bureau

Bjr,
Le script qui suit devrait être compatible gtk2/gtk3 (j'ai juste testé avec gtk2)

J'ai procédé de sorte que l'image (transparente) soit la fenêtre (le contour de l'image est le contour de la fenêtre). On aurait pu mettre simplement une image dans une window transparente, mais il y aurait eu une zone non-cliquable transparente (fenêtre entière).

#!/usr/bin/python
# -*- coding:Utf­8 ­-*-
try:
    import gtk as Gtk
    import gtk.gdk as Gdk
except:
    from gi.repository import Gtk, Gdk

img = '/home/user/tux.png'

def main_quit(widget, event):
    Gtk.main_quit()

window = Gtk.Window(Gtk.WINDOW_POPUP)
window.parse_geometry('500x500+0+0')
window.set_events(window.get_events() | Gdk.BUTTON_PRESS_MASK)
window.connect("button_press_event", main_quit)
window.show()
pixbuf       = Gdk.pixbuf_new_from_file(img)
pixmap, mask = pixbuf.render_pixmap_and_mask()
del pixbuf
window.set_app_paintable(True)
window.shape_combine_mask(mask, 0, 0)
window.window.set_back_pixmap(pixmap, False)
Gtk.main()

Si qql'un sous gtk3 passe par là, si il pouvait essayer et me dire si ca passe (simple curiosité, car personnellement je ne passerais pas sous gtk3 de suite)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#3 Le 27/10/2011, à 12:37

Goda

Re : Afficher une image en transparence par dessus le bureau

Salut et merci, le "défi" semble te stimuler... :-)

Bon évidemment sur GTK3 ça ne marche pas, en tout cas les modules gtk et gi.repository ne sont pas trouvés...
Je vais bidouiller un peu pour voir si j'arrive tout de même à en faire qqe chose, et je vais aussi donner quelques explications en plus :

L'idée est de corriger le manque d'homogénéité du rétroéclairage d'un écran en créant une image homothétique, plus sombre là ou l'écran est trop clair puis en l'affichant par dessus tout, même par dessus la couche ou se situe le curseur de souris. Évidemment ça ne permet pas de récupérer du noir là ou l'écran n'est pas capable d'en afficher mais ça peut corriger les demi teintes si on règle bien la transparence.


" Read The F$$$$$ Manual "      --->  man man

Pensez à passer en RÉSOLU...(en éditant le titre du 1er message)

Hors ligne

#4 Le 27/10/2011, à 15:19

AnsuzPeorth

Re : Afficher une image en transparence par dessus le bureau

Goda a écrit :

Salut et merci, le "défi" semble te stimuler... :-)

ben c'est surtout que j'avais pas d'exemple simple d'utilisation d'arrière plan transparent dans mes archives, donc l'occasion faisait le larron.

Goda a écrit :

Bon évidemment sur GTK3 ça ne marche pas, en tout cas les modules gtk et gi.repository ne sont pas trouvés...

C'est pas normal, soit tu es sous gtk2 et l'import gtk passe, ou tu es sous gtk3 et c'est le module gi qui prends le relais (je pense qd même que gobject introspection est par defaut ?)

Goda a écrit :

L'idée est de corriger le manque d'homogénéité du rétroéclairage d'un écran en créant une image homothétique, plus sombre là ou l'écran est trop clair puis en l'affichant par dessus tout, même par dessus la couche ou se situe le curseur de souris. Évidemment ça ne permet pas de récupérer du noir là ou l'écran n'est pas capable d'en afficher mais ça peut corriger les demi teintes si on règle bien la transparence.

Pour cela, l'exemple donnée ne fonctionnera pas.
Déjà, si une image est dessus tout, les clics seront juste pour l'image, tu n'auras pas accès à ton bureau ou autres fenêtres (ou alors faudra propager les event ....Galère), et le surseur sera tjrs dessus.
De plus, la solution donnée utilise une image comme fenêtre, la semi transparence ne passera pas, ou il faudra régler la transparence de la window (si tu veux utiliser une image). Si tu veux juste ajouter une teinte, il est possible de dessiner la window avec cairo, tranparence et couleur réglable.
Mais ca ne résout pas le problème de propagation d'event.

Ou alors il faut modifier les teintes de l'ensemble, en grattant dans le serveur graphique ...(j'avais un script, que je ne retrouve plus, qui modifiait les teintes en relation avec l'heure de la journée)

A ma connaissance, je ne vois pas de solution simple, à ma connaissance !

Dernière modification par AnsuzPeorth (Le 27/10/2011, à 15:20)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#5 Le 29/10/2011, à 10:24

Goda

Re : Afficher une image en transparence par dessus le bureau

Je me doutais bien que ce serais galère...merci quand même.


" Read The F$$$$$ Manual "      --->  man man

Pensez à passer en RÉSOLU...(en éditant le titre du 1er message)

Hors ligne