MOC et WMFS : Intégration
J’ai pendant longtemps utilisé le combo d’applications MPD + Ncmpcpp pour écouter ma musique, un ensemble qui fonctionne d’ailleurs très bien d’après ma propre expérience. Histoire de changer un peu d’air, j’ai regardé du coté de MOC ( Music On Console ) qui d’un point de vue usage ne m’a vraiment pas déçu ! Simple, efficace et configurable à souhait celui-ci est devenu depuis peu « Mon lecteur audio »
Cet article ne sera pas l’occasion de vous présenter en détail cette application mais plutôt de m’attarder sur son intégration dans le tiling manager WMFS. Une tâche que je viens d’accomplir aujourd’hui et que je vais vous faire partager avec plaisir !
Screenshots :
Installation :
Très simple, ouvrez votre terminal et faites :
# pacman -S moc
Pour connaitre le fonctionnement de MOC en détail :
$ man moc
Configuration du fichier autostart.sh
Comme il est possible de lancer MOC comme un serveur audio, il est de bonne augure de lancer celui-ci dès le démarrage de votre session :
$ vim ~/.config/wmfs/autostart.sh
#!/bin/sh if [ -z $(pidof mocp) ]; then mocp -S fi
Mise en place des raccourcis clavier
Un lecteur de musique sans raccourci clavier est une chose inconcevable pour moi ! Voici ma configuration :
$ vim ~/.config/wmfs/conf.d/keys
[keys] # Mocp [key] key = "XF86Tools" func = "spawn" cmd = "urxvtc -name mocp -e mocp" [/key] # Mocp play/pause [key] key = "XF86AudioPlay" func = "spawn" cmd = "mocp -G" [/key] # Mocp next [key] key = "XF86AudioNext" func = "spawn" cmd = "mocp -f" [/key] # Mocp prev [key] key = "XF86AudioPrev" func = "spawn" cmd = "mocp -r " [/key] [/keys]
Configuration d’un tag spécifique à MOC
Histoire que MOC ne s’ouvre pas dans un tag déjà rempli de clients, je lui est réservé une place bien au chaud :
$ vim ~/.config/wmfs/conf.d/rules
[rules] # Mocp tag 8 [rule] instance = "mocp" # First part of WM_CLASS class = "mocp" # Seconf part of WM_CLASS screen = 0 # Screen to use tag = 8 # Tag number of apps free = false # Set automatic free client max = false # Set automatic maximized client follow_client = true # follow the client ignore_tags = false # ignore tag (free mode) [/rule] [/rules]
Configuration du fichier status.sh
Quoi de mieux que d’avoir toujours un œil sur le titre en cours ? Voici une petite idée de script « brut de décoffrage » :
$ vim ~/.config/wmfs/status.sh
_moc () { if [ -z $(mocp -Q %state | grep PLAY) ]; then mus="off" moc="$rose [ M: $normal$mus$rose ]" else art=$(mocp -Q %artist) tit=$(mocp -Q %song) if [ $(echo "$art - $tit" | wc -m) -gt "30" ]; then mus=$(echo "$art - $tit" | cut -b 1-30) moc="$rose [ M : $normal$mus...$rose ]" else mus="$art - $tit" moc="$rose [ M : $normal$mus$rose ]" fi fi }
Ne prenez pas peur en voyant ce bout de script ! On peut surement mieux faire en la matière mais il a le mérite de fonctionner .