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 16/08/2009, à 02:29

ADcomp

transset-df , script python

Hello ..

Je viens de terminer un petit script python qui utilise 'transset-df' pour changer l'opacité en fonction de la fenêtre active.

Exemple en vidéo : http://www.youtube.com/watch?v=iHYw8lXTe1Q

Le script :

#!/usr/bin/python
# -*- coding: utf-8 -*-

##
#   script that uses transset-df to allow opacity to follow the focused window.
#   The focused window get opacity 1.0 while all others have opacity set by 'OPACITY'
#
#   by ADcomp <david.madbox@gmail.com>  [ http://www.ad-comp.be/ ]
#
#   This program is distributed under the terms of the GNU General Public License
#   For more info see http://www.gnu.org/licenses/gpl.txt
##

import os

## from python-gtk2
import gtk 
## from python-gnome2-desktop
import wnck

## transset -i <xid> <opacity>
CMD = 'transset-df -i'
## opacity when not active
OPACITY = 0.75

class Transset():
    def __init__(self):
        self.screen = wnck.screen_get_default()
        self.screen.force_update()
        self.update()
        self.screen.connect("active_window_changed", self.active_window_changed)

    def update(self):
        win_list = self.screen.get_windows()
        active_ws = self.screen.get_active_workspace()
        active_win = self.screen.get_active_window()

        for window in win_list:
            ## don't check window if skip tasklist
            if not window.is_skip_tasklist():
                ## only window open on active workspace
                if window.get_workspace() == active_ws:
                    if window == active_win:
                        ## remove transparency
                        cmd = "%s %s 1" % ( CMD, window.get_xid() )
                    else:
                        ## set transparency
                        cmd = "%s %s %s" % ( CMD, window.get_xid(), OPACITY )
                    os.system(cmd)

    def active_window_changed(self, screen, window):
        self.update()

    def doquit(self, widget=None, data=None):
        gtk.main_quit()

    def run(self):
        gtk.main()

transset = Transset()
transset.run()

@bientot ..


David [aka] ADcomp

Hors ligne

#2 Le 16/08/2009, à 08:15

Valentin2105

Re : transset-df , script python

Sympa !

Perso j'utilise devilspie pour configurer la transparence,
Qu'est ce que tu utilise pour faire apparaitre toute les fenêtre (quand tu clique en haut a gauche !) ??


Merci
Encore du bon boulot AD !

Hors ligne

#3 Le 16/08/2009, à 10:36

Kookaburra

Re : transset-df , script python

Testé à l'instant : trop bien lol

Comment on rajoute un script au démarrage d'Openbox ? tongue

Dernière modification par Kookaburra (Le 16/08/2009, à 10:45)


Portable17p : CrunchBangLinux // EeePC : ArchLinux
Openbox Addict : http://kookadimi.deviantart.com
Mes photos : http://www.fluidr.com/photos/kookadimi/sets
Votre téléphone mobile dispose de plus de puissance que l'ensemble des ordinateurs de la NASA en 1969. La NASA a lancé un homme sur la Lune. Vous lancez un oiseau sur des cochons...

Hors ligne

#4 Le 16/08/2009, à 11:06

Valentin2105

Re : transset-df , script python

Ben dans autostart.sh, tu met :

/home/toi/EMPLACEMENT DU SCRIPT/le-script &

Hors ligne

#5 Le 16/08/2009, à 11:09

Kookaburra

Re : transset-df , script python

Ok, je pensais que ce n'était pas aussi simple que ça, qu'il y avait une subtilité roll Ha dés fois hein mad

Merci ! lol


Portable17p : CrunchBangLinux // EeePC : ArchLinux
Openbox Addict : http://kookadimi.deviantart.com
Mes photos : http://www.fluidr.com/photos/kookadimi/sets
Votre téléphone mobile dispose de plus de puissance que l'ensemble des ordinateurs de la NASA en 1969. La NASA a lancé un homme sur la Lune. Vous lancez un oiseau sur des cochons...

Hors ligne

#6 Le 16/08/2009, à 16:55

ADcomp

Re : transset-df , script python

Valentin2105 a écrit :

