#### # Les menus sont des listes que vous pouvez faire apparaître à partir # d'un raccourci clavier ou d'un bouton de souris. Les menus peuvent # être utilisés pour lister vos programmes mais on peut également # utiliser des menus dynamiques qui changent de contenu suivant # certaines conditions. # # Le style des menus est définit dans le fichier de configuration # principal par l'intermédiaire de la commande MenuStyle. # Vous trouverez ici uniquement la structure des menus et quelques # fonctions qui sont utilisées dans les menus dynamiques. # # La syntaxe est semblable aux fonctions : on commence par détruire le menu # au cas ou il existerai déja sans qu'on le sache avec la commande # DestroyMenu, puis on le créer avec la commande AddToMenu. # Dans une fonction on utilise + I Action_à_effectuer ; dans le menu la # syntaxe sera : + "[nom de l'objet]%[icône]%" [action] # Ce n'est pas un problème si l'icône vient avant ou après le nom, # par exemple + "%[icône]%[nom de l'objet]" [action] va avoir exactement # le même effet. # # L'action Popup Nom_du_Menu ouvre un sous-menu. Exemple : # + "Internet" Popup MenuInternet # ouvrira le menu nommé MenuInternet. # # Il existe quelques objets spécifiques aux menus : # + "" Nop insère un séparateur. # + "Titre du menu" Title insère un titre, celui ci n'est pas sélectionnable. # Notez que vous pouvez utiliser des commandes conditionnelles afin d'afficher # ou pas la ligne. Par exemple : # Test (x xmms) + "xmms" Exec xmms # Cette ligne n'apparaîtra dans le menu uniquement si Fvwm trouve l'executable # xmms sur votre système. ########################## DestroyMenu Root AddToMenu Root Test (x $[TermName]) + "%terminal.png%Terminal $[TermName]" Exec $[TermName] Test (x $[browser]) + "%home.png%Explorateur" Exec $[browser] + "" Nop + "%internet.png%Internet" Popup Internet + "%games.png%Jeux" Popup Games + "%multimedia.png%Multimedia" Popup Multimedia + "%utilitaires.png%Utilitaires" Popup Utilities + "%config.png%Preferences" Popup Settings + "%systeme.png%Systeme" Popup System + "" Nop + "%quit.png%Quitter..." Popup QuitVerify DestroyMenu QuitVerify AddToMenu QuitVerify + %menu/reload.png%"Redemarrer Fvwm" Restart + %quit.png%"Quitter Fvwm" Quit + %cancel.png%"Annuler" Nop DestroyMenu System AddToMenu System Test (x xscreensaver-command) + "%xscreensaver.png%Xscreensaver" Exec xscreensaver-demo Test (x xscreensaver-command) + "%lock.png%Verrouiller l'ecran" Exec xscreensaver-command -lock Test (x xkill) + "%kill.png%Tuer une fenetre" Exec xkill + "%terminal.png%FvwmConsole" Module FvwmConsole -terminal $[TermName] DestroyMenu Multimedia AddToMenu Multimedia Test (x $[audio_exec]) + "%xmms.png%Audio $[audio_exec]" Exec $[audio_exec] Test (x $[video_exec_bis]) + "%xine.png%Video $[video_exec_bis]" Exec $[video_exec_bis] Test (x $[video_exec]) + "%xine.png%Video $[video_exec]" Exec $[video_exec] DestroyMenu Games AddToMenu Games Test (x et) + "Enemy territory" Exec et Test (x et-tcetest) + "%tce-2.png%True Combat" Exec et-tcetest Test (x $[HOME]/TransGaming_Drive/Program\ Files/Warcraft\ III/War3.exe) + "%warcraft.png%Warcraft III" Exec rxvt -e cedega TransGaming_Drive/Program\ Files/Warcraft\ III/War3.exe Test (x postal2demo) + "Gopostal" Exec postal2mpdemo Test (x sc3u) + "Sim City 3000" Exec sc3u DestroyMenu Settings AddToMenu Settings + DynamicPopupAction SettingsFunc DestroyFunc SettingsFunc AddToFunc SettingsFunc + I DestroyMenu recreate Settings + I AddToMenu Settings + I + MissingSubmenuFunction WallpaperBrowser + I + "%editeurs.png%Editer le fichier de config" Exec gvim -geom 88x40 $[FVWM_USERDIR]/.fvwm2rc + I + "%editeurs.png%Editer le fichier des menus" Exec gvim -geom 88x40 $[FVWM_USERDIR]/menus + I + "%editeurs.png%Editer le script TimeScript" Exec gvim $[scripts]/TimeScript + I + "%themes.png%Changer de theme" Popup ChangeThemeMenu + I + "%wallpapers.png%Parcourir les fonds d'ecran" Popup $[wallpapers_dir] + I + "%dossier.png%Parcourir..." Popup QuickBrowser + I Next (CirculateHit,Side) PipeRead 'test $$(($[w.x]+$[w.width])) -le $[vp.width] \ && echo + \\"\\%run.png\\%Cacher le panneau lateral\\" SideHideFunc 3 || echo + \\"\\%run.png\\%Montrer le panneau lateral\\" SideHideFunc 3' + I + "%screenshot.png%Capture d'ecran" Exec $[scripts]/screenshot.sh DestroyMenu Utilities AddToMenu Utilities + DynamicPopupAction UtilitiesFunc DestroyFunc UtilitiesFunc AddToFunc UtilitiesFunc + I DestroyMenu recreate Utilities + I AddToMenu Utilities + I + MissingSubmenuFunction ScreenshotsBrowser + I + "%home.png%File manager" Exec rox + I + "%xpad.png%Note" Exec xpad + I + "%run.png%Lancer ..." Exec gmrun + I + "%xcalc.png%Calculatrice" Exec xcalc + I + "%wallpapers.png%Parcourir les captures d'ecran" Popup $[screenshots_dir] DestroyMenu QuickBrowser AddToMenu QuickBrowser + MissingSubmenuFunction FuncFvwmMenuDirectory + "%video.png%Videos" Popup $[video] + "%audio.png%Musiques" Popup $[audio] DestroyMenu ChangeThemeMenu AddToMenu ChangeThemeMenu + %themedefaut.png%"Defaut" ChangeThemeDefaut + %themevert.png%"Theme vert" ChangeThemeVert DestroyMenu Internet AddToMenu Internet + "%firefox.png%Navigateur web" Exec firefox + "%thunderbird.png%Client Email" Exec thunderbird + "%gaim.png%Gaim" Exec gaim + "%irssi.png%Irssi" Exec rxvt -g 95x50 -e irssi + "%xchat.png%Xchat" Exec xchat-2 + "%gftp.png%Gftp" Exec gftp + "%sancho.png%Sancho" Exec sancho + "%internet.png%Sites Web" Popup SitesWeb DestroyFunc SitesWebFunc AddToFunc SitesWebFunc + I Exec firefox -remote "openurl($0,new-tab)" || firefox $0 + I Any ("Firefox-bin") Next ("Firefox-bin") WindowListFunc DestroyMenu SitesWeb AddToMenu SitesWeb + %dossier.png%"Fvwm & Fluxbox" Popup SitesWebFvwm + %dossier.png%"Themes" Popup SitesWebThemes + %dossier.png%"E17" Popup SitesWebE17 + %dossier.png%"Php, Css, Xhtml" Popup SitesWebCss + %internet.png%"Da Linux French Page" SitesWebFunc http://www.linuxfr.org + %internet.png%"Trustonme" SitesWebFunc http://www.trustonme.net + %internet.png%"Lea-Linux" SitesWebFunc http://www.lea-linux.org + %internet.png%"Station Linux" SitesWebFunc http://www.stationlinux.org + %internet.png%"CtrlAltSuppr" SitesWebFunc http://www.ctrlaltsuppr.com + %internet.png%"Blog : Tristan Nito" SitesWebFunc http://www.sandblog.org + %internet.png%"BashFR" SitesWebFunc http://www.bashfr.org + %internet.png%"Bad day at work" SitesWebFunc http://www.kimbuchanan.com/shark.htm + %internet.png%"Kervarker" SitesWebFunc http://www.kervarker.org + %internet.png%"Pages jaunes" SitesWebFunc http://www.pagesjaunes.fr + %internet.png%"ImageShack" SitesWebFunc http://imageshack.us/ + %internet.png%"Le forum marin" SitesWebFunc http://www.maritime.lautre.net/croisieres/listemessages.php3 + %internet.png%"Wallpapers" SitesWebFunc http://www.socksoff.co.uk/walls02.html + %internet.png%"Meteo France" SitesWebFunc http://www.meteo.fr + %internet.png%"Slayers Online" SitesWebFunc http://www.slayersonline.info/ DestroyMenu SitesWebFvwm AddToMenu SitesWebFvwm + %internet.png%"Fvwm" SitesWebFunc http://www.fvwm.org + %internet.png%"Wiki Fvwm" SitesWebFunc http://www.fvwmwiki.org/ + %internet.png%"Fvwm Man pages" SitesWebFunc http://www.fvwm.org/documentation/manpages/unstable/fvwm.php + %internet.png%"Forums Fvwm" SitesWebFunc http://fvwm.lair.be + %internet.png%"Think" SitesWebFunc http://www.chwombat.net + %internet.png%"Config Taviso" SitesWebFunc http://dev.gentoo.org/~taviso/fvwm2rc.beta.html + %internet.png%"Fvwm Crystal" SitesWebFunc http://fvwm-crystal.berlios.de/ + "" Nop + %internet.png%"Fluxbox" SitesWebFunc http://www.fluxbox.org + %internet.png%"Fluxbox-fr" SitesWebFunc http://www.fluxbox-fr.sysif.net DestroyMenu SitesWebThemes AddToMenu SitesWebThemes + %internet.png%"Gnome Look" SitesWebFunc http://www.gnome-look.org + %internet.png%"Kde Look" SitesWebFunc http://www.kde-look.org + %internet.png%"LinuxShot" SitesWebFunc http://www.linuxshot.org DestroyMenu SitesWebE17 AddToMenu SitesWebE17 + %internet.png%"Get E" SitesWebFunc http://www.get-e.org + %internet.png%"Rasterman" SitesWebFunc http://www.rasterman.com DestroyMenu SitesWebCss AddToMenu SitesWebCss + %internet.png%"OpenWeb" SitesWebFunc http://www.openweb.eu.org + %internet.png%"Alsacreations" SitesWebFunc http://www.alsacreations.com #### # Voici la partie qui gère le menu des opérations sur les fenêtres. # C'est Taviso qui a pensé à cette idée géniale, les menus changent de # contenu suivant certaines conditions sur les fenêtres (maximisée, iconifiée # ou non etc). ########################## AddToMenu WindowControls DynamicPopupAction DynamicWindowControls WindowControls WindowControlsFunc AddToMenu MenuFvwmGroupAction DynamicPopupAction MenuFvwmGroupActionFunc AddToMenu MenuFvwmQuickWindowList DynamicPopupAction MenuFvwmQuickWindowListFunc AddToFunc DynamicWindowControls + I DestroyMenu $0 + I ThisWindow ("Firefox-bin") AddToMenu $0 %firefox.png%"Nouvel onglet" Exec firefox -remote "openurl(about:blank,new-tab)" + I ThisWindow ("Firefox-bin") AddToMenu $0 %firefox.png%"Nouvelle fenetre" Exec firefox -remote "openurl(about:blank,new-window)" + I ThisWindow ("Firefox-bin") AddToMenu $0 %firefox.png%"Bookmarks" Popup SitesWeb + I ThisWindow ("gvim") AddToMenu $0 %editeurs.png%"Nouvelle fenetre" Exec gvim -geom 88x40 + I ThisWindow ("xmms") AddToMenu $0 %xmms.png%"Lecture / Pause..." Exec exec xmms --play-pause + I ThisWindow ("xmms") AddToMenu $0 %xmms.png%"Suivant" Exec exec xmms --fwd + I ThisWindow ("xmms") AddToMenu $0 %xmms.png%"Precedent" Exec exec xmms --rew + I ThisWindow ("xmms") AddToMenu $0 %xmms.png%"A propos..." Exec exec xmessage "$(xmms --version)" + I ThisWindow ("ROX-Filer") AddToMenu $0 %home.png%"Nouvelle fenetre..." Exec exec rox + I ThisWindow ("ROX-Filer") AddToMenu $0 %home.png%"A propos..." Exec exec xmessage "$(rox --version)" + I ThisWindow ("gimp*") AddToMenu $0 %gimp.png%"Nouvelle fenetre..." Exec exec gimp-2.0 + I ThisWindow ("gimp*") AddToMenu $0 %gimp.png%"A propos..." Exec exec xmessage "$(gimp-2.0 --version)" + I ThisWindow ("$[TermName]") AddToMenu $0 %terminal.png%"Nouveau terminal" Exec rxvt + I ThisWindow ("Side") PipeRead 'test $$(($[w.x]+$[w.width])) -le $[vp.width] \ && echo AddToMenu $0 \\"\\%run.png\\%Cacher le panneau lateral\\" SideHideFunc 3 || echo + \\"\\%run.png\\%Montrer le panneau lateral\\" SideHideFunc 3' + I AddToMenu $0 "" Nop + I $1 DestroyFunc WindowControlsFunc AddToFunc WindowControlsFunc + I AddToMenu WindowControls + I + DynamicPopupAction DynamicWindowControls WindowControls WindowControlsFunc + I ThisWindow (!Iconic, Iconifiable) + %iconify.png%"Reduire" Pick Iconify + I TestRc (Error) ThisWindow (Iconifiable) + %iconify.png%"Reduire" Pick Iconify + I TestRc (NoMatch) ThisWindow (Iconifiable) + %iconify.png%"Restaurer" Pick Iconify off + I ThisWindow (!Maximized, Maximizable, !Iconic) + %maximize.png%"Maximiser" Pick Maximize + I TestRc (NoMatch) ThisWindow (State 1, Maximizable, !Iconic) + %maximize.png%"Demaximiser" Pick Maximize + I TestRc (Error) + %maximize.png%"Maximiser" Pick Maximize + I ThisWindow (Maximized, State 1, !Iconic) + %maximize.png%"Plein ecran" Pick FullScreen + I ThisWindow (!Maximized, !State 1, !Iconic) + %maximize.png%"Plein ecran" Pick Maximize ewmhiwa true + I ThisWindow (!Maximized, Maximizable, State 1, !Iconic) + %maximize.png%"Plein ecran" Pick FullScreen + I ThisWindow (Maximized, !State 1, !Iconic) + %maximize.png%"Demaximiser" Pick FullScreenOff + I + %resize.png%"Taille" Pick Resize warptoborder + I ThisWindow (State 1, !Iconic, !Maximized) + %toggletitle.png%"Enlever la Decoration" Pick ToggleTitle + I TestRc (NoMatch) ThisWindow (!Maximized, !Iconic) + %toggletitle.png%"Remettre la decoration" Pick ToggleTitle + I TestRc (Error) + %toggletitle.png%"Enlever la decoration" Pick ToggleTitle + I ThisWindow (State 2, !Iconic, !Maximized) + %toggletitle.png%"Enlever la bordure" Pick ToggleBorder + I TestRc (NoMatch) ThisWindow (!Maximized, !Iconic) + %toggletitle.png%"Remettre la bordure" Pick ToggleBorder + I TestRc (Error) + %toggletitle.png%"Enlever la bordure" Pick ToggleBorder + I ThisWindow (State 1, !Iconic) + %rotatetitle.png%"Rotation de la decoration" Pick TitleRotate + I TestRc (Error) + %rotatetitle.png%"Rotation de la decoration" Pick TitleRotate + I + %move.png%"Deplacer" Popup MoveMethods + I ThisWindow + %utilitaires.png%"Action en groupe" Popup MenuFvwmGroupAction + I + %lock.png%"Toujours visible" Pick Stick + I ThisWindow (Shaded, !Iconic) + %shade.png%"Derouler" Pick WindowShade Toggle + I TestRc (NoMatch) + %shade.png%"Enrouler" Pick WindowShade Toggle + I TestRc (Error) + %shade.png%"Enrouler" Pick WindowShade Toggle + I + %reload.png%"Raffraichir" Pick RefreshWindow + I + %identify.png%"Identification" Pick Module FvwmIdent + I + "" Nop + I + %close.png%"Fermer" Close + I + %destroy.png%"Detruire" Pick Destroy DestroyFunc MenuFvwmGroupActionFunc AddToFunc MenuFvwmGroupActionFunc + I SetEnv mfaf_tot 0 + I Current All ($[w.class], CirculateHit) PipeRead 'echo SetEnv mfaf_tot $$(($$mfaf_tot + 1))' + I DestroyMenu MenuFvwmGroupAction + I AddToMenu MenuFvwmGroupAction DynamicPopupAction MenuFvwmGroupActionFunc + I Current + %close.png%"Fermer tous les $[w.class]" Current All ($[w.class]) Close + I Current + %shade.png%"Enrouler tous les $[w.class]" Current All ($[w.class], !Shaded) WindowShade True + I Current + %iconify.png%"Reduire tous les $[w.class]" Current All ($[w.class], !Iconic) Iconify + I + "" Nop + I + %windowlist.png%"$[mfaf_tot] fenetre(s) $[w.class] alternatives" Popup MenuFvwmQuickWindowList + I + "" Nop + I Current + %close.png%"Fermer les $[w.class] sur le bureau courant" Current All ($[w.class], CurrentDesk, AnyScreen) Close + I Current + %shade.png%"Enrouler les $[w.class] sur le bureau courant" Current All ($[w.class], !Shaded, CurrentDesk, AnyScreen) WindowShade True + I Current + %iconify.png%"Reduire les $[w.class] sur le bureau courant" Curent All ($[w.class], !Iconic, CurrentDesk, AnyScreen) Iconify + I + "" Nop + I Current + %up.png%"Raise $[w.class] sur le bureau courant" Current All ($[w.class], CurrentDesk, AnyScreen) Raise + I Current + %lower.png%"Lower $[w.class] sur le bureau courant" Current All ($[w.class], CurrentDesk, AnyScreen) Lower DestroyFunc MenuFvwmQuickWindowListFunc AddToFunc MenuFvwmQuickWindowListFunc + I DestroyMenu MenuFvwmQuickWindowList + I AddToMenu MenuFvwmQuickWindowList DynamicPopupAction MenuFvwmQuickWindowListFunc + I Current All ($[w.class], CirculateHit) EvalQuickWindowList DestroyFunc EvalQuickWindowList AddToFunc EvalQuickWindowList + I AddToMenu MenuFvwmQuickWindowList %$[w.miniiconfile]%"$[w.class]: $[w.name]" WindowId $[w.id] WindowListFunc DestroyMenu MoveMethods AddToMenu MoveMethods + "Deplacer vers le haut" Pick AnimatedMove keep 0p + "Deplacer vers la gauche" Pick AnimatedMove 0p keep + "Deplacer vers la droite" Pick PipeRead "echo AnimatedMove $$(($[vp.width] - $[w.width]))p keep" + "Deplacer vers le bas" Pick PipeRead "echo AnimatedMove keep $$(($[vp.height] - $[w.height]))p" + "Centrer la fenetre" Pick CenterWindow + "" Nop + "Deplacer vers ..." Popup SendTo + "Deplacement interactif" Pick Move DestroyMenu SendTo AddToMenu SendTo + DynamicPopupAction Function BuildSendTo DestroyFunc BuildSendTo AddToFunc BuildSendTo + I DestroyMenu recreate SendTo + I AddToMenu SendTo + I PipeRead 'seq 0 3 | grep -v $[desk.n] | awk \'{printf \"+ \\"Bureau %s\\" MoveToDesk 0 %s\\n\", $$$1 + 1, $$$1}\''