| View previous topic :: View next topic |
| Author |
Message |
Gronono Tux's lil' helper

Joined: 12 Sep 2007 Posts: 99 Location: Noumea, NC
|
Posted: Sat Oct 27, 2007 10:35 am Post subject: [FVWM] Bling à la E17 |
|
|
Bonjour,
Si vous aimez comme moi le module bling à la E17 alors vous allez être interresser par le script FVWM suivant.
1 - Qu'est-ce que le module bling d'e17 ?
Pour ceux qui n'ont jamais utiliser E17, le module bling permet de rendre une fenêtre transparente lorsqu'elle perd le focus, et la rendre opaque lorsqu'elle a le focus.
2 - Comme le faire sous FVWM ?
Pour commencer, il faut activer la transparence au niveau de X.org en suivant le HOW-TO : TIP Xorg X11 et transparence.
Pensez à installer xcompmgr et transset-df.
Puis ajoutez les lignes suivantes à votre fichier de configuration de FVWM :
| Code: |
# Déclenchée lorsque la fenêtre reçoit le focus
DestroyFunc FvwmFocusChange
AddToFunc FvwmFocusChange
+ I ThisWindow (!"Panel", !"FvwmPagerPanel", "!Root") Exec transset-df -i $[LastFocus] -m 0.5 -x 0.5
+ I ThisWindow (Focused, !"Panel", !"FvwmPagerPanel", "!Root") Exec transset-df -i $[w.id] -m 1 -x 1
+ I ThisWindow (!"Panel", !"FvwmPagerPanel", "!Root") SetEnv LastFocus $[w.id]
# Configuration des changements de focus
DestroyModuleConfig FvwmFocusChangeEvent: *
*FvwmFocusChangeEvent: focus_change FvwmFocusChange
# Lancement du changement de focus au demarrage
AddToFunc StartFunction
+ I Module FvwmEvent FvwmFocusChangeEvent
+ I Exec xcompmgr &
|
3 - Détail du code :
Si vous êtes habitué à modifier votre configuration de Fvwm, le code ci-dessus devrait vous être familier et passez à la section 4.
Sinon, vous pouvez lire la suite.
On commence par définir la fonction qui sera appelée lors d'un changement de focus FvwmFocusChange :
| Code: |
DestroyFunc FvwmFocusChange
AddToFunc FvwmFocusChange
|
Si la fenêtre qui change de focus n'est ni "Panel" (ma barre des tâches), ni "FvwmPagerPanel" (mon pager), ni "Root" (le bureau) alors on rend transparente à 50% la dernière fenêtre qui a eu le focus (la fenêtre que l'on vient de quitter):
| Code: |
+ I ThisWindow (!"Panel", !"FvwmPagerPanel", "!Root") Exec transset-df -i $[LastFocus] -m 0.5 -x 0.5
|
Ensuite, si la fenêtre a le focus et n'est pas une des trois fenêtre alors on la rend opaque :
| Code: |
+ I ThisWindow (Focused, !"Panel", !"FvwmPagerPanel", "!Root") Exec transset-df -i $[w.id] -m 1 -x 1
|
Et enfin, la fenêtre courante devient la dernière fenêtre avec le focus :
| Code: |
+ I ThisWindow (!"Panel", !"FvwmPagerPanel", "!Root") SetEnv LastFocus $[w.id]
|
A chaque fois, j'ignore ma barre des tâches, le pager et le bureau car je ne souhaite pas qu'elles deviennent transparentes.
Ensuite, on définit le module FvwmFocusChangeEvent se chargeant de détecter le changement de focus et d'appeler notre fonction :
| Code: |
DestroyModuleConfig FvwmFocusChangeEvent: *
*FvwmFocusChangeEvent: focus_change FvwmFocusChange
|
Et enfin on le charge au demarrage de Fvwm et on en profite pour lancer xcompmgr:
| Code: |
AddToFunc StartFunction
+ I Module FvwmEvent FvwmFocusChangeEvent
+ I Exec xcompmgr &
|
4 - Commentaires :
Je ne suis pas un spécialiste de Fvwm, mais j'essaye. Donc si vous avez des commentaires, des remarques, des améliorations, je suis preneur.
5 - Bugs connus :
Pour l'instant, j'en ai vu qu'un seul. Lors de la lecture des vidéos Flash dans Firefox, il arrive que Firefox devienne transparent. Le problème doit venir du fait que la vidéo prend le focus alors qu'elle est dans une fenêtre Firefox.
Merci de votre attention. |
|
| Back to top |
|
 |
anigel Bodhisattva


Joined: 14 Apr 2003 Posts: 1880 Location: Un petit bled pas loin de Limoges ;-)
|
Posted: Thu Nov 01, 2007 9:25 pm Post subject: |
|
|
Intéressant et bien expliqué : merci beaucoup ! _________________ Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres. |
|
| Back to top |
|
 |