Qu'est ce que tu utilise pour faire apparaitre toute les fenêtre (quand tu clique en haut a gauche !) ??

C'est simplement le changement de bureau avec le 'pager' de BmPanel2 .. ( http://nsfdev.wordpress.com/ )

Kookaburra a écrit :

[..] script au démarrage d'Openbox ?

source : http://www.ad-comp.be/public/projets/tr … -follow.py

deb : http://www.ad-comp.be/public/projets/tr … .1-all.deb

Petit "HowTo" : Installer le paquet deb avec gdebi et ajouter ceci dans autostart.sh :

## utilise transset-df pour la transparence des fenetres
trans-follow &

Enjoy  wink


merci pour les commentaires .. @bientot

Dernière modification par ADcomp (Le 16/08/2009, à 16:56)


David [aka] ADcomp

Hors ligne

#7 Le 17/08/2009, à 15:55

Kookaburra

Re : transset-df , script python

J'ai viré le '.py' que j'avais installé et j'ai testé le '.deb" pour voir : ça marche aussi bien, no soucy !

Juste un bug : si j'affiche plusieurs fênétres en même temps sur un bureau virtuel, et que je ferme toutes les fênétres sauf une qui n'était pas la principale à la base (donc elle était en mode "transparent"), elle se retrouve donc seule fênétre active, mais reste transparente hmm. La réduire dans la barre de Tint2 ou 'afficher' le bureau' ne la rend pas opaque ... Seul moyen que j'ai trouvé pour la rendre non-transparente à nouveau : ouvrir un autre programme en secondaire, retourné sur la fênétre que je veux en non-transparente et fermer l'autre fênétre ...

Je ne sais pas si je suis bien clair là lol:lol::lol::P



Edit : aprés quelques tests, ça ne semble le faire qu'avec Firefox 3.5 ... roll

Dernière modification par Kookaburra (Le 17/08/2009, à 15:58)


Portable17p : CrunchBangLinux // EeePC : ArchLinux
Openbox Addict : http://kookadimi.deviantart.com
Mes photos : http://www.fluidr.com/photos/kookadimi/sets
Votre téléphone mobile dispose de plus de puissance que l'ensemble des ordinateurs de la NASA en 1969. La NASA a lancé un homme sur la Lune. Vous lancez un oiseau sur des cochons...

Hors ligne

#8 Le 17/08/2009, à 15:59

ADcomp

Re : transset-df , script python

@ Kookaburra : j'ai aussi eu qques soucis du même genre , notamment avec firefox + popups  / pcmanfm..
Encore un script fait à la hache. Si j'ai le temps je ferais 2-3 tests de plus .. smile

Dernière modification par ADcomp (Le 17/08/2009, à 16:00)


David [aka] ADcomp

Hors ligne

#9 Le 17/08/2009, à 21:41

ADcomp

Re : transset-df , script python

Hello ..

petit update ..  pipemenu pour openbox , meilleur suivit du 'focus' et ajout d'un "clean" ( transset 1 pour toutes les fenetres ) à l'exit du script

Video : http://www.youtube.com/watch?v=RYj6dwECjoQ

source : http://www.ad-comp.be/public/projets/tr … .2.tar.bz2

deb : http://www.ad-comp.be/public/projets/tr … .2-all.deb

Installer le deb avec gdebi , et ajouter une ligne dans votre menu openbox ( ~/.config/openbox/menu.xml )

<menu execute="ob-trans-follow" id="trans-follow" label="Trans-Follow" />

Seulement testé sur mon desktop .. Alors il est peut-être 'buggy' ? qqu'uns pour tester ?

@bientot ..

Dernière modification par ADcomp (Le 17/08/2009, à 21:41)


David [aka] ADcomp

Hors ligne

#10 Le 17/08/2009, à 23:00

Kookaburra

Re : transset-df , script python

Testé et validé ! big_smile
Le menu marche, tout est clean à l'exit, ça suit bien les fênétres (il ne semble plus y avoir le bug dont j'avais parlé) ... RAS.

Un bon script, qui rend Openbox juste ce qu'il faut "fonky" cool


