GNU/Linux >> Znalost Linux >  >> Linux

i3wm:více než 10 pracovních ploch s dvojitou modifikační klávesou?

i3 ve skutečnosti nepodporuje klíčové sekvence jako vim . Jakákoli klíčová vazba se skládá z jednoho klíče, kterému předchází volitelný seznam odlišných (takže žádné Shift+Shift ) modifikátory. A všechny modifikátory musí být stisknuty v okamžiku, kdy je stisknuta hlavní klávesa.

Jak již bylo řečeno, existují dva hlavní způsoby, jak mít mnoho pracovních ploch, aniž byste je museli vázat na dlouhé seznamy modifikátorů:

1. Dynamicky vytvářejte pracovní prostory a přistupujte k nim pomocí externích programů

Nemusíte definovat zástupce pro každý jednotlivý pracovní prostor, můžete je jednoduše vytvořit za běhu odesláním workspace NEW_WS na i3 , například s i3-msg program:

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

i3 také přichází s i3-input příkaz, který otevře malé vstupní pole a poté spustí příkaz s daným vstupem jako parametrem

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

Spojte tyto dva příkazy se zkratkami a získáte přístup k libovolnému počtu pracovních ploch pouhým stisknutím klávesové zkratky a zadáním názvu (nebo čísla) požadovaného pracovního prostoru. (Pokud pracujete pouze s číslovanými pracovními prostory, možná budete chtít použít workspace number %s místo pouze workspace %s )

2. Staticky svázat pracovní prostory s jednoduchými zkratkami v rámci režimů vázání kláves

Alternativně můžete pro statičtější přístup použít režimy v i3 konfigurace. Můžete mít samostatné režimy pro ostření a přesun do pracovních prostorů:

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

Nebo můžete mít samostatné vazby pro ostření a pohyb v rámci jednoho režimu:

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

V obou příkladech workspace nebo move příkazy jsou zřetězeny mode "default" , takže i3 se po každém příkazu automaticky vrátí zpět k výchozí mapě vázání kláves.


Moje řešení je pouze pomocí více kláves:

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 na jiný port než 22:Jak na to (s příklady)

  2. Jak vygenerovat pár klíčů SSH (s příklady)

  3. SSH – Generování a práce s ssh klíči

  1. Začínáme s SSH v Linuxu

  2. Virtuální počítač s 32bitovým OS CentOS 5 neřeší fyzickou paměť větší než 3 GB

  3. Zmatený s jednoduchou propustností dluhopisů nelze získat více než koncert

  1. Kombinace mapovacích klíčů s Xmodmap?

  2. Zobrazují se všechny soubory „.sh“ o velikosti větší než 5 kb?

  3. Vygenerujte pár SSH pomocí AES-256-CBC