Gronono Tux's lil' helper

Joined: 12 Sep 2007 Posts: 99 Location: Noumea, NC
|
Posted: Tue Nov 27, 2007 8:06 am Post subject: |
|
|
Bonjour,
En fait mon script était vraiment buggé à mort.
Je le corrige donc.
J'ai changé de méthode car j'ai un peu de mal avec les fonctions FVWM. Maintenant à chaque changement de focus, j'appelle script bash qui lui met à jour la transparence:
| change_transparence.sh: |
#! /bin/sh
#
# Script de mise à jour de la transparence en fonction du focus.
# Le premier argument contient l'identifiant de la dernière fenêtre ayant le focus
# Le second est l'identifiant de la fenêtre qui reçoit le focus.
#
if [ "$1" != "$2" ]; then
transset-df -i $1 -m 0.5 -x 0.5
transset-df -i $2 -m 1 -x 1
fi
|
Et l'appel :
| Code: | # Déclenchée lorsque la fenêtre reçoit le focus
DestroyFunc FvwmFocusChange
AddToFunc FvwmFocusChange
+ I ThisWindow Exec $[FVWM_SCRIPT]/change_transparence.sh $[LastFocus] $[w.id]
+ I ThisWindow SetEnv LastFocus $[w.id]
# Configuration des changements de focus
DestroyModuleConfig FvwmFocusChangeEvent: *
*FvwmFocusChangeEvent: focus_change FvwmFocusChange
# Lancement du changement de focus au demarrage
AddToFunc StartFunction
+ I Module FvwmEvent FvwmFocusChangeEvent
|
La variable $[FVWM_SCRIPT] contient le dossier contenant les scripts de ma configuration.
A+
Gronono |
|
| Back to top |
|
 |
Biloute Apprentice


Joined: 03 Apr 2008 Posts: 283 Location: LENS
|
Posted: Thu Jun 26, 2008 10:45 am Post subject: |
|
|
J'ai essayé mais j'ai un problème :
Si je lance xcompmgr le fond d'écran (qui est une image png) est effacé par un fond gris.
Voilà mon .fvwm/config :
| Code: | Key Tab A M WindowList Root c c NoCurrentDeskTitle, NoGeometry, CurrentDesk, NoGeometry, CurrentAtEnd
DestroyMenu Main
AddToMenu Main
+ "xterm" Exec xterm -geometry 65x30 -bg midnightblue -fg white
+ "kill" destroy
...
+ "Restart" Restart
+ "Quit" Quit
DeskTopSize 3x1 # hxv = horiz*vert
EdgeResistance 1000 20
EwmhBaseStruts 20 20 20 0
DestroyModuleConfig FvwmBacker*
*FvwmBacker: Command (Desk 0, Page * *) Exec fvwm-root /home/vince/wp1.png
Module FvwmBacker
MenuStyle * PopupImmediately, BorderWidth 1, Background White, MenuColorset 0, ActiveColorset 1
Style * TileCascadePlacement, FPGrabFocus, FPReleaseFocus, !Title, !Borders
Style gimp* SkipMapping, StartsOnPage 0 2 0
Style opera* StartsOnPage 0 1 0
AddToFunc StartFunction
+ I Exec xcompmgr &
|
_________________ Gentoo rocks |
|
| Back to top |
|
 |
Gronono Tux's lil' helper

Joined: 12 Sep 2007 Posts: 99 Location: Noumea, NC
|
Posted: Thu Jun 26, 2008 8:16 pm Post subject: |
|
|
Bonjour Biloute,
Je n'ai pas rencontré ce problème. Mais avant de mettre en place la configuration Fvwm, j'ai fait des tests en ligne de commande. Essaye de lancer la commande transset-df et vois si le problème persiste.
Pour la transparence, j'ai utilisé le TIP : TIP Xorg X11 et transparence. Vérifie que tu as bien suivi tous les étapes. Regarde aussi la version anglaise qui à l'air de contenir plus de détails.
Désolé je ne peux pas d'aider plus que ça.
A+
Gronono |
|
| Back to top |
|
 |
Biloute Apprentice


Joined: 03 Apr 2008 Posts: 283 Location: LENS
|
Posted: Fri Jun 27, 2008 11:25 am Post subject: |
|
|
Salut Gronono merci pour la réponse
Pour l'instant j'utilise FvwmBacker qui execute fvwm-root pour avoir le fond.
Alors gentoo-wiki conseille d'utiliser feh pour avoir un wallpaper.
Est-ce que tu utilise feh ou bien as-tu une autre astuce pour afficher ton fond d'écran?
Sinon j'ai bien des fenetres transparentes sauf que derrière c'est tout gris. _________________ Gentoo rocks |
|
| Back to top |
|
 |
Gronono Tux's lil' helper

