avr 09

Voici la troisième partie concernant la configuration de WMFS, au menu de ce billet : Les raccourcis clavier.

Que serait un tiling manager sans raccourcis clavier ?

Comme vous vous en doutez, WMFS propose par défaut un bon nombre de possibilités et bien évidement il permet de gérer, créer et supprimer vos raccourcis en toute simplicité !

Toute l’action se déroulera dans la section « [keys] [/keys] » de votre wmfsrc ou le cas échéant dans le fichier keys passé en @include ( voir ici pour de plus amples informations ).

Syntaxe :

[key] mod = {"touche"} key = "touche" func = "fonction" cmd = "commande" [/key]

Raccourcis clavier par défaut :

Voici la liste des raccourcis clavier activés par défaut que j’ai partiellement traduite :

# Recharger le fichier de configuration de WMFS.
[key] mod = {"Alt", "Control"} key = "r" func = "reload" [/key]
 
# Ouvrir un terminal.
[key] mod = {"Control"} key = "Return" func = "spawn" cmd = "xterm" [/key]
 
# Fermer le client sélectionné.
[key] mod = {"Alt"} key = "q" func = "client_kill" [/key]
 
# Quitter WMFS.
[key] mod = {"Control", "Alt", "Shift"} key = "q" func = "quit" [/key]
 
# Échanger le client sélectionné avec le suivant.
[key] mod = {"Alt"} key = "t" func = "client_swap_next" [/key]
 
# Échanger le client sélectionné avec le précèdent.
[key] mod = {"Alt", "Shift"} key = "t" func = "client_swap_prev" [/key]
 
# Passer le client sélectionné en positon master.
[key] mod = {"Control"} key = "m" func = "client_set_master" [/key]
 
# Maximiser le client sélectionné.
[key] mod = {"Alt"} key = "m" func = "toggle_max" [/key]
 
# Passer le client sélectionné en mode "free".
[key] mod = {"Alt"} key = "f" func = "toggle_free" [/key]
 
# Modifier la position du tableau de bord.
[key] mod = {"Alt"} key = "b" func = "toggle_infobar_position" [/key]
[key] mod = {"Alt", "Shift"} key = "b" func = "toggle_infobar_display" [/key]
 
# Toggle the resizehint of the current tag/screen
[key] mod = {"Shift", "Control"} key = "r" func = "toggle_resizehint" [/key]
 
# Cacher/montrer les tags non utilisés.
[key] mod = {"Shift", "Control"} key = "t" func = "toggle_tagautohide" [/key]
 
# Sélectionner le client suivant.
[key] mod = {"Alt"} key = "Tab" func = "client_next" [/key]
 
# Sélectionner le client précédent.
[key] mod = {"Alt","Shift"} key = "Tab" func = "client_prev" [/key]
 
# Passer au tag suivant.
[key] mod = {"Control"} key = "Right" func = "tag_next" [/key]
 
# Passer au tag précédent.
[key] mod = {"Control"} key = "Left" func = "tag_prev" [/key]
 
# Passer au tag utilisé suivant.
[key] mod = {"Control","Alt"} key = "Right" func = "tag_next_visible" [/key]
 
# Passer au tag utilisé précédent.
[key] mod = {"Control","Alt"} key = "Left" func = "tag_prev_visible" [/key]
 
# Passer au layout suivant.
[key] mod = {"Alt"} key = "space" func = "layout_next" [/key]
 
# Passer au layout précédent.
[key] mod = {"Alt", "Shift"} key = "space" func = "layout_prev" [/key]
 
# Élargir le client qui a le focus.
[key] mod = {"Alt"} key = "l" func = "set_mwfact" cmd = "+0.025" [/key]
 
# Réduire le client qui a le focus.
[key] mod = {"Alt"} key = "h" func = "set_mwfact" cmd = "-0.025" [/key]
 
# Ajouter le client sélectionné au master.
[key] mod = {"Alt"} key = "d" func = "set_nmaster" cmd = "+1" [/key]
 
# Enlever le dernier client ajouté au master.
[key] mod = {"Alt", "Shift"} key = "d" func = "set_nmaster" cmd = "-1" [/key]
 
# Accéder au lanceur d'applications.
[key] mod = {"Alt"} key = "p" func = "launcher" cmd = "launcher_exec" [/key]
 