Portable17p : CrunchBangLinux // EeePC : ArchLinux
Openbox Addict : http://kookadimi.deviantart.com
Mes photos : http://www.fluidr.com/photos/kookadimi/sets
Votre téléphone mobile dispose de plus de puissance que l'ensemble des ordinateurs de la NASA en 1969. La NASA a lancé un homme sur la Lune. Vous lancez un oiseau sur des cochons...

Hors ligne

#11 Le 18/08/2009, à 00:10

ADcomp

Re : transset-df , script python

Re .. j'ai ajouté une petite tempo pour eviter le problème avec le 'focus'. Cette tempo est réglé à 30ms par défaut. Ce qui entraine une petite latence au changement ..

Pour changer cette variable , elle se trouve la :  /usr/bin/trans-follow  , ~ line 31 :

TEMPO = 30

Chez moi , ca fonctionne assez bien avec une tempo de 15ms .. a vous de voir.

TEMPO = 15

Voilà .. @bientot

ps : merci pour ton feedback Kookaburra  smile

Dernière modification par ADcomp (Le 18/08/2009, à 00:11)


David [aka] ADcomp

Hors ligne

#12 Le 18/08/2009, à 07:31

Valentin2105

Re : transset-df , script python

J'ai une question,

Si on a devilspie qui gère transset pour quelques fenêtre, genre xterm à 0.5, quand j'utilise ton script il se passe quoi avec xterm ?

Hors ligne

#13 Le 18/08/2009, à 11:11

ADcomp

Re : transset-df , script python

@ Valentin2105 : comme j'utilise pas devilspie , j'aurais du mal à te répondre .. Je ne sais pas comment il gére cela en interne .. Fait un essai et tu veras bien ... 

ps : pour xterm à 0.5 , pourquoi tu n'utilises pas un terminal qui gére la transparence directement, du style Terminator ..?
AMHA, beaucoup plus simple que de jouer avec xterm / devilspie / transset .. Et il est vraiment plus pratique ( par rapport à xterm qui, avouons le, commence à se faire vieux .. )

Dernière modification par ADcomp (Le 18/08/2009, à 11:19)


David [aka] ADcomp

Hors ligne

#14 Le 18/08/2009, à 16:35

Kookaburra

Re : transset-df , script python

+1
Ou encore Tilda qui s'intégre bien au bureau, facile à paramétrer ... wink


Portable17p : CrunchBangLinux // EeePC : ArchLinux
Openbox Addict : http://kookadimi.deviantart.com
Mes photos : http://www.fluidr.com/photos/kookadimi/sets
Votre téléphone mobile dispose de plus de puissance que l'ensemble des ordinateurs de la NASA en 1969. La NASA a lancé un homme sur la Lune. Vous lancez un oiseau sur des cochons...

Hors ligne

#15 Le 13/09/2009, à 19:26

UUBBUU_USER

Re : transset-df , script python

Salut tongue
Juste un petite question ..  j'ai installer le paquet trans-follow 0.2 ..  par contre je comprend pas comment le faire fonctionner ...  J'ai bien mis la ligne du menu, je l'es bien ajouté au démarrage  .. par contre mes fenetres qui sont en arrière plan ne deviennent pas transparente ...
Donc .. j'aimerai connaitre la procédure exacte a suivre afin de mettre en place ta petite applic !!! Et ainsi avoir la transparence pour les fenettres non-actives ..
1) installer xcompmgr et le mettre au démarrage
2) installer transset et le mettre aussi au démarrage
3) installer trans-follow et  le mettre au démarrage
===> Quels paramètres ou réglages à activer pour chacun d'eux ????

Dernière modification par UUBBUU_USER (Le 13/09/2009, à 21:25)


PEACE LOVE UNITY                                                      FREE TIBET

Hors ligne

#16 Le 13/09/2009, à 21:22

Arcans

Re : transset-df , script python

Je viens d'essayer, pas besoin de mettre transset au démarrage.
Pour xcompgr, je dirais que ça dépend des options que tu veux en plus. J'ai fait mes tests sans aucun réglage, par exemple.
C'est un script très intéressant, je ne pense pas l'utiliser pour le moment vu que j'évite d'en demander trop à mon vieux laptop, mais je retiens que ça existe pour le renouvellement progressif de mon matos qui est prévu, ça y trouvera peut-être bien son utilité !


