GNU/Linux >> Linux Esercitazione >  >> Linux

i3wm:più di 10 aree di lavoro con doppio tasto modificatore?

i3 in realtà non supporta sequenze di tasti come vim . Qualsiasi associazione di tasti è costituita da una singola chiave preceduta da un elenco facoltativo di distinti (quindi nessun Shift+Shift ) modificatori. E tutti i modificatori devono essere premuti nel momento in cui viene premuto il tasto principale.

Detto questo, ci sono due modi principali per avere molti spazi di lavoro senza doverli legare a lunghi elenchi di modificatori:

1. Crea e accedi dinamicamente alle aree di lavoro con programmi esterni

Non è necessario definire una scorciatoia per ogni singolo spazio di lavoro, puoi semplicemente crearli al volo inviando un workspace NEW_WS a i3 , ad esempio con il i3-msg programma:

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

i3 viene fornito anche con il i3-input comando, che apre un piccolo campo di input quindi esegue un comando con l'input dato come parametro

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

Associa questi due comandi alle scorciatoie e puoi accedere a un numero arbitrario di aree di lavoro semplicemente premendo la scorciatoia e quindi inserendo il nome (o il numero) dell'area di lavoro che desideri. (Se lavori solo con aree di lavoro numerate, potresti voler utilizzare workspace number %s invece di solo workspace %s )

2. Associa staticamente gli spazi di lavoro a semplici scorciatoie all'interno delle modalità di associazione dei tasti

In alternativa, per un approccio più statico, puoi utilizzare le modalità nel tuo i3 configurazione. Potresti avere modalità separate per mettere a fuoco e spostarti nelle aree di lavoro:

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

Oppure potresti avere associazioni separate per la messa a fuoco e lo spostamento all'interno di un'unica modalità:

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

In entrambi gli esempi il workspace o move i comandi sono concatenati con mode "default" , in modo che i3 ritorna automaticamente alla mappa di binding dei tasti predefinita dopo ogni comando.


La mia soluzione a questo è semplicemente usare più chiavi:

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. Monitoraggio della sicurezza in Linux con Tripwire

  2. SSH – Generazione e utilizzo di chiavi ssh

  3. Visualizzazione di tutti i file ".sh" con dimensioni superiori a 5kb?

  4. La macchina virtuale con sistema operativo CentOS 5 a 32 bit non indirizza la memoria fisica superiore a 3 GB

  5. Sconcertato da un semplice throughput di legame, non può ottenere più di un concerto

Gestisci graficamente le chiavi SSH con Seahorse

Linux more Comando spiegato con esempi

Come utilizzare una chiave SSH con utenti non root

Zorin OS 15 più bello e utile che mai

Perché alcune persone pensano che gli account di macchine Linux con password siano più sicuri degli account senza password?

Genera una coppia SSH con AES-256-CBC