# Accéder au lanceur ViWMFS
[key] mod = {"Alt"} key = "Escape" func = "launcher" cmd = "viwmfs" [/key]
 
# Aller au tag x.
[key] mod = {"Alt"} key = "F1" func = "tag" cmd = "1" [/key]
[key] mod = {"Alt"} key = "F2" func = "tag" cmd = "2" [/key]
[key] mod = {"Alt"} key = "F3" func = "tag" cmd = "3" [/key]
[key] mod = {"Alt"} key = "F4" func = "tag" cmd = "4" [/key]
[key] mod = {"Alt"} key = "F5" func = "tag" cmd = "5" [/key]
[key] mod = {"Alt"} key = "F6" func = "tag" cmd = "6" [/key]
[key] mod = {"Alt"} key = "F7" func = "tag" cmd = "7" [/key]
[key] mod = {"Alt"} key = "F8" func = "tag" cmd = "8" [/key]
[key] mod = {"Alt"} key = "F9" func = "tag" cmd = "9" [/key]
 
# Déplacer le client sélectionné sur le tag x.
[key] mod = {"Alt", "Shift"} key = "F1" func = "tag_transfert" cmd ="1" [/key]
[key] mod = {"Alt", "Shift"} key = "F2" func = "tag_transfert" cmd ="2" [/key]
[key] mod = {"Alt", "Shift"} key = "F3" func = "tag_transfert" cmd ="3" [/key]
[key] mod = {"Alt", "Shift"} key = "F4" func = "tag_transfert" cmd ="4" [/key]
[key] mod = {"Alt", "Shift"} key = "F5" func = "tag_transfert" cmd ="5" [/key]
[key] mod = {"Alt", "Shift"} key = "F6" func = "tag_transfert" cmd ="6" [/key]
[key] mod = {"Alt", "Shift"} key = "F7" func = "tag_transfert" cmd ="7" [/key]
[key] mod = {"Alt", "Shift"} key = "F8" func = "tag_transfert" cmd ="8" [/key]
[key] mod = {"Alt", "Shift"} key = "F9" func = "tag_transfert" cmd ="9" [/key]
 
# Toggle additional tags (x) on the current tag
[key] mod = {"Alt", "Super"} key = "F1" func = "tag_toggle_additional" cmd ="1" [/key]
[key] mod = {"Alt", "Super"} key = "F2" func = "tag_toggle_additional" cmd ="2" [/key]
[key] mod = {"Alt", "Super"} key = "F3" func = "tag_toggle_additional" cmd ="3" [/key]
[key] mod = {"Alt", "Super"} key = "F4" func = "tag_toggle_additional" cmd ="4" [/key]
[key] mod = {"Alt", "Super"} key = "F5" func = "tag_toggle_additional" cmd ="5" [/key]
[key] mod = {"Alt", "Super"} key = "F6" func = "tag_toggle_additional" cmd ="6" [/key]
[key] mod = {"Alt", "Super"} key = "F7" func = "tag_toggle_additional" cmd ="7" [/key]
[key] mod = {"Alt", "Super"} key = "F8" func = "tag_toggle_additional" cmd ="8" [/key]
[key] mod = {"Alt", "Super"} key = "F9" func = "tag_toggle_additional" cmd ="9" [/key]
 
# Changer d'écran
[key] mod = {"Super"} key = "Tab" func = "screen_next" [/key]
[key] mod = {"Super", "Shift"} key = "Tab" func = "screen_prev" [/key]
 
# Passer le client sélectionné à l'écran suivant/précédent 
[key] mod = {"Super", "Shift"} key = "a" func = "client_screen_next" [/key]
[key] mod = {"Super", "Shift"} key = "z" func = "client_screen_prev" [/key]
 
# Mode "exposé"
[key] mod = {"Alt"} key = "e" func = "toggle_tag_expose" [/key]

Création d’un raccourci clavier :

Tout d’abord, petit rappel de la syntaxe :

[key] mod = {"Touche"} key = "Touche" func = "Fonction" cmd = "Commande" [/key]

Pour suivre, voici un exemple qui permet de lancer Firefox via la combinaison des touches [ Super + F ] :

# Lancer Firefox.
[key] mod = {"Super"} key = "f" func = "spawn" cmd = "firefox" [/key]

Cet autre exemple permet d’effectuer une capture d’écran avec Scrot puis de l’ouvrir avec Mirage via la touche [ Imprimer ] :

