i3 / i3status

Generates status bar to use with i3bar, dzen2 or xmobar
BSD 3-Clause "New" or "Revised" License
602 stars 254 forks source link

Update with `killall -USR1 i3status` is not working from `i3/config` #448

Closed DmitryMyadzelets closed 3 years ago

DmitryMyadzelets commented 3 years ago

I change language layouts with setxkbmap as follows:

# ~/.config/i3/config
exec_always "setxkbmap -option ''; setxkbmap -layout us,ru -option 'grp:alt_shift_toggle'"
bindsym alt+shift exec "killall -USR1 i3status"

The current language is prepended in a script using this command:

lang=$(xlayout | grep Layout | cut -d' ' -f3)

The above approach doesn't update the status bar immediately, as expected. It updates it with a default interval, however.

Have to add that switching the language and then executing killall command from the terminal does update the status bar.

Have checked it with versions:

i3 version 4.16.1 (2019-01-27)

i3status 2.12 (2018-05-11)
i3status 2.13 (built from source cloned on 2021-01-23)
Airblader commented 3 years ago

So the issue is that the key binding with killall doesn't work? shift and alt are both modifiers, so that's not a valid binding. Can you try assigning into to a valid binding to see if it works then?

DmitryMyadzelets commented 3 years ago

Can you try assigning into to a valid binding to see if it works then?

Couldn't find why the binding alt+shift is not valid, but the bindsym alt+l exec "killall -USR1 i3status" doesn't work either.

However, $mod+space, for instance, works. Really puzzled now.

DmitryMyadzelets commented 3 years ago

@Airblader, thank you for your time. I see the issue is not related to i3status.