#1 Le 16/08/2009, à 01: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, à 07: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, à 09:36
- Kookaburra
Re : transset-df , script python
Testé à l'instant : trop bien
Comment on rajoute un script au démarrage d'Openbox ?
Dernière modification par Kookaburra (Le 16/08/2009, à 09: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, à 10: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, à 10: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é Ha dés fois hein
Merci !
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, à 15:55
- ADcomp
Re : transset-df , script python
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/ )
[..] 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
merci pour les commentaires .. @bientot
Dernière modification par ADcomp (Le 16/08/2009, à 15:56)
David [aka] ADcomp
Hors ligne
#7 Le 17/08/2009, à 14: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 . 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::P
Edit : aprés quelques tests, ça ne semble le faire qu'avec Firefox 3.5 ...
Dernière modification par Kookaburra (Le 17/08/2009, à 14: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, à 14: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 ..
Dernière modification par ADcomp (Le 17/08/2009, à 15:00)
David [aka] ADcomp
Hors ligne
#9 Le 17/08/2009, à 20: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, à 20:41)
David [aka] ADcomp
Hors ligne
#10 Le 17/08/2009, à 22:00
- Kookaburra
Re : transset-df , script python
Testé et validé !
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"
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 17/08/2009, à 23: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
Dernière modification par ADcomp (Le 17/08/2009, à 23:11)
David [aka] ADcomp
Hors ligne
#12 Le 18/08/2009, à 06: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, à 10: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, à 10:19)
David [aka] ADcomp
Hors ligne
#14 Le 18/08/2009, à 15:35
- Kookaburra
Re : transset-df , script python
+1
Ou encore Tilda qui s'intégre bien au bureau, facile à paramétrer ...
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, à 18:26
- UUBBUU_USER
Re : transset-df , script python
Salut
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, à 20:25)
PEACE LOVE UNITY FREE TIBET
Hors ligne
#16 Le 13/09/2009, à 20: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 13/09/2009, à 23: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, à 07: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, à 08: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, à 11: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, à 04:09
- ADcomp
Re : transset-df , script python
@ UUBBUU_USER : oui , c'est sur que le script fonctionne moins bien sans ' transset-df ' ..
Merci Arcanus .. Sorry , j'ai essayé de répondre plusieurs fois sans succès ( erreur 505 )
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, à 13:20
- JB-home
Re : transset-df , script python
je remonte un peu le sujet, surtout que le deb de ADcomp est excellent , j'aimerais avoir la transparence constamment pour toutes les fenêtres sauf celles de firefox, comment je peut procédé ? merci.
Hors ligne
#24 Le 19/05/2010, à 03:47
- Valerie89
Re : transset-df , script python
Je ré-ouvre ce topic, pour te remercier de ce petit script
@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, à 08:46
- ADcomp
Hors ligne