# Effectuer une capture d'écran.
[key] key = "Print" func = "spawn" cmd = "scrot -e 'mirage $f'" [/key]

Ici, on attribue deux fonctions à un même raccourci clavier :

# Déplacer et suivre le client sur le tag suivant.
[key] mod = {"Shift","Alt"} key = "Right" func = "tag_transfert_next" [/key]
[key] mod = {"Shift","Alt"} key = "Right" func = "tag_next" [/key]

Enfin, un dernier exemple permettant d’afficher un menu :

# Afficher le menu "root".
[key] mod = {"Super","Alt"} key = "space" func = "menu" cmd = "rootmenu" [/key]

Les touches multimédia :

Si vous êtes en possession d’un clavier disposant de touche multimédia, sachez qu’il est tout à fait possible de les prendre en charge. Voici de suite un exemple :

# Lancer claws-mail (keycodes)
[key] key = "XF86Mail" func = "spawn" cmd = "claws-mail" [/key]

La syntaxe est comme vous pouvez le voir fort simple ! Afin de connaître la valeur à utiliser, je vous conseille fortement d’utiliser l’utilitaire xev :

xorg-xev est un utilitaire livré avec xorg et xorg-apps, il n’est donc logiquement pas nécessaire de l’installer…

$ yaourt -Si xorg-xev
 
Dépôt                 : extra
Nom                   : xorg-xev
Version               : 1.1.0-2
URL                   : http://xorg.freedesktop.org/
Licences              : custom
Groupes               : xorg-apps  xorg
Fournit               : --
Dépend de             : libx11
Dépendances opt.      : --
Est en conflit avec   : --
Remplace              : --
A télécharger         :   9,98 K
Taille (installé)     :  64,00 K
Paqueteur             : Jan de Groot <jgc@archlinux.org>
Architecture          : x86_64
Compilé le            : jeu. 10 mars 2011 16:17:41 CET
somme MD5             : 89f853c37bc58185ea043e9b71e14143
Description           : Print contents of X events

Lancez xev dans votre terminal :

$ xev

Appuyez ensuite sur un touche multimédia, xev devrait vous retourner une notification de ce genre :

KeyRelease event, serial 30, synthetic NO, window 0x1c00001,
    root 0x15d, subw 0x0, time 7022752, (106,269), root:(1080,321),
    state 0x10, keycode 163 (keysym 0x1008ff19, XF86Mail), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Dans cette exemple, la valeur qui sera utilisée est : « XF86Mail »

Fin de cet article qui je l’espère vous donnera une raison de plus pour essayer et pourquoi pas adopter WMFS ;) .

Rendez vous pour un prochain acte qui concernera le fichier status.sh !

Dans la même catégorie :

 

écrit par David Lopes Ferreira

7 commentaires à “WMFS, acte III : Les raccourcis claviers”

  1. WMFS, acte IV : La statusbar » UbunBloX Dit:

    [...] WMFS, acte III : Les raccourcis claviers avr [...]

  2. Intégrer CutMyUrl au launcher de WMFS » UbunBloX Dit:

    [...] WMFS, acte III : Les raccourcis claviers [...]

  3. Le wiki de WMFS fait peau neuve » UbunBloX Dit:

    [...] WMFS, acte III : Les raccourcis claviers [...]

  4. Xavier Dit:

    Pour éviter de prendre trop d’infos inutiles de xev, un petit grep :
    xev | grep keycode
    Sinon, très sympa ta série sur wmfs. Je m’y mets aussi, mais doucement quand j’ai un peu de temps libre…

  5. Anyone Dit:

    Super sympa cette série sur WMFS, moi qui voulait changer de WM, je vais pouvoir m’y mettre tranquillement en utilisant les articles de ton blog :P

    Ne serait il pas possible que tu mette ces articles sur le Wiki de WMFS ? Cela permettrait d’avoir une bonne doc en français sur le site du projet :)

  6. David Lopes Ferreira Dit:

    @Anyone : Ravi que cela te serve ! Pour ce qui est du wiki de wmfs il est déjà très bien fourni ! À la rigueur mettre un lien vers cette série d’article serait peut être une bonne chose… Une idée à creuser

  7. MOC et WMFS : Intégration » UbunBloX Dit:

    [...] WMFS, acte III : Les raccourcis claviers [...]

Laisser une Réponse