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ími3
: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.