Ho una nuova versione i3 4.11 (2015-09-30, ramo “4.11”) installata su Ubuntu 16.04.
In realtà ho bisogno di usare 3 diversi layout di tastiera, ad esempio en
, fr
e ru
con la possibilità di passare da uno all'altro utilizzando alcune scorciatoie da tastiera.
Ho provato alcuni metodi ma nessuno dei due è stato completamente soddisfacente:
- Utilizzo di
ibus-daemon
funziona quasi ma non posso usare scorciatoie per cambiare layout. -
La mia configurazione attuale sta configurando
setxkbmap
quando avvioi3
:exec --no-startup-id "setxkbmap -model pc105 -layout fr,us,ru -option grp:alt_shift_toggle"
Quindi posso passare da un layout all'altro, ma a volte non ho idea di quale layout stia effettivamente utilizzando perché in questa configurazione non è presente alcuna icona nella barra delle applicazioni.
Per concludere le mie esigenze sono:
-
Essere in grado di cambiare layout premendo alcuni tasti di scelta rapida.
-
Alcune indicazioni (preferibilmente, l'icona nella barra delle applicazioni) per il layout attualmente in uso.
C'è qualche soluzione a riguardo? O forse c'è qualche plug-in i3 che fa effettivamente il lavoro? Qualche terzo software?
Risposta accettata:
Puoi farlo con xkblayout-state
e i3blocks
Per xkblayout-state
:
Presumo che tu abbia git
.
~$ git clone https://github.com/nonpop/xkblayout-state.git
~$ cd xkblayout-state
~$ make
Ora copia xkblayout-state
compilato da qualche parte nel tuo PATH
, ad esempio:
~$ `cp xkblayout-state /usr/local/bin/`
Ora per i3blocks
:
sudo apt-get install i3blocks
cp /etc/i3blocks.conf ~/.i3blocks.conf
Nel tuo i3
config (~/.config/i3/config) sostituisce i3status
con 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
E riavvia i3wm
(mod+shift+R), ora dovresti vedere che i3blocks
apparso.
Apri il tuo ~/.i3blocks.conf
e aggiungi da qualche parte (ad esempio, proprio sopra la sezione [VOLUME]):
#Language indicator
[language]
#label=LNG
command=xkblayout-state print %s | awk '{print toupper($0)}'
interval=once
signal=1
Di nuovo, riavvia i3wm (mod+shift+R) e dovresti vedere le tue impostazioni locali nella barra di stato, cambiando.
Dai un'occhiata a xkblayout-state --help
, ci sono molte opzioni per output diversi.