Joined: 12 Sep 2007 Posts: 99 Location: Noumea, NC
|
Posted: Fri Jun 27, 2008 11:43 am Post subject: |
|
|
Je n'utilise plus Fvwm (ça prend trop de temps, mais je vais m'y remettre dès que je peux *).
J'utilisais l'utilitaire de Fluxbox : fbsetbg.
A+
Gronono
* en fait j'ai cassé mon grub et ma partition / en installer windows pour pouvoir jouer à COD4 . |
|
| Back to top |
|
 |
truc Advocate


Joined: 25 Jul 2005 Posts: 3185
|
Posted: Mon Jun 30, 2008 7:25 am Post subject: |
|
|
vous pouvez aussi utiliser fvwm-root directement pour le fond d'écran:
| Code: | | + I Schedule 100 Exec exec fvwm-root -r $[fvwm_wallpapers]/$0 |
_________________ The End of the Internet! |
|
| Back to top |
|
 |
Gronono Tux's lil' helper

Joined: 12 Sep 2007 Posts: 99 Location: Noumea, NC
|
Posted: Mon Jun 30, 2008 7:32 am Post subject: |
|
|
Bonjour,
Je préciserai que fvwn-root à un gros inconvénient. Il ne supporte pas le jpeg :
| Man-Page wrote: |
The supported image formats are XBM, XPM, PNG and SVG if appropriated libraries are compiled in.
|
Gronono (bientôt de retour sous Gentoo) |
|
| Back to top |
|
 |
Biloute Apprentice


Joined: 03 Apr 2008 Posts: 283 Location: LENS
|
Posted: Mon Jun 30, 2008 8:14 am Post subject: |
|
|
Oui j'utilise fvwm-root, je converti le jpg en png et roulez les petits bolides.
Mais si on tape
Il y a une couche de gris qui vient cacher le wallpaper.
Du coup j'ai installé window-maker pour remplacer fvwm-root par wmsetbg et là ça marche. _________________ Gentoo rocks |
|
| Back to top |
|
 |
geekounet Bodhisattva


Joined: 11 Oct 2004 Posts: 3725 Location: Lyon, France
|
Posted: Tue Jul 01, 2008 8:39 am Post subject: |
|
|
| Code: | | feh --bg-scale wallpaper.png |
 _________________ Flickr |
|
| Back to top |
|
 |
Dominique_71 Veteran


Joined: 17 Aug 2005 Posts: 1236 Location: Switzerland (Romandie)
|
Posted: Wed May 15, 2013 5:13 pm Post subject: |
|
|
Sujet intéressant. Je suis en train de relancer Fvwm-Crystal. Pour un ebuild à jour, voir Bug 468680.
Parmi les nouveautés, il y a le support rufimentaire de la transparence. Elle peut être dés/activée depuis le menu des préférences, et la molette de la souris sur les barres de titre permet de l'ajuster pour chaque fenêtre.
Ce bling à la E17 est une bonne idée. Je vais voir comment je peux incorporer quelque chose de ce style dans Fvwm-Crystal.
Comme autre nouveauté, beaucoup plus mature celle-là, la fonction Fullscreen qui permet de mettre en plein écran n'importe quelle application (un peu comme F11 dans Firefox, mais géré par Fvwm) a été étendue avec une fonction Disappear qui permet de faire disparaître et réapparaître les fenêtres plein écran, ainsi que de circuler entre les différentes fenêtres plein écran d'une page de bureau et le bureau.
C'est l'Amiga OS qui m'a inspiré cette fonction et le résultat est bluffant, Fvwm-Crystal propose ainsi la pile d'applications plein-écran de l'Amiga OS sans compromettre le bureau à pages multiples de X. Le meilleur des deux façons de naviguer dans l'espace du bureau se retrouve ainsi dans le même bureau. _________________ As the thought come before the action, revolution means revolutionary consciousness!
Fvwm-Crystal in action & here |
|
| Back to top |
|
 |
Dominique_71 Veteran


Joined: 17 Aug 2005 Posts: 1236 Location: Switzerland (Romandie)
|
Posted: Thu May 16, 2013 4:49 pm Post subject: |
|
|
Il n'y a pas eu grand chose à modifier. Juste deux lignes:
| Code: | + I ThisWindow (!FvwmButtons*, !ApplicationPanel, !FvwmPager*) Exec $[FVWM_SYSTEMDIR]/scripts/SetTranslucency $[LastFocus] $[w.id]
+ I ThisWindow (!FvwmButtons*, !ApplicationPanel, !FvwmPager*) SetEnv LastFocus $[w.id] |
Cela marche super bien avec les fenêtres, par contre sur les icônes, c'est pas terrible, celles de Thunar perdent la transparence, les autres comme les thumbnails le deviennent, mais je suppose qu'il n'y a pas grand chose à faire là. _________________ As the thought come before the action, revolution means revolutionary consciousness!
Fvwm-Crystal in action & here |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|