Just wanted to touch on media keys. I've recently discovered playerctl and that media players expose standard dbus interface for playerctl to use.
In (bare) i3 I bind XF86AudioPlay to "exec playerctl play-pause" (etc.) and it seems to "just work", with spotify client, youtube, youtube music (both in firefox)