Here are a few bindings in my i3 config file that I find super useful (bear in mind that I use a Kensington Expert Mouse and Button8
is a suitably unusual but still easily clicked button on that trackball, so you may want to change it to something more suitable to your preferred pointing device):
# Clicking the title bar with the upper-right button closes the window (regular default binding, just different button)
bindsym --release button8 kill
# Scrolling over any window title bar controls the volume
bindsym button4 exec pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3bar
bindsym button5 exec pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3bar
[...]
bar {
[...]
# Clicking the empty space in the bottom bar with the upper-right button opens the launcher
bindsym button8 exec "rofi -modi drun,run -show drun"
# Scrolling over the empty space in the bottom bar controls the volume
bindsym button4 exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3bar
bindsym button5 exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3bar
}
I find those bindings useful because unless a window is open fullscreen - which I rarely do personally - then there's always a window title bar at the top and the bar at the bottom.
As a result, when I quickly want to lower the volume - when the missus yells at me in the middle of the night for example ๐ - I can slam the trackball up or down and quickly scroll the volume down.
Similarly, I can move the pointer all the way down and open the launcher with my unusual trackball button, and move all the way back up and close a window by clicking on the appropriate title bar with the same button, so that I don't really have to hit the keyboard most of the time for opening and closing simple stuff.
Anyhow, I thought I'd share.