Crear modo para atajos rápidos en i3
A continuación explicaré como crear un modo en i3 que permita crear atajos rápidos para ejecutar programas con solo una tecla, sin embargo, si no quieres personalizar tanto i3 (además de no arriesgarte a caer en la demencia) dejé al final una explicación rápida para crear atajos sin necesidad de un modo. En el archivo .config/i3/config hay que agregar algo, más o menos, así:
mode "atajos" {
bindsym e exec emacs
bindsym g exec gimp
bindsym f exec firefox
bindsym $mod+c mode "default"
}
bindsym $mod+c mode "atajos"
Para hacer esto me inspiré en el modo “resize” que está también en el mismo archivo. El formato de las líneas es el siguiente:
- bindsym: indica que se señalará una(s) tecla(s) que ejecutarán un(os) comando(s).
- [tecla(s)]: cualquier tecla... en caso de querer referirse a Alt (o Super, si es la que se usa), indicar con $mod.
- comando: en el ejemplo usé exec + programa. Se pueden usar otros comandos (ver en el mismo config. Ej: workspace, move, restart, etc.). en caso de querer ejecutar más de un programa, separar con punto y coma, ej:
bindsym a exec killall firefox; exec emacs
, el efecto de esto sería que, al presionar a, dentro del modo “atajos”, se cerraría firefox y se abriría emacs.
Finalmente, y lo señalo aparte, la orden bindsym $mod+c mode "default"
, que está dentro de “atajos”; y, `bindsym $mod+c mode “atajos”, que está fuera, son respectivamente para salir y entrar del modo.
No hay límite para la cantidad de modos que se puedan crear, ni tampoco para los atajos (que no necesariamente tienen que ser de sólo una tecla). Las posibilidades son prácticamente infinitas¹.
¹ no, no son infinitas, pero son muchas. Muchísimas.
Bonus Track! Comparto mi modo de atajos, seguido de una imagen que muestra los programas que ejecuto con cada tecla.
mode "atajos" {
# fast-switch to workspace
bindsym 1 workspace $ws1
bindsym 2 workspace $ws2
bindsym 3 workspace $ws3
bindsym 4 workspace $ws4
bindsym 5 workspace $ws5
bindsym 6 workspace $ws6
bindsym 7 workspace $ws7
bindsym 8 workspace $ws8
bindsym 9 workspace $ws9
bindsym 10 workspace $ws10
# workspace 1
bindsym q exec emacs
# workspace 2
bindsym w workspace $ws2; exec Telegram
bindsym x exec "killall Telegram"
#workspace 3
bindsym e exec firefox
# workspace 4
bindsym r exec i3-sensible-terminal
bindsym f exec pavucontrol
# workspace 5
bindsym t exec audacity
bindsym g exec gimp
bindsym b exec inkscape
#workspace 6
bindsym y exec loffice
bindsym h exec xpdf
bindsym n exec firefox --private-window
# workspace 7
bindsym u exec mcomic
# workspace 8
bindsym i exec vlc
#workspace 9
#bindsym o exec
#bindsym l exec
#bindsym . exec
# workspace 10
#bindsym p exec
#bindsym ñ exec
#bindsym - exec
# back to normal: Enter or Escape or $mod+c
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+c mode "default"
}
bindsym $mod+c mode "c57"
No! un modo es demasiado para mí
Propuesta para usuarios que no quieran jugar i3 en nightmare, agregar atajos con las teclas F. Agregar en .config/i3/config lo siguiente
bindsym $mod+F1 exec emacs
bindsym $mod+F2 exec pavucontrol
bindsym $mod+F3 exec firefox
bindsym $mod+F4 exec vlc
bindsym $mod+F5 exec audacity
bindsym $mod+F6 exec gimp
bindsym $mod+F7 exec loffice