Suite à un conseil venant du /pub, je me décide à utiliser un peu plus les possibilités de XMonad en me servant de ça : http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-CopyWindow.html
Donc y'a rien l'air d'y avoir de sorcier, j'ai bien le paquet qui contient les modules "contrib" de XMonad, je rajoute dans mon xmonad.hs les lignes :
import XMonad.Actions.CopyWindow
(au début)
, ((modMask, xK_v ), windows copyToAll) -- @@ Make focused window always visible
, ((modMask .|. shiftMask, xK_v ), killAllOtherCopies) -- @@ Toggle window state back
(au milieu des raccourcis clavier)
Et je remplace le ", ((modMask .|. shiftMask, xK_c ), kill)" par ", ((modMask .|. shiftMask, xK_c ), kill1)" comme ils disent.
Et j'ai une surprise, quand j'essaie de relancer XMonad, j'obtiens le message d'erreur suivant :
Error detected while loading xmonad configuration file: /home/damien/.xmonad/xmonad.hs
xmonad.hs:103:33: Not in scope: `copyToAll'
xmonad.hs:104:39: Not in scope: `killAllOtherCopies'
En faisant quelques tests, je m'aperçois que la première ligne est bien reconnue (vu qu'il y a un message d'erreur si je la change et pas si je la laisse), que le "kill1" est bien reconnu aussi, mais visiblement il trouve pas le "copyToAll" ni le "killAllOtherCopies"
J'ai essayé de remplacer par exemple "copyToAll" par "XMonad.Actions.CopyWindow.copyToAll" ou "W.copyToAll" en m'inspirant de la syntaxe des raccourcis clavier autour, mais ça me renvoie le même message d'erreur.
Est-ce que quelqu'un qui connaît mieux que moi le principe et la syntaxe du Haskell pourrait me dire où est l'erreur évidente que je commets ? 