« Mais je ne suis pas spécialement mécontent de ne pas être cela dit. »
     — Arcans
« Axiome de base de la théorie des ensembles : s'il existe dans un ensemble X un élément x ayant des propriétés potentiellement casse-couille, c'est de la faute d'Arcans. »
    — Le Rouge

Hors ligne

#17 Le 14/09/2009, à 00:08

UUBBUU_USER

Re : transset-df , script python

EN gros ... j'ai juste xcompmgr et trans-follow au démarage ..
Mais j'ai pas les fenettres qui fondent en arrière plan ^^
( ps .. chui sous un live cd madbox installer ^^=)
J'ai pas régler de fichier de conf pour la transparence actuelle .. d'ou ma question !!!
J'ai bien vu la vidéo ...Mais j'ai pas de fondu des fenetres non sélectionnées


PEACE LOVE UNITY                                                      FREE TIBET

Hors ligne

#18 Le 14/09/2009, à 08:02

Arcans

Re : transset-df , script python

Ah mais, as-tu transset, ou transset-df ? Car apparemment, ce script utilise transset-df.


« Mais je ne suis pas spécialement mécontent de ne pas être cela dit. »
     — Arcans
« Axiome de base de la théorie des ensembles : s'il existe dans un ensemble X un élément x ayant des propriétés potentiellement casse-couille, c'est de la faute d'Arcans. »
    — Le Rouge

Hors ligne

#19 Le 14/09/2009, à 09:36

UUBBUU_USER

Re : transset-df , script python

Non .. je n'avais pas transset-df .... ( j'aurrais dût lire le script .. je vais le faire d'ailleurs !!! )
En effet çela fonctionne mieux maintenant ^^
Merci


PEACE LOVE UNITY                                                      FREE TIBET

Hors ligne

#20 Le 14/09/2009, à 12:34

rc_outside

Re : transset-df , script python

Hello !

Je suis sous Debian sid + xfce et lorsque je veux installer ton .deb j'ai tout un tas de dépendances gnomes qui sont requises... on ne peut pas faire sans ?

Hors ligne

#21 Le 15/09/2009, à 05:09

ADcomp

Re : transset-df , script python

@ UUBBUU_USER : oui , c'est sur que le script fonctionne moins bien sans ' transset-df ' .. wink

Merci Arcanus .. Sorry , j'ai essayé de répondre plusieurs fois sans succès ( erreur 505 )

rc_outside a écrit :

Je suis sous Debian sid + xfce et lorsque je veux installer ton .deb j'ai tout un tas de dépendances gnomes qui sont requises... on ne peut pas faire sans ?

Si .. install via les sources. Il existe un paquet pour le binding python de wnck sous Debian il me semble ( python-wnck ). Il n'existe pas sous Ubuntu, mais il est inclus dans python-gnome2-desktop, mais qui lui à les autres binding python ( lié à gnome , d'ou les dépendances .. )


David [aka] ADcomp

Hors ligne

#22 Le 12/03/2010, à 14:20

JB-home

Re : transset-df , script python

je remonte un peu le sujet, surtout que le deb de ADcomp est excellent lol, j'aimerais avoir la transparence constamment pour toutes les fenêtres sauf celles de firefox, comment je peut procédé ? merci.

Hors ligne

#23 Le 13/03/2010, à 06:40

ADcomp

Re : transset-df , script python

@z0rg> : regarde du coté de devilspie ?


David [aka] ADcomp

Hors ligne

#24 Le 19/05/2010, à 04:47

Valerie89

Re : transset-df , script python

Je ré-ouvre ce topic, pour te remercier de ce petit script smile

@rc_outside
Je sais que c'est un peu tard mais, pour ma part j'ai rajoutée l'éxecution du script dans l'autostart et juste installer le paquet python-wnck. Ca évite de devoir installé toute les dépendances.

Hors ligne

#25 Le 19/05/2010, à 09:46

ADcomp

Re : transset-df , script python

@ Valerie89 :  .. yep  big_smile


David [aka] ADcomp

Hors ligne