J’utilise ion3 comme gestionnaire de fenêtre, car j’adore le principe de mosaïque d’applications sans fenêtre et je trouve l’ergonomie de ion particulièrement bien choisie.
Évidemment, bien choisie une fois qu’on a modifié le fichier de configuration, sans quoi c’est moins évident.
Voici donc mon ~/.ion3/cfg_ion.lua
dopath("cfg_defaults")— Mod1 = Alt — rajouter "+" après le code pour les concaténations suivantes META="Mod1+"
ioncore.set — dessine les fenetres lors d’un redimensionnement opaque_resize=true,
defbindings("WMPlex.toplevel", — suppression des raccourcis directs sur les touches de fonctions kpress(ALTMETA.."F1", "nil"), kpress(ALTMETA.."F2", "nil"), kpress(ALTMETA.."F3", "nil"), kpress(ALTMETA.."F4", "nil"), kpress(ALTMETA.."F5", "nil"), kpress(ALTMETA.."F6", "nil"), kpress(ALTMETA.."F9", "nil"), kpress(ALTMETA.."F12", "nil"),
— lancement xterm kpress(META.."F1", "ioncore.exec_on(_, XTERM or ’xterm’)"),
— exec kpress(META.."F2", "mod_query.query_exec(_)"),
— nouveau bureau kpress(META.."F3", "mod_query.query_workspace(_)"),
— menu général ion3 kpress(META.."F12", "mod_query.query_menu(_, _sub, ’mainmenu’, ’Main menu :’)") )
defbindings("WScreen",
— Aller à l’écran physique précédent/suivant kpress(META.."twosuperior", "ioncore.goto_prev_screen()"), kpress(META.."Next", "ioncore.goto_next_screen()"),
— aller au nième écran physique (attention, inversion pour 2e écran à gauche) kpress(META.."Shift+2", "ioncore.goto_nth_screen(0)"), kpress(META.."Shift+1", "ioncore.goto_nth_screen(1)"),
— Aller au cadre suivant/précédent kpress(META.."Right", "ioncore.goto_next(_chld, ’right’)", "_chld :non-nil"), kpress(META.."Left", "ioncore.goto_next(_chld, ’left’)", "_chld :non-nil"),
— Aller au bureau suivant/précédent kpress(META.."Page_Down", "WScreen.switch_next(_)"), kpress(META.."Page_Up", "WScreen.switch_prev(_)") )
defbindings("WTiling", — Aller au cadre supérieur/inférieur kpress(META.."Up", "ioncore.goto_next(_sub, ’up’, no_ascend=_)"), kpress(META.."Down", "ioncore.goto_next(_sub, ’down’, no_ascend=_)") )
defbindings("WFrame", — Aller à la fenetre suivante dans le cadre kpress(META.."Tab", "_ :switch_next()") )