Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
jwm [Le 23/06/2009, 09:07] 213.95.41.13jwm [Le 07/01/2010, 02:17] (Version actuelle) Reflets de vert
Ligne 1: Ligne 1:
 +{{tag>gestionnaire_de_fenêtres brouillon}}
  
 +----
 +
 +====== JWM ======
 +
 +
 +===== Introduction =====
 +
 +**JWM** //(Joe's Window Manager)// est un gestionnaire de fenêtres pour le système X Window. **JWM** est écrit en C et peut être compilé en ne nécessitant que la bibliothèque Xlib.
 +
 +Il fournit un environnement graphique à la Windows 95.
 +
 +===== Installation =====
 +
 +**JWM** se trouve dans les [[:depots|dépots]] //Universe// (cf. documentation). Le paquet « jwm » permet de l'[[:gestionnaire_de_paquets|installer]].
 +
 +
 +
 +===== Configuration =====
 +
 +Tout tient dans un unique fichier de configuration appelé jwmrc.
 +Par défaut ce dernier est situé dans <code>/etc/jwm</code>.
 +Pour plus de confort lors de la configuration je vous conseille de le copier dans votre dossier personnel sous le nom <code>.jwmrc</code>.
 +<code>cp /etc/jwm/jwmrc ~/.jwmrc</code>
 +
 +Egalement, si jwm n'est pas proposé par l'écran de connexion, il est vraiment bien de taper dans le terminal: 
 +<code>sudo cp /usr/share/jwm/xsessions/Jwm.desktop /usr/share/xsessions/Jwm.desktop</code>
 +
 +Le fichier est codé en XML très facile a comprendre.
 +Je vais essayer de « découper » le fichier le mieux possible.
 +
 +==== Le menu ====
 +Il se situe dans la section "RootMenu"
 +Voici le mien (créé juste pour l'exemple) : 
 +<code><RootMenu label="Debian" labeled="false" height="0">
 +
 +    <Font>-*-fixed-*-r-*-*-10-*-*-*-*-*-*-*</Font>
 +    <Program icon="xterm.xpm" label="Terminal">xterm</Program>
 +
 +    <!-- Addititional Menu attributes (height, labeled) -->
 +    <Menu icon="folder.xpm" label="Applications">
 +       <Program icon="firefox.png" label="Firefox" height="32">firefox</Program>
 +       <Program icon="amsn.xpm" label="aMSN">amsn</Program>
 +       <Program icon="mini-filemgr.xpm" label="Rox">rox</Program>
 +       <Program icon="xmms.xpm" label="XMMS">xmms</Program>
 +       <Program icon="gedit.png" label="Edit GFG">emacs</Program>
 +
 +    </Menu icon="shutdown24.xpm" label="SESSION" height="32">
 +     
 +     <Separator/>
 +
 +    <Restart icon="mini.start.xpm" />
 +    <Exit    icon="mini.exit.xpm"  confirm="false" />
 + </RootMenu> </code>
 +Analysons tout ce bazar.
 +D'abord la balise <RootMenu> : elle admet plusieurs attributs : **label** : sera affiché en haut du menu si l'attribut **labeled** a la valeur "true", ce deuxième attribut est facultatif et s'il n'est pas indiqué sa valeur par défaut est "false".
 +**height** définit la hauteur des lignes du menu. En utilisant la valeur Zéro elle s'adapte automatiquement à la taille des éléments.
 +On comprend facilement les balises <Program>. Deux attributs : **icon** et **label** (nom de l'entrée) On tape dans la balise le nom de l'exécutable. Optionnellement on peut ajouter la balise **height** pour préciser la hauteur de la ligne du menu
 +Un sous-menu est contenu dans la balise <Menu> avec, la aussi, les attributs **icon** et **label**, ici encore l'attribut **height**, optionnel, spécifie la hauteur des items qui dépendent du sous menu. Je ne vous ferez pas l'injure de vous expliquer le rôle de la balise <Separator>.
 +
 +La balise <Restart> redémarre JWM.
 +Enfin <Exit> ferme la session, l'attribut **confirm**, s'il a pour valeur true, demande juste a l'utilisateur s'il veux vraiment quitter .
 +
 +==== Les icônes ====
 +
 +Il faut dire a JWM dans quels dossiers elles se trouvent. Cela se passe entre les balises **Icons** (très original...)
 +Voici ma section Icons (vers la fin du fichier) <code> <Icons>
 +    <IconPath>/usr/share/icons/gnome/48x48/apps</IconPath>
 +    <IconPath>/usr/share/fvwm95/mini-icons/</IconPath>
 +    <IconPath>/usr/X11R6/include/X11/pixmaps</IconPath>
 +  </Icons></code>
 +
 +==== Programmes au démarrage ====
 +Il est aussi possible de démarrer un certain nombre de programmes dès le démarrage de la session JWM. Cela est assez utile dans certains cas.
 +Par exemple, on peut démarrer nautilus:
 +<code><StartupCommand>
 +nautilus
 +</StartupCommand></code>
 +
 +==== Les Barres du bas, du haut... ====
 +JWM permet de programmer soi-même des menus, mais aussi de créer des barres.
 +
 +Voici l'exemple de ma barre du bas:
 +<code><Tray  x="0" y="-1" height="32">
 + 
 +       <TrayButton label="Menu">root:1</TrayButton>
 + 
 +       <TrayButton label="R">showdesktop</TrayButton>
 + 
 +       <Pager/>
 + 
 +       <TaskList/>
 + 
 +       <Dock/>
 + 
 +       <Swallow name="xload" width="64">
 +          xload -nolabel -bg black -fg blue -hl white
 +       </Swallow>
 + 
 +       <Clock format="%H:%M">xclock</Clock>
 + 
 +    </Tray></code>
 +"x=0" et "y=-1" donnent les coordonnées de la barre. -1 c'est en bas, 1 en haut. On imagine qu'il est tout à fait possible de faire des barres latérales avec la coordonnée "x=1" ou "x=-1" avec y=0.
 +Height c'est la hauteur de la barre. Cela dépend du type d'icone et ce que vous voulez y mettre.
 +
 +Il y a écrit "Menu" sur le bouton du menu root expliqué plus haut.
 +L'autre bouton "R" est un bouton permettant de réduire toutes les fenêtres en même temps.
 +
 +Le "Pager" est le système qui permet de gérer les bureaux multiples, la "Tasklist" les tâches, le "Dock" permet à des applications système de s'afficher, le "swallow" permet d'intégrer des applications comme ici l'indicateur de charge du processeur.
 +
 +Voici un exemple de barre du haut (raccourcie):
 +<code><Tray  x="0" y="1" height="36" autohide="true">
 + 
 +       <TrayButton icon="/usr/share/icons/hicolor/32x32/apps/gnome-cpu-frequency-applet.png">exec:gnome-system-monitor</TrayButton> 
 +       <TrayButton icon="/usr/share/icons/hicolor/32x32/apps/gimp.png">exec:gimp</TrayButton>
 +       <TrayButton icon="/usr/share/icons/hicolor/32x32/apps/tomboy.png">exec:scribus</TrayButton>
 +       <TrayButton icon="/usr/share/icons/hicolor/32x32/apps/nautilus.png">exec:nautilus</TrayButton>
 +       <TrayButton icon="/usr/share/icons/oxygen/32x32/apps/utilities-terminal.png">exec:x-terminal-emulator</TrayButton>
 +       <TrayButton icon="/usr/share/icons/oxygen/32x32/places/user-trash.png">exec:nautilus trash:///</TrayButton>
 +    </Tray></code>
 +Le code "autohide="true"" permet de masquer la barre quand le pointeur de la souris n'est pas dessus.
 +
 +Ensuite il y a toute une partie sur l'apparence des fenêtres et sur le comportement de JWM.
 +
 +
 +Je continue quand je peux... A très bientôt ;)
 +
 +
 +===== Liens =====
 +
 +  * Site officiel : http://www.joewing.net/programs/jwm/
 +  * JWM sur Wikipédia [[wp>JWM|en anglais]] et [[wpfr>JWM|en français]]
 +
 +----
 +
 +//Contributeurs : ?//
 +daypitoum, pwrdesc, reflets de vert