istat 0.2.0

A lightweight and batteries-included status_command for i3 and sway
Documentation
# i3 config file (v4)
font pango:IosevkaTerm Nerd Font 12
client.focused          #81a1c1 #5e81ac #d8dee9 #8fbcbb   #81a1c1
client.focused_inactive #4c566a #434c5e #d8dee9 #4c566a   #4c566a
client.unfocused        #3b4252 #2e3440 #7a869f #3b4252   #3b4252
client.urgent           #d24b59 #bf616a #2e3440 #d24b59   #d24b59
client.placeholder      #000000 #3b4252 #d8dee9 #000000   #4c566a
client.background       #2e3440

# keybindings
bindsym w kill
bindsym q exit
bindsym i exec sh -c 'env | grep -i i3 >&2'

# signals
bindsym 1  exec --no-startup-id pkill -RTMIN+1 istat
bindsym 2  exec --no-startup-id pkill -RTMIN+2 istat
bindsym 3  exec --no-startup-id pkill -RTMIN+3 istat
bindsym 4  exec --no-startup-id pkill -RTMIN+4 istat
bindsym 5  exec --no-startup-id pkill -RTMIN+5 istat
bindsym 6  exec --no-startup-id pkill -RTMIN+6 istat
bindsym 7  exec --no-startup-id pkill -RTMIN+7 istat
bindsym 8  exec --no-startup-id pkill -RTMIN+8 istat
bindsym 9  exec --no-startup-id pkill -RTMIN+9 istat

# custom ipc
bindsym bracketleft        exec istat-ipc --socket /tmp/istat-socket.dev custom pulse volume-down sink
bindsym bracketright       exec istat-ipc --socket /tmp/istat-socket.dev custom pulse volume-up   sink
bindsym backslash          exec istat-ipc --socket /tmp/istat-socket.dev custom pulse mute-toggle sink
bindsym shift+bracketleft  exec istat-ipc --socket /tmp/istat-socket.dev custom pulse volume-down source
bindsym shift+bracketright exec istat-ipc --socket /tmp/istat-socket.dev custom pulse volume-up   source
bindsym shift+backslash    exec istat-ipc --socket /tmp/istat-socket.dev custom pulse mute-toggle source

# click events
bindsym a                  exec istat-ipc --socket /tmp/istat-socket.dev click  pulse scroll_down
bindsym s                  exec istat-ipc --socket /tmp/istat-socket.dev click  pulse scroll_up
bindsym d                  exec istat-ipc --socket /tmp/istat-socket.dev click  pulse middle
bindsym shift+a            exec istat-ipc --socket /tmp/istat-socket.dev click  pulse scroll_down -m shift
bindsym shift+s            exec istat-ipc --socket /tmp/istat-socket.dev click  pulse scroll_up   -m shift
bindsym shift+d            exec istat-ipc --socket /tmp/istat-socket.dev click  pulse middle      -m shift

# long mode to trigger short bar
set $mode xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
mode "$mode" {
  bindsym space mode "default"
}
bindsym space mode "$mode"

# bar configurations
set $bar_font pango:IosevkaTerm Nerd Font 12
bar {
        font $bar_font
        position top
        tray_output primary
        status_command RUST_LOG=istat=trace ./target/debug/istat --config ./sample_config.toml --socket /tmp/istat-socket.dev
        colors {
                background #2e3440
                statusline #d8dee9
                separator  #4c566a
                focused_workspace  #81a1c1 #5e81ac #d8dee9
                active_workspace   #4c566a #434c5e #d8dee9
                inactive_workspace #3b4252 #2e3440 #7a869f
                urgent_workspace   #d24b59 #bf616a #2e3440
                binding_mode       #c67bb9 #b48ead #2e3440
        }
}
# a second bar to make sure everything is working
bar {
        font $bar_font
        position bottom
        tray_output primary
        status_command RUST_LOG=istat=trace ./target/debug/istat --config ./sample_config.toml --socket /tmp/istat-socket-2.dev
}