LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


personaliser:free_menus
no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


personaliser:free_menus [2018/11/17 12:54] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== les menus indépendants ======
  
 +===== compiz-deskmenu =====
 +compiz-deskmenu est un menu construit à la base pour compiz, vous l'aurez compris, mais il peut s'intégrer à tous les gestionnaires de fenêtres pour obtenir un menu principal ou secondaire, lancé depuis un panel/lanceur, associé à un raccourcis clavier, ou à une action de la souris sur le bureau (clic droit comme le menu openbox).
 +
 +==== installation ====
 +compiz-deskmenu est disponible dans les dépôts AUR pour les utilisateurs de ArchLinux. pour les débianistes, on installe depuis les sources. on commence par les dépendances
 +<code># apt-get install python-lxml python-xdg libgtk2.0-dev libwnck-dev libdbus-1-dev git-core libdbus-glib-1-dev</code>
 +puis on va chercher les sources sur git
 +<code>$ git clone git://anongit.compiz.org/users/crdlb/compiz-deskmenu</code>
 +et enfin on installe
 +<code>$ cd compiz-deskmenu
 +$ make
 +# make install</code>
 +pour lancer compiz-deskmenu
 +<code>$ compiz-deskmenu &</code>
 +
 +==== configuration ====
 +compiz-deskmenu dispose de son propre outil de configuration **compiz-deskmenu-editor** accessible depuis le menu lui-même ou depuis un terminal
 +<code>$ compiz-deskmenu-editor</code>
 +{{personaliser:compiz-deskmenu.png?300|}}\\
 +cet outils va modifier le fichier de configuration de compiz-deskmenu situé dans votre ~/.config/compiz/deskmenu/menu.xml. voici celui utilisé pour l'exemple du dessus:
 +<code xml>
 +<menu>
 +  <item type="launcher">
 +    <name>terminal</name>
 +    <icon>gnome-terminal</icon>
 +    <command>urxvtc</command>
 +  </item>
 +  <menu name="filer">
 +    <item type="launcher">
 +      <name>rox-filer</name>
 +      <icon>nautilus</icon>
 +      <command>rox-filer</command>
 +    </item>
 +    <item type="launcher">
 +      <name>ranger</name>
 +      <command>urxvtc -e ranger</command>
 +      <icon>nautilus</icon>
 +    </item>
 +    <item type="launcher">
 +      <name>mc</name>
 +      <command>urxvtc -e mc</command>
 +      <icon>nautilus</icon>
 +    </item>
 +  </menu>
 +  <menu name="web">
 +    <item type="launcher">
 +      <name>uzbl</name>
 +      <icon>uzbl</icon>
 +      <command>uzbl http://arpinux.org</command>
 +    </item>
 +    <item type="launcher">
 +      <name>firefox</name>
 +      <icon>gnome-web-browser</icon>
 +      <command>firefox</command>
 +    </item>
 +    <item type="launcher">
 +      <name>jabber</name>
 +      <icon>pidgin</icon>
 +      <command>urxvtc -g 114x44+1156+84 -e mcabber</command>
 +    </item>
 +    <item type="launcher">
 +      <name>irssi</name>
 +      <icon>pidgin</icon>
 +      <command>urxvtc -g 114x44+1156+84 -e irssi</command>
 +    </item>
 +    <item type="launcher">
 +      <name>filezilla</name>
 +      <icon>filezilla</icon>
 +      <command>filezilla</command>
 +    </item>
 +    <item type="launcher">
 +      <name>transmission</name>
 +      <icon>transmission</icon>
 +      <command>transmission</command>
 +    </item>
 +  </menu>
 +  <menu name="graph">
 +    <item type="launcher">
 +      <name>gthumb</name>
 +      <icon>gthumb</icon>
 +      <command>gthumb</command>
 +    </item>
 +    <item type="launcher">
 +      <name>gimp</name>
 +      <icon>gimp</icon>
 +      <command>gimp</command>
 +    </item>
 +    <item type="launcher">
 +      <name>inkscape</name>
 +      <icon>inkscape</icon>
 +      <command>inkscape</command>
 +    </item>
 +  </menu>
 +  <menu name="media">
 +    <item type="launcher">
 +      <name>mplayer</name>
 +      <icon>mplayer</icon>
 +      <command>gnome-mplayer</command>
 +    </item>
 +    <item type="launcher">
 +      <name>mocp</name>
 +      <icon>rhythmbox</icon>
 +      <command>urxvtc -e mocp -T transparent-background</command>
 +    </item>
 +    <item type="launcher">
 +      <name>brasero</name>
 +      <icon>brasero</icon>
 +      <command>brasero</command>
 +    </item>
 +  </menu>
 +  <separator/>
 +  <menu name="deskmenu">
 +    <item type="launcher">
 +      <icon>gtk-edit</icon>
 +      <command>compiz-deskmenu-editor</command>
 +      <name>edit menu</name>
 +    </item>
 +    <item type="reload"/>
 +  </menu>
 +  <item type="windowlist"/>
 +</menu>
 +</code>
 +comme vous le voyez, le menu xml accepte les commandes avec arguments. mais l'outils graphique intégré fonctionne très bien, alors à moins d'être un accro à vim, vous ne l'éditerez certainement pas à la main :).
 +
 +===== MyGTKMenu =====
 +sur la [[http://sites.google.com/site/jvinla/mygtkmenu|page officielle]] du site , MyGTKMenu est présenté comme un script qui lit un texte ... et c'est exactement ce que c'est :) la dernière version est la 1.3 et demande GTK-2.4 pour fonctionner. il s'intègre à tous les environements, adopte le thème gtk et supporte les icones.
 +
 +==== installation ====
 +il suffit de télécharger l'archive sur le [[http://sites.google.com/site/jvinla/myGtkMenu-1.3.tar.gz?attredirects=0|site principal]] ou sur le [[http://arpinux.org/debian/myGtkMenu-1.3.tar.gz|serveur secondaire]] et de décompresser l'archive dans un dossier. vous disposez des ces fichiers/dossiers
 +  *myGtkMenu : un executable 32bits utilisant GTK+-2.x
 +  *TestMenu.txt : un exemple de configuration de menu
 +  *main.c : le fichier en C pour pouvoir recompiler en cas d'utilisation dur 64bits
 +  *Makefile: le makefile pour 64bits
 +  *License.txt
 +  *README : même si c'est en anglais, lisez-le ...
 +  *gnome-icons : les icones appellées par myGtkMenu
 +  *icons : des icones de myGtkMenu pour lanceur
 +placez myGtkMenu dans un dossier d'executables, assurez vous qu'il le soit, puis lancer la commande
 +<code>myGtkMenu <chemin vers TestMenu.txt></code>
 +
 +==== configuration ====
 +ici pas d'outils intégré, il faut éditer le fichier de menu à la main. l'intérêt est que vous pouvez créer autant de menus personnalisés que vous désirez et les lancez avec un simple
 +<code>myGtkMenu <chemin vers Menu1>
 +myGtkMenu <chemin vers Menu2>
 +..
 +</code>
 +par exemple, un menu internet avec vos liens favoris
 +<file>
 +#      ............... Beginning of menu ...............
 +
 +#menupos = 10 10 # Optional
 +
 +iconsize = 25
 +
 +item = Liens favoris
 +cmd = " "
 +icon = <chemin vers mon icone qui tape>
 +
 +separator
 +
 +item =  arpinux.org
 +cmd = firefox http://arpinux.org
 +icon = <chemin vers mon autre icone qui tape>
 +
 +separator
 +
 +submenu = shopping
 +
 + icon = <chemin vers mon icone shopping>
 +
 + item = chaussures
 + cmd = firefox http://www.lachaussurepascher.fr
 + icon = <chemin vers mon icone de chaussures>
 +
 + item = voitures
 + cmd = firefox http://vaspassertonpermis.org
 + icon = <chemin vers mon icone de voiture>
 +
 +separator
 +..
 +..
 +#### end of menu ####</file>
 +voici la liste des arguments accepté dans le fichier de menu:\\
 +  *menupos : position du menu sur l'écran. optionnel
 +  *item : texte affiché
 +  *cmd : commande à executer
 +  *icon : chemin complet vers l'icone sinon utiliser "icon = NULL"
 +  *separator : séparateur
 +  *submenu : créer un sous-menu
 +  *iconsize : determine la taille de l'icone
 +notez que l'identation est importante dans ce fichier: un sous-menu doit obligatoirement marquer un décallage avec le menu parent.\\
 +vous pouvez désormais profiter de votre (vos) menus depuis un lanceur, un raccourcis ou l'associer au clic-droit sur votre bureau.
 +
 +
 +===== 9Menu =====
 +9menu est un menu ultra minimal qui se lance depuis la ligne de commande ou lit un fichier de configuration. il est très léger et accepte une syntaxe simple.
 +
 +==== installation ====
 +9menu est présent dans les dépots de la plupart des distributions. pour les debianistes:<code># apt-get install 9menu</code>
 +syntaxe (issue du man):
 +<code>9menu  [  -bg background-color ] [ -display displayname ] [ -file name ] [ -fg foreground-color ] [ -font fname ] [ -geometry geom ] [ -iconic ] [ -label name ] [ -path ] [ -popdown ] [ -popup ] [ -shell prog ] [ -teleport ] [ -version ] [  -warp  ]  menuitem[:command]</code>
 +  * bg: couleur de fond
 +  * display: écran à utiliser
 +  * file: nom de fichier à utiliser
 +  * fg: couleur du texte
 +  * font: police utilisée
 +  * geometry: taille et placement du menu
 +  * iconic: démarrage iconifié
 +  * label: nom de la fenêtre de menu
 +  * path: FIXME
 +  * popdown: lorsqu'une entrée est slectionné, le menu s'iconifie
 +  * popup: lorsqu'une entrée est slectionné, le menu quitte
 +  * shell: définir un autre shell que /bin/sh
 +  * teleport: place le menu sous la fenêtre
 +  * version: affiche la version
 +  * warp: après sélection, place la souris dans sa position initiale
 +
 +==== configuration ====
 +nous allons prendre deux exemples: un menu basique à simple entrée, et un menu évolué avec des sous-menus.
 +
 +=== menu simple ===
 +dans notre exemple, nous utiliserons 9menu directement depuis la commande passée depuis un script:
 +<code bash>#!/bin/sh
 +# file: ~/bin/echimenu.sh
 +# lanceur de menu simple
 +exec 9menu -bg grey30 -fg grey80 -font -*-terminus-medium-*-*-*-12-*-*-*-*-*-*-* -popup -label 'menu' 'terminal:urxvtc' 'rox-filer:rox' 'ranger:xterm -title ranger -e ranger' 'uzbl:uzbl' 'firefox:firefox' '@jabber:xterm -title jabber -e mcabber' 'editor:xterm -title editor -e vim' '' 'xcompmgr:xcompmgr_reset' 'lock:slock'  '! halt !:sudo halt'</code>
 +ce script, que vous prendrez soin de rendre éxécutable, lance un menu ultra minimal qui ressemble à ceci:\\
 +{{wms:echinus:9menu.png?|}}\\
 +
 +=== menu avec sous-menus ===
 +9menu ne supporte pas les sous-menus par défaut mais une astuce permet de lancer d'autres instances de 9menu depuis une instance principale: ce qui permet la création de sous-menus. (__//sources//__: l'excellent [[http://thuban.toile-libre.org/index.php/un-menu-dans-dwm/#9menu|post de thuban]] sur son [[http://thuban.toile-libre.org/|blog]].)\\
 +pour plus de facilité dans la gestion des fichiers des menus, je vous invite à la création d'un dossier regroupant votre menu principal et ses sous-menus:
 +<code>$ mkdir ~/.9menu
 +$ cd ~/.9menu/
 +$ touch main_menu && touch internet && touch graphisme && touch office && touch multimedia && touch outils && touch system</code>
 +il nous faut éditer le script de lancement principal que vous prendrez soin de placer dans un dossier d'éxécutables (inclus dans $PATH):
 +<code bash>#!/bin/sh
 +# file: ~/bin/main_menu.sh
 +# auteur: thuban <http://thuban.toile-libre.org/>
 +# 9menu-full-script
 +#Apparence
 +BG="#08090A"
 +FG="#4B555E"
 +FN="-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*"
 +# Le dossier du menu
 +DIR=~/.9menu/
 +# Le fichier du menu
 +FILE=main_menu
 +cd $DIR
 +9menu -label "full-menu" -popup -bg "$BG" -fg "$FG" -font "$FN" -teleport -file $FILE</code>
 +ce script lance le "main_menu" situé dans votre ~/.9menu/:
 +<code>*Fermer* :exit
 +\------
 +Internet >:9menu -label 'internet' -popup -bg '#08090A' -fg '#4B555E' -font '-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*' -teleport -file internet
 +Graphisme >:9menu -label 'graphisme' -popup -bg '#08090A' -fg '#4B555E' -font '-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*' -teleport -file graphisme
 +Office >:9menu -label 'office' -popup -bg '#08090A' -fg '#4B555E' -font '-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*' -teleport -file office
 +Multimedia >:9menu -label 'multimedia' -popup -bg '#08090A' -fg '#4B555E' -font '-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*' -teleport -file multimedia
 +Outils >:9menu -label 'outils' -popup -bg '#08090A' -fg '#4B555E' -font '-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*' -teleport -file outils
 +System >:9menu -label 'system' -popup -bg '#08090A' -fg '#4B555E' -font '-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*' -teleport -file system
 +\------
 +Filer :cd ~ && rox-filer
 +Musique :urxvtc -title player -e mocp -T transparent-background
 +Terminal :cd ~ && urxvtc
 +Editor :urxvtc -e vim
 +\------
 +Redemarrer :sudo shutdown -r now
 +Eteindre :sudo shutdown -h now</code>
 +chaque entrée de sous-menu lance une autre instance de 9menu qui lit un fichier de config situé dans votre ~/.9menu. un exemple avec le sous-menu 'internet' qui renvoi au fichier ~/.9menu/internet:
 +<code>uzbl browser :uzbl
 +firefox browser :firefox
 +mail client :claws-mail
 +torrent client :transmission
 +jabber client :urxvtc -title jabber -e mcabber
 +feed reader :urxvtc -title feeds -e canto
 +ftp client :filezilla
 +\------
 +*Fermer* :exit</code>
 +il ne vous reste plus qu'à éditer vos autres sous-menus et vous obtiendrez un menu ressemblant à ce résultat:\\
 +{{personaliser:9menu-full.png?|}}\\
 +
 +===== ratmenu =====
 +**ratmenu** est un fork de 9menu pilotable uniquement au clavier conçu pour [[:ratpoison]].
 +
 +==== installation ====
 +**ratmenu** est disponible sur la plupart des distributions GNU/Linux et s'utilise sur tous les wms. pour Debian:<code># apt-get install ratmenu</code>
 +
 +==== configuration ====
 +la configuration passe par la ligne de commande. pour l'exemple, mon ratmenu (utilisé sur dwm)\\
 +{{:personaliser:ratmenu.png}}\\
 +et le script qui le lance:<code bash my_ratmenu.sh>#!/bin/sh
 +exec ratmenu -style "snazzy" -label "rmenu" -align "center" -fg "#BFBFBF" -bg "#005885" -font "-artwiz-lime-medium-*-normal-*-10-*-*-*-*-*-*-*" \
 +    "claws-mail" "claws-mail --online" \
 +    "conkeror" "conkeror" \
 +    "firewall" "urxvtcd -e sudo vim /etc/firewall.rules" \
 +    "gcolor2" "gcolor2" \
 +    "geany" "geany" \
 +    "gimp" "gimp" \
 +    "gparted" "gksudo gparted" \
 +    "radio-cli" "urxvtcd -e cli_radio" \
 +    "ranger" "urxvtcd -e ranger" \
 +    "rox-filer" "rox" \
 +    "synaptic" "gksudo synaptic" \
 +    "torrent" "transmission" \
 +    "unetbootin" "gksudo unetbootin" \
 +    "unison" "sudo unison-gtk" \
 +    "volume" "urxvtcd -title sound -e alsamixer" \
 +    "xosview" "xosview" \
 +    "xcolorsel" "xcolorsel" \
 +    "xfontsel" "xfontsel" \
 +    "----" ""\
 +    "xinit" "urxvtcd -e vim .xinitrc" \
 +    "start" "urxvtcd -e vim bin/dwm-session" \
 +    "xdefs" "urxvtcd -e vim .Xresources" \
 +    "firewall" "urxvtcd -e sudo vim /etc/firewall.rules" \
 +    "----" ""\
 +    "lock" "slock" \
 +    "exit" "sudo halt"
 +exit 0
 +</code>
 +==== les options acceptées ====
 +les options peuvent être fixées dans votre ~/.Xresources. notez que les options passées en ligne de commande écrasent celles du ~/.Xresources.
 +^option^argument^description^
 +| -display | displayname |utilise l'écran indiqué au lieu de l'écran par défaut. |
 +| -font |fname |(X Resource: font) utilise la police spécifiée au lieu de celle par défaut. |
 +| -label |name |change le nom de la fenêtre de menu et de l'icône.  le nom par défaut est la dernière commande passée àa ratmenu lors du lancement, généralement, ratmenu.. |
 +| -fg | foreground-color |(X Resource: fgcolor) couleur du texte, par défaut: black. |
 +| -bg | background-color |(X  Resource:  bgcolor) couleur du fond, par défaut: white. |
 +| -io | item-offset |item-offset deviant la première entrée de ratmenu. par défaut, la première entrée correspond à la première commande , ou item-offset 1.  la deuxième commande sera item-offset 2. |
 +| -style | {snazzy:dreary} |(X  Resource:  style) snazzy est le style par défaut, la barre de sélection reste fixe et les éléments du menus défilent.  en mode dreary, la barre de sélection monte et descend sur le menu. |
 +| -align | {left:center:right} |(X Resource: align) alignement des entrées de menu. left par défaut. |
 +| -shell | prog |utilise 'prog' à la place de /bin/sh. si le prog n'est pas trouvé, ratemenu retourne sur /bin/sh. |
 +| -back | prevmenu |commande à lancer quand la commande 'back' est lancé, généralement pour créer un ratmenu à plusieurs niveaux. |
 +| -persist ||(X Resource: persist) empâche ratmenu de se fermer lors d'une sélection. |
 +| -version ||affiche la version puis exit0. |
 +
 +===== theLauncher =====
 +et voici une petite application en python développée par [[http://www.alte.ru/thelauncher/|Alexander Barinov]], initialament prévu pour être un applet de gnome-panel. mais il peut de lancer en stand-alone et dispose même d'un lanceur sous la forme d'un applet pour la zone de notification. il fonctionne de façon simple: theLauncher liste les applications contenues dans votre /usr/share/applications puis en dresse un menu ordonné s'affichant dans une fenêtre.
 +
 +==== screenshots ====
 +thelauncher en stand-alone, depuis gnome-panel, en mode recherche, en mode nouvelle application...\\
 +{{personaliser:full1.png?200|thelauncher en stand-alone}} {{personaliser:full2.png?200|thelauncher depuis gnome-panel}} {{personaliser:full3.png?200|thelauncher recherche}} {{personaliser:full4.png?200|thelauncher nouvelle application}}
 +
 +==== installation & utilisation ====
 +thelauncher dépend de **python-2.x** et de **pygtk**
 +on commence par télécharger l'archive disponible [[http://www.alte.ru/thelauncher/thelauncher-2.4.1.tar.gz|ici]] ou [[http://arpinux.org/debian/thelauncher-2.4.1.tar.gz|ici]], puis on la décompresse:
 +<code>$ wget http://arpinux.org/debian/thelauncher-2.4.1.tar.gz
 +$ tar xvzf thelauncher-2.4.1.tar.gz</code>
 +
 +=== utilisation directe ===
 +vous pouvez constater qu'un executable "thelauncher" est déjà présent dans le dossier principal. vous pouvez utiliser ce script python en stand-alone en le copiant dans un dossier approprié
 +<code>$ cd thelauncher-2.4.1/
 +$ cp thelauncher ~/bin/</code>
 +et en l'assignant à un raccourcis clavier ou un lanceur de dock/panel.
 +
 +=== utilisation dans le systray ===
 +//**hors gnome-panel**//, un applet de zone de notification est disponible dans le dossier ./thelauncher-2.4.1/tray-icon/ accompagné de son icone (vous pouvez modifier cette icone à votre convenance grâce à the Gimp ou Inkscape). pour l'insérer dans votre systray, il faut copier ce sript dans un dossier approprié et son icone dans /usr/share/pixmaps:
 +<code>$ cd tray-icon/
 +$ cp thelauncher-trayicon ~/bin/
 +# cp thelauncher.svg /usr/share/pixmaps</code>
 +il suffit ensuite de lancer thelauncher-trayicon dans votre systray au démarrage de votre session en le plaçant dans votre ~/.xinitrc:
 +<code bash>## launch panel
 +pypanel &
 +## launch systray menu
 +thelauncher-trayicon &</code>
 +vous pouvez aussi utiliser thelauncher-trayicon dans un [[personaliser:systray|systray indépendant]].
 +
 +=== utilisation commme applet gnome ===
 +si vous utilisez gnome-panel ou tout autre panel qui gère les applets gnome (comme xfce4-panel), l'installation est simplifiée: il suffit d'executer le script d'installation situé dans ./thelauncher-2.4.1/gnome-applet/ :
 +<code>$ cd gnome-applet
 +# install-applet</code>
 +et thelauncher sera disponible dans la liste de vos applets gnome.\\
 +
 +====== conclusion ======
 +vous pouvez désormais avoir accès à un menu configurable (ou pas) sur n'importe quel gestionnaire de fenêtres. ou utiliser l'un de ces menus indépendants en complément de votre menu system par défaut, pour avoir vos applications favorites toujours accessibles par exemple.
personaliser/free_menus.txt · Dernière modification : 2018/11/17 12:54 de 127.0.0.1