i3 comes perfectly usable out of the box, but If there’s one thing you should have learned by now, I like customizing everything. By default, i3 comes with basic tools to facilitate a tiling WM workflow. That being said, there are some programs that are must haves in my opinion, that don’t come with i3.

# Polybar⌗

i3 comes with i3bar installed and enabled by defult. i3bar is a perfectly fine status bar, and if you’re interested in using it, I recommend checking out Luke Smith’s overview of his i3bar setup. However, I prefer polybar, mostly for aesthetic reasons.

## Configuring polybar⌗

Configuring polybar is pretty straightforward. By default, there a config file located at ~/.config/polybar/config. The name of the default bar is example. Simply run polybar example to start the bar. I recomend starting the bar from a terminal so you can see any errors polybar may throw at you. These errors will mostly warn you about misconfigurations in your config file, missing fonts, and the like.

To get started with your custom config, I recommend looking at reddit, and the Arco Linux dotfiles for interesting modules. The creator of polybar also has some slick looking themes on his repo. Basically, you can copy the modules from any polybar config, and edit the specifics to suite your needs.

For example, here is my configuration for the download speed module, seen in the top right of my statusbar.

[module/networkspeeddown]
;https://github.com/jaagr/polybar/wiki/Module:-network
type = internal/network
interface = wlp3s0
;interface = enp14s0
;interface = enp0s31f6
;interface = enp4s0
label-connected = "%downspeed:7%"
format-connected = <label-connected>
format-connected-prefix = ""
format-connected-prefix-foreground = ${colors.foreground-alt} format-connected-foreground =${colors.foreground}
format-connected-background = ${colors.background} ;format-connected-underline = #62FF00  This module is a stock polybar module, but it won’t work if you don’t uncomment the correct interface for your system! I use the following lines to import my colorscheme to polybar. [colors] background =${xrdb:color0:#222}
background-alt = ${xrdb:color3:#222} foreground =${xrdb:color7:#222}
foreground-alt = ${xrdb:color2:#555} highlight =${xrdb:color2:#f00}
urgent = #f00


I have this section to enable a system tray, for programs that use it. Nextcloud, Steam, etc.

tray-detached = false
tray-position = right
tray-offset-x = 0
tray-offset-y = 0
tray-maxsize = 16