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édentes Révision précédente
Prochaine révision
Révision précédente
xmonad [Le 25/07/2010, 04:45]
cbrunos
xmonad [Le 11/09/2022, 11:37] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>gestionnaire_de_fenetres}}+{{tag>gestionnaire_de_fenêtres BROUILLON}}
 ---- ----
  
 ====== xmonad ====== ====== xmonad ======
-<note warning>​Wiki en construction!!</​note>​+
  
 ===== Présentation ===== ===== Présentation =====
  
-xmonad est un tiling window manager écrit en haskell semblable à [[http://​doc.ubuntu-fr.org/​wmii|wmii]] ou [[http://​doc.ubuntu-fr.org/​awesome|awesome]]. Xmonad est écrit en haskell ​ce qui d'un côté rend sa configuration un peu plus compliquée et engendre près de 400mo de dépendances,​ mais de l'​autre le rend très hautement personnalisable. ​+**xmonad** est un tiling window manager écrit en haskell semblable à [[:wmii]] ou [[:​awesome]]. Xmonad est écrit en [[wpfr>​Haskell]] ​ce qui d'un côté rend sa configuration un peu plus compliquée et engendre près de 400mo de dépendances,​ mais de l'​autre le rend très hautement personnalisable. 
 Il est entièrement pilotable au clavier et donc parfait pour les gens qui ne veulent pas perdre de temps à manipuler leurs souris. Il est entièrement pilotable au clavier et donc parfait pour les gens qui ne veulent pas perdre de temps à manipuler leurs souris.
  
Ligne 21: Ligne 22:
 Pour installer ce logiciel, il suffit d'​[[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|installer le paquet]] **[[apt://​xmonad|xmonad]]**. Pour installer ce logiciel, il suffit d'​[[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|installer le paquet]] **[[apt://​xmonad|xmonad]]**.
  
-<note warning>​xmonad est écrit en haskell est dépend donc de GHC - the Glasgow Compilation system, ainsi que de quelques ​librairies. Prévoir près de 400mo d'​espace libre pour l'​installation.</​note>​+<note warning>​xmonad est écrit en Haskell et dépend donc de GHC - the Glasgow Compilation system, ainsi que de quelques ​bibliothèques. Prévoir près de 400mo d'​espace libre pour l'​installation.</​note>​ 
 +<note warning>​Pour bien profiter de Xmonad, une bonne connaissance de l'​anglais est souhaitable,​ car toutes les pages ou sont répertoriés les modules supplémentaires sont en anglais.</​note>​
  
-<note tip>Pour vous éviter des ennuis, installez aussi **[[apt://dwn-tools|dwm-tools]]**. En effet, cela installera l'​outil nécessaire au lancement des applications.</​note>​+<note tip>Pour vous éviter des ennuis, installez aussi **[[apt://suckless-tools|suckless-tools]]**. En effet, cela installera l'​outil nécessaire au lancement des applications.</​note>​
  
-Pour le lancer, sélectionnez l'​entrée xmonad dans [[http://​doc.ubuntu-fr.org/​gdm|Gdm]].+Pour le lancer, sélectionnez l'​entrée xmonad dans [[:lightdm]].
  
 ===== Configuration ===== ===== Configuration =====
  
-La configuration se fait en éditant le fichier ​xmonad.hs qui se trouve en /​home/​votre_nom_d'​utilisateur/​.xmonad/​xmonad.hs. S'il n'y est pas, vous trouverez [[http://​haskell.org/​haskellwiki/​Xmonad/​Config_archive/​Template_xmonad.hs_(0.9)|sur le site officiel]] ​une template ​qui vous permettra de bien débuter.+La configuration se fait en éditant le fichier ​Xmonad.hs qui se trouve en /​home/​votre_nom_d'​utilisateur/​.xmonad/​xmonad.hs. S'il n'y est pas, vous trouverez [[http://​haskell.org/​haskellwiki/​Xmonad/​Config_archive/​Template_xmonad.hs_(0.9)|sur le site officiel]] ​un modèle ​qui vous permettra de bien débuter.
  
-À chaque modification,​ il faut recompiler le fichier et relancer ​xmonad. Cela se fait avec la combinaison de couches ​Mod+q (ou Mod désigne la touche alt par défaut). ​+À chaque modification,​ il faut recompiler le fichier et relancer ​Xmonad. Cela se fait avec la combinaison de touches ​Mod+q (ou Mod désigne la touche alt par défaut).
  
  
 ===== Utilisation===== ===== Utilisation=====
  
-Une fois dans une session xmonad vous vous trouverez devant un bureau vide. Pour commencer à faire quelque chose, vous pouvez lancer un terminal en appuyant sur Mod+Shift+Entrée (Mod désignant la touche alt par défaut.) Avec ce terminal ouvert, vous pourrez lancer des applications. Alternativement,​ vous pouvez appuyer sur Mod+p pour faire apparaître une fine barre tout en haut de votre écran: il s'agit de dmenu, qui a été installé avec dwm-tools. Commencez à taper le nom de l'​application ​qui vous voulez lancer pour la séléctionner ​dans la liste (vous pouvez aussi compléter le nom automatiquement avec la touche tab).+Une fois dans une session xmonad vous vous trouverez devant un bureau vide. Pour commencer à faire quelque chose, vous pouvez lancer un terminal en appuyant sur Mod+Shift+Entrée (Mod désignant la touche alt par défaut.) Avec ce terminal ouvert, vous pourrez lancer des applications. Alternativement,​ vous pouvez appuyer sur Mod+p pour faire apparaître une fine barre tout en haut de votre écran: il s'agit de dmenu, qui a été installé avec dwm-tools. Commencez à taper le nom de l'​application ​que vous voulez lancer pour la sélectionner ​dans la liste (vous pouvez aussi compléter le nom automatiquement avec la touche tab).
  
 Voici une liste non-exhaustive de raccourcis clavier configurés par défaut: Voici une liste non-exhaustive de raccourcis clavier configurés par défaut:
Ligne 46: Ligne 48:
  
 Consultez la section -- Key bindings. Add, modify or remove key bindings here. du fichier haskell.hs pour la liste complète et pour les modifier. Consultez la section -- Key bindings. Add, modify or remove key bindings here. du fichier haskell.hs pour la liste complète et pour les modifier.
 +
 +===== Les «Layouts» =====
 +
 +Les Layouts (disposition en Français) sont les dispositions de vos fenêtres dans Xmonad. Par défaut, vous disposez de 3 Layouts. Pour passer d'un Layout à l'​autre,​ tapez Mod+Espace. En fonction de ce que vous voulez faire ou afficher, un Layout peut mieux marcher qu'un autre, et il est possible d'en rajouter une bonne dizaine, tout comme il est possible de définir un Layout par défaut pour un bureau spécifique. Un exemple concret et d'​avoir Gimp qui s'​ouvre toujours dans le bureau 5 avec un Layout qui met les boites de dialogues de chaque coté de la fenêtre principale (astuce plus bas). Consultez la sous-rubrique «Layout» sur [[https://​xmonad.org/​xmonad-docs/​xmonad-contrib/​index.html|cette page]] afin d'​avoir une liste exhaustive.
 +
 +===== Coupler Xmonad et Gnome =====
 +
 +Xmonad étant un gestionnaire de fenêtres, il peut être couplé à l'​environnement [[:Gnome]]. Toutefois, afin de bien en profiter, il est nécessaire de faire quelques manipulations.
 +
 +<note warning>​Ce qui suit a été traduit de l'​anglais à partir du [[http://​haskell.org/​haskellwiki/​Xmonad/​Using_xmonad_in_Gnome|wiki du site officiel]] et n'a pas été testé par moi, étant donné qui j'​utilise xmonad seul. Notez aussi que je n'ai traduit ce qui me semblait essentiel et utile, donc pour plus d'​infos n'​hésitez pas à consulter la page officielle.</​note>​
 +
 +==== 1 - Préparer Gnome pour Xmonad ====
 +Il semblerait que la plupart des personnes sur une variété de distributions ont de bons résultats en utilisant un fichier applications/​xmonad.desktop et en lançant une session Gnome complète en ne remplaçant que Metacity avec Xmonad. Pour cela, utiliser la [[:​commande_shell|commande]] suivante dans un [[:​terminal]]: ​
 +
 +<​code>​gconftool-2 -s /​desktop/​gnome/​session/​required_components/​windowmanager xmonad --type string</​code>​
 +
 +Lancer cette commande pendant une session Gnome revient à remplacer Metacity par Xmonad sans affecter les autres applications et daemons.
 +Cette solution est pratique si on veut essayer Xmonad, mais n'est pas satisfaisante. Si l'on veut que Xmonad démarre automatiquement avec Gnome, il est plus commode de créer un fichier applications/​xmonad.desktop. Normalement,​ ce fichier existe déjà et permet de lancer Xmonad seul en choisissant l'​entrée correspondante dans Gdm.
 +L'​idéal est d'en créer un autre.
 +Ouvrez un [[:​terminal]] et tapez:
 +<​code>​ gksudo gedit /​usr/​share/​applications/​gnome_xmonad.desktop</​code>​
 +et copiez-collez dans la fenêtre gedit qui vient de s'​ouvrir:​
 +<​file>​Type=Application
 +Encoding=UTF-8
 +Name=Gnome/​Xmonad
 +Exec=xmonad
 +NoDisplay=true
 +X-GNOME-WMName=Xmonad
 +X-GNOME-Autostart-Phase=WindowManager
 +X-GNOME-Provides=windowmanager
 +X-GNOME-Autostart-Notify=false
 +</​file>​
 +
 +Maintenant il faut configurer Xmonad pour interagir avec Gnome.
 +
 +==== 2 - Préparer Xmonad pour Gnome ====
 +
 +<note warning>​Il semblerait que les infos du wiki soient obsolètes et/ou trop compliquées. Pour la suite je me suis donc basé sur [[https://​ubuntuforums.org/​showthread.php?​t=1345157|ce sujet (en)]] qui semble donner de bons résultats</​note>​
 +
 +Ouvrez xmonad.hs. Au début du fichier, vous verrez des lignes de ce type:
 +<​code>​import XMonad
 +import Data.Monoid
 +import System.Exit
 +
 +ect……</​code>​
 +
 +Ces lignes sont très importantes,​ car c'est ici que vous rajouterez des extensions à Xmonad pour en faire le tiling Wm de vos rêves :-D
 +Donc, justement, nous allons ajouter une extension qui permet la communication avec Gnome.
 +Éditez le fichier pour le faire ressembler à ça:
 +<​code>​import XMonad
 +import Data.Monoid
 +import System.Exit
 +import XMonad.Config.Gnome --notez qu'on vient d'​ajouter cette ligne!
 +import XMonad.Config.Azerty --vous pouvez ignorer cette ligne si vous n'​utilisez pas un clavier Azerty!
 +import XMonad.Hooks.ManageDocks --ajoutez cette ligne, elle permet a xmonad de reconnaître les docks, comme gnome-panel ou autre
 +
 +</​code>​
 +
 +Ensuite, vers la fin du fichier, trouvez la ligne suivante:
 +<​code>​main = xmonad defaults</​code>​
 +et modifiez-la comme suit:
 +<​code>​main = xmonad $ gnomeConfig defaults</​code>​
 +
 +À priori, en choisissant maintenant l'​entrée Gnome/​Xmonad dans Gdm vous devrez vous trouver dans voter bureau Gnome, mais avec Xmonad.
 +
 +===== Utiliser Xmonad seul =====
 +Xmonad peut aussi être utilisé seul pour plus de légèreté. Pour cela, choisissez tout simplement l'​entrée "​Xmonad"​ dans GDM après installation.
 +Vous vous retrouverez dans un bureau vide.
 +
 +==== 1  - Ajouter xmobar, la barre de statut de Xmonad ====
 +Xmobar est une petite barre qui donne pas mal d'​informations sur l'​état de Xmonad (le bureau sur lequel vous vous trouvez) le «Layout» en cours d'​utilisation…Pour l'​installer:​ [[apt://​xmobar]]. La configuration de xmobar se fait dans le fichier ~/​.xmobarrc. Voici un exemple qui donne le bureau sur lequel vous vous trouvez, le titre de la fenêtre, le nom du Layout en cours d'​utilisation,​ la date et l'​heure:​
 +
 +<​code>​Config { font = "​-*-terminus-*-*-*-*-*-*-*-*-*-*-*-*"​
 +       , bgColor = "#​DADBC7" ​  
 +       , fgColor = "#​555753"​
 +       , position = Top
 +       , lowerOnStart = True
 +       , commands = [ Run Date "%A, %d %b %Y <​fc=#​2B9190>​%H:​%M:​%S</​fc>"​ "​date"​ 10
 +                    , Run Com "​skb"​ ["​-1"​] "​kb"​ 10
 +                    , Run StdinReader
 +                    ]
 +       , sepChar = "​%"​
 +       , alignSep = "​}{"​
 +       , template = " %StdinReader% }{<​fc=#​2B9190></​fc>​ %date% ​ "
 +       ​}</​code>​
 +       
 +Vous pouvez facilement ajouter des fonctionnalités à xmobar. Pour plus de détails et les plugins disponibles,​ rendez vous [[http://​code.haskell.org/​~arossato/​xmobar/#​other-plugins|ici.]]
 +Finalement, éditez xmonad.hs et ajoutez:
 +
 +<​code>​main = xmonad=<<​ xmobar defaults</​code>​
 +et cherchez la ligne «myLayouthooks» et ajoutez: «avoidStruts $» juste après myLayout=………
 +
 +Exemple:
 +<​code>​myLayout =  avoidStruts $ onWorkspace "​5"​ gimp…… $ etc $etc</​code>​
 +C'est ici que vous ajouterez d'​autres Layouts. Pour ajouter des Layouts, il faut toujours mettre une ligne en début de fichier (par exemple import XMonad.Layout.IM) et ensuite ajouter le nom du Layout dans myLayouthooks.
 +
 +Vous pouvez ensuite cacher/​afficher xmobar (et tout autre dock) avec Mod+b. Xmobar ne dispose pas de systray. Vous pouvez utilisez trayer en complément.
 +Pour cela, trayer doit avoir être invoqué avec les options --SetDockType true et --SetPartialStrut true.
 +(Voir exemple plus bas, les applications au démarrage)
 +
 +
 +==== 2  - Les applications au démarrage====
 +Il y a deux façons de procéder pour cela. La plus simple; éditez xmonad.hs et cherchez la ligne «myStartupHook=return ()» et pour modifiez la comme suit pour ajouter gnome-panel,​ et xnumlock (qui permet d'​avoir numlock activé au démarrage):​
 +
 +<​code>​myStartupHook = do
 +          spawn "​gnome-panel"​
 +   spawn "​numlockx"​
 +          spawn "​trayer --edge top --align right --SetDockType true --SetPartialStrut true --expand true --width 15 --height 12 --transparent true --tint 0x000000"</​code>​
 +Utilisez cette méthode pour ajouter un fond d'​écran avec feh par exemple.
 +
 +Continuez à ajouter les applications qu'il vous faut. L'​inconvénient,​ c'est qu'à chaque recompilation de Xmonad, les applications de démarrage vont se relancer…
 +
 +L'​autre méthode consiste à éditer ~/.xinitrc.
  
 ===== Désinstallation ===== ===== Désinstallation =====
Ligne 53: Ligne 168:
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * **(en)** [[http://​xmonad.org/​|Site officiel de xmonad]]+  * **(en)** [[https://​xmonad.org/​|Site officiel de xmonad]]
   * **(en)** [[http://​wiki.archlinux.org/​index.php/​Xmonad|xmonad sur le wiki d'​archlinux]]   * **(en)** [[http://​wiki.archlinux.org/​index.php/​Xmonad|xmonad sur le wiki d'​archlinux]]
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=408563|Discussion « Des utilisateurs de xmonad parmi vous? »]] sur le forum Ubuntu-fr+  * [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=408563|Discussion « Des utilisateurs de xmonad parmi vous? »]] sur le forum Ubuntu-fr
  
  
 ---- ----
- +//​Contributeurs principaux : cbrunos//
  • xmonad.1280025926.txt.gz
  • Dernière modification: Le 18/04/2011, 14:41
  • (modification externe)