GNU/Linux >> Tutoriels Linux >  >> Linux

i3wm :plus de 10 espaces de travail avec double touche de modification ?

i3 ne supporte pas vraiment les séquences de touches comme vim . Toute liaison de clé consiste en une clé unique précédée d'une liste facultative de distincts (donc pas de Shift+Shift ) modificateurs. Et tous les modificateurs doivent être enfoncés au moment où la touche principale est enfoncée.

Cela étant dit, il existe deux façons principales d'avoir beaucoup d'espaces de travail sans avoir à les lier à de longues listes de modificateurs :

1. Créez et accédez dynamiquement à des espaces de travail avec des programmes externes

Vous pouvez ne pas avoir à définir un raccourci pour chaque espace de travail, vous pouvez simplement les créer à la volée en envoyant un workspace NEW_WS à i3 , par exemple avec le i3-msg programme :

i3-msg workspace NEW_WS
i3-msg move container to workspace NEW_WS

i3 vient aussi avec le i3-input commande, qui ouvre un petit champ de saisie puis exécute une commande avec l'entrée donnée comme paramètre

i3-input -F 'workspace %s' -P 'go to workspace: '
i3-input -F 'move container to workspace %s' -P 'move to workspace: '

Liez ces deux commandes à des raccourcis et vous pouvez accéder à un nombre arbitraire d'espaces de travail en appuyant simplement sur le raccourci, puis en entrant le nom (ou le numéro) de l'espace de travail souhaité. (Si vous ne travaillez qu'avec des espaces de travail numérotés, vous pouvez utiliser workspace number %s au lieu de simplement workspace %s )

2. Liez statiquement les espaces de travail à de simples raccourcis dans les modes de liaison de touches

Alternativement, pour une approche plus statique, vous pouvez utiliser des modes dans votre i3 configuration. Vous pouvez avoir des modes distincts pour la mise au point et le déplacement vers les espaces de travail :

set $mode_workspace "goto_ws"
mode $mode_workspace {
    bindsym 1 workspace 1; mode "default"
    bindsym 2 workspace 2; mode "default"
    # […]
    bindsym a workspace a; mode "default"
    bindsym b workspace b; mode "default"
    # […]
    bindsym Escape mode "default"
}
bindsym $mod+w mode $mode_workspace

set $mode_move_to_workspace "moveto_ws"
mode $mode_move_to_workspace {
    bindsym 1 move container to workspace 1; mode "default"
    bindsym 2 move container to workspace 2; mode "default"
    # […]
    bindsym a move container to workspace a; mode "default"
    bindsym b move container to workspace b; mode "default"
    # […]
    bindsym Escape mode "default"
}
bindsym $mod+shift+w mode $mode_move_to_workspace

Ou vous pourriez avoir des liaisons distinctes pour la mise au point et le déplacement dans un seul mode :

set $mode_ws "workspaces"
mode $mode_ws {
    bindsym 1 workspace 1; mode "default"
    bindsym Shift+1 move container to workspace 1; mode "default"
    bindsym 2 workspace 2; mode "default"
    bindsym Shift+2 move container to workspace 2; mode "default"
    # […]
    bindsym a workspace a; mode "default"
    bindsym Shift+a move container to workspace a; mode "default"
    bindsym b workspace b; mode "default"
    bindsym Shift+b move container to workspace b; mode "default"
    # […]
    bindsym Escape mode "default"
}
bindsym $mod+shift+w mode $mode_move_to_workspace

Dans les deux exemples, le workspace ou move les commandes sont chaînées avec mode "default" , de sorte que i3 revient automatiquement à la carte de liaison de clé par défaut après chaque commande.


Ma solution consiste simplement à utiliser plus de clés :

set $ws0 "0:`:www"
set $ws1 "1:1"
set $ws2 "2:2"
set $ws3 "3:3:fm"
set $ws4 "4:4"
set $ws5 "5:5"
set $ws6 "6:6:dev"
set $ws7 "7:7"
set $ws8 "8:8"
set $ws9 "9:9"
set $ws10 "10:0:music"
set $ws11 "11:-:jd"
set $ws12 "12:=:comm"
set $ws13 "13:B"
set $ws14 "14:H"
set $ws15 "15:E"
set $ws16 "16:I"
set $ws17 "17:D:upwork"


bindsym $mod+grave workspace $ws0
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
bindsym $mod+minus workspace $ws11
bindsym $mod+equal workspace $ws12
bindsym $mod+BackSpace workspace $ws13
bindsym $mod+Home workspace $ws14
bindsym $mod+End workspace $ws15
bindsym $mod+Insert workspace $ws16
bindsym $mod+Delete workspace $ws17

for_window [class="Upwork"] move container to workspace $ws17
for_window [class="Spotify"] move container to workspace $ws10
for_window [class="Brave-browser"] move container to workspace $ws0
for_window [class="TelegramDesktop"] move container to workspace $ws12
for_window [class="jetbrains-pycharm"] move container to workspace $ws6
for_window [class="Caja"] move container to workspace $ws3
for_window [class="JDownloader"] move container to workspace $ws11

Linux
  1. SSH - Générer et travailler avec des clés ssh

  2. Cartographier la combinaison de touches avec Xmodmap ?

  3. Afficher tous les fichiers ".sh" d'une taille supérieure à 5 ko ?

  4. La machine virtuelle avec le système d'exploitation CentOS 5 32 bits n'adresse pas plus de 3 Go de mémoire physique

  5. Comment gérer plus de 10 paramètres dans le shell

Gérez graphiquement les clés SSH avec Seahorse

Commande Linux plus expliquée avec des exemples

Comment utiliser une clé SSH avec des utilisateurs non root

Zorin OS 15 plus beau et utile que jamais

Pourquoi certaines personnes pensent-elles que les comptes de machines Linux avec mots de passe sont plus sécurisés que les comptes sans mot de passe ?

Déconcerté par un simple débit de liaison, ne peut pas obtenir plus d'un Gig