A status bar written in Go. Currently tested with DWM, i3wm, tmux, and Polybar.
- pulsemixer
- lm_sensors
- bc
- CPU MHz & tempurature
- Date & Time
- Weather via wttr.in
- Total RAM not used
- Total disk space left in the binary's present partition.
- Audio volume percentage (pamixer needs installed)
- Total battery percentage (off by default)
- Icons
- DWM
- i3wm
- tmux
- Polybar
-battery=true
to enable battery block-dateTime=false
to remove the date/time block-dwm=true
to use in DWM's status bar-emoji=true
to enable emoji icons instead of Font Awesome-ram=false
to remove RAM remaining block-storage=false
to remove the home directory storage remaining block-temp=false
to remove the weather block-tray=false
to remove the "system" tray block-volume=false
to remove volume percentage block
- Install Font Awesome 5 (or an emoji font)
- Set FontAwesome as the second font in
dwm/config.h
- eg.
static const char *fonts[] = { "Source Code Pro:size=13", "Font Awesome 5 Free:style=Regular:size=14" };
- if using an emoji font, replace the second font name with the emoji set
- eg.
- Relaunch DWM
- Install Font Awesome 5 (or an emoji font)
- Keep in mind that the icons are currently very small.
- Research in progess.
- Install Font Awesome 5 (or an emoji font)
- Add to your Polybar config:
- If not using Font Awesome search for your emoji set with
fc-list
and replace "Font Awesome 5".
- If not using Font Awesome search for your emoji set with
font-0 = {base font here}
font-1 = "Font Awesome 5 Free:style=Regular:pixelsize=12;1"
font-2 = "Font Awesome 5 Free:style=Solid:pixelsize=12;1"
font-3 = "Font Awesome 5 Brands:pixelsize=12;1"
- Clone repository.
cd
into the directory.- Build the binary.
go build
- Edit your config file to use the new binary.
- If using DWM execute with the
--dwm=true
flag.
- If using DWM execute with the
- If you already have a startup script for DWM just add a new line with the path to this binary.
set -g status-right "#($HOME/PATHTO/tmux-status)"
- If you have colors in this setting add the path at the end of the string
- Be sure to use the correct path and name of the file you built with GO.
- Running
mv breto ~/tmux-status
will allow you to use"($HOME/tmux-status)"
in your config. set -g status-right-length 53
- If you are not using all the custom packages this number can be lower
- This also will vary based on screen size. 53 is the minimum that worked for all current blocks on my montior.
- If you notice the status getting cut off just increase the number and reload tmux.
- In the i3wm confige file, change
status_command ...
tostatus_command PATH/TO/breto
- Add the following module to your Polybar configuration file:
[module/breto]
type = custom/script
exec = /path/to/breto
tail = true
- Add your area to the weather function
- Area Code: 'wttr.in/~00000?format=2'
- City: 'wttr.in/~Paris?format=2'
- More information can be found at wttr.in/:help
- Add tweaks to
blocks/wttr.go
- Add CLI flag for user input for weather location.
MIT