GNU/Linux >> Znalost Linux >  >> Ubuntu

Přepnout rozložení klávesnice pomocí I3?

Mám na svém Ubuntu 16.04 nainstalovanou čerstvou verzi i3 4.11 (2015-09-30, větev „4.11“).
Ve skutečnosti potřebuji použít 3 různá rozložení klávesnice, například en , fr a ru s možností mezi nimi přepínat pomocí nějaké klávesové zkratky.

Vyzkoušel jsem několik metod, ale žádná nebyla zcela uspokojivá:

  • Pomocí ibus-daemon téměř funguje, ale nemohu použít žádné zkratky pro změnu rozvržení.
  • Moje aktuální nastavení je konfigurace setxkbmap když spustím i3 :

    exec --no-startup-id "setxkbmap -model pc105 -layout fr,us,ru -option grp:alt_shift_toggle"
    

Mohu tedy přepínat mezi svými rozvrženími, ale někdy nemám ponětí, které rozvržení skutečně používám, protože v tomto nastavení pro to není žádná ikona.

Na závěr mé potřeby jsou:

  • Budete moci přepínat rozvržení stisknutím některých klávesových zkratek.

  • Některé indikace (nejlépe ikona na hlavním panelu) pro rozvržení, které skutečně používám.

Dá se s tím nějak pracovat? Nebo možná existuje nějaký plugin i3, který to skutečně dělá? Nějaký třetí software?

Přijatá odpověď:

Můžete to udělat pomocí xkblayout-state a i3blocks

Pro xkblayout-state :

Předpokládám, že máte git .

~$ git clone https://github.com/nonpop/xkblayout-state.git
~$ cd xkblayout-state
~$ make

Nyní zkopírujte zkompilovaný xkblayout-state někde ve vaší PATH , například:

~$ `cp xkblayout-state /usr/local/bin/`

Nyní k i3blocks :

sudo apt-get install i3blocks
cp /etc/i3blocks.conf ~/.i3blocks.conf

Ve vašem i3 konfigurační soubor (~/.config/i3/config) nahraďte i3status s i3blocks ,

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
        status_command i3blocks
        tray_output primary                                               
}
# in case of layout change event - send signal to i3blocks
bindsym ISO_Next_Group exec pkill -RTMIN+1 i3blocks

A restartujte i3wm (mod+shift+R), nyní byste měli vidět, že i3blocks se objevil.

Otevřete svůj ~/.i3blocks.conf a někam přidejte (například přímo nad sekci [VOLUME]):

#Language indicator
[language]
#label=LNG
command=xkblayout-state print %s | awk '{print toupper($0)}'
interval=once
signal=1

Znovu restartujte i3wm (mod+shift+R) a ve stavovém řádku byste měli vidět přepínání národních prostředí.

Podívejte se na xkblayout-state --help , existuje mnoho možností pro různé výstupy.


Ubuntu
  1. Alps Touchpad na Dell Inspiron I15rn-3647bk s Ubuntu 11.10 X64?

  2. Klávesy Ctrl a Alt jsou z nějakého důvodu namapovány na Shift?

  3. Touchpad Elan nefunguje na Lenovo Ideapad s Ubuntu 16.04?

  1. Samostatné klávesové zkratky pro přepínání mezi rozložením klávesnice?

  2. Problémy s nefunkční klávesnicí při spouštění?

  3. Apt – Jak nainstalovat doporučené balíčky po instalaci pomocí přepínače –no-install-recommends?

  1. Jak nakonfigurovat zkratky pro přepnutí na konkrétní rozložení klávesnice v Ubuntu 14?

  2. Barvy s unixovými příkazovými hodinkami?

  3. Událostí řízený model v C se zásuvkami