Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[FVWM] Bling à la E17
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Gronono
Tux's lil' helper
Tux's lil' helper


Joined: 12 Sep 2007
Posts: 99
Location: Noumea, NC

PostPosted: Sat Oct 27, 2007 10:35 am    Post subject: [FVWM] Bling à la E17 Reply with quote

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
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1880
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Thu Nov 01, 2007 9:25 pm    Post subject: Reply with quote

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
View user's profile Send private message
Gronono
Tux's lil' helper
Tux's lil' helper


Joined: 12 Sep 2007
Posts: 99
Location: Noumea, NC

PostPosted: Tue Nov 27, 2007 8:06 am    Post subject: Reply with quote

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
View user's profile Send private message
Biloute
Apprentice
Apprentice


Joined: 03 Apr 2008
Posts: 283
Location: LENS

PostPosted: Thu Jun 26, 2008 10:45 am    Post subject: Reply with quote

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
View user's profile Send private message
Gronono
Tux's lil' helper
Tux's lil' helper


Joined: 12 Sep 2007
Posts: 99
Location: Noumea, NC

PostPosted: Thu Jun 26, 2008 8:16 pm    Post subject: Reply with quote

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
View user's profile Send private message
Biloute
Apprentice
Apprentice


Joined: 03 Apr 2008
Posts: 283
Location: LENS

PostPosted: Fri Jun 27, 2008 11:25 am    Post subject: Reply with quote

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
View user's profile Send private message
Gronono
Tux's lil' helper
Tux's lil' helper


Joined: 12 Sep 2007
Posts: 99
Location: Noumea, NC

PostPosted: Fri Jun 27, 2008 11:43 am    Post subject: Reply with quote

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 :oops: .
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3186

PostPosted: Mon Jun 30, 2008 7:25 am    Post subject: Reply with quote

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
View user's profile Send private message
Gronono
Tux's lil' helper
Tux's lil' helper


Joined: 12 Sep 2007
Posts: 99
Location: Noumea, NC

PostPosted: Mon Jun 30, 2008 7:32 am    Post subject: Reply with quote

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
View user's profile Send private message
Biloute
Apprentice
Apprentice


Joined: 03 Apr 2008
Posts: 283
Location: LENS

PostPosted: Mon Jun 30, 2008 8:14 am    Post subject: Reply with quote

Oui j'utilise fvwm-root, je converti le jpg en png et roulez les petits bolides.

Mais si on tape
Code:
xcompmgr


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
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3727
Location: Lyon, France

PostPosted: Tue Jul 01, 2008 8:39 am    Post subject: Reply with quote

Code:
feh --bg-scale wallpaper.png

;)
_________________
Flickr
Back to top
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1249
Location: Switzerland (Romandie)

PostPosted: Wed May 15, 2013 5:13 pm    Post subject: Reply with quote

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
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1249
Location: Switzerland (Romandie)

PostPosted: Thu May 16, 2013 4:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
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