SwBr git · main
SwBr - status bar for sway
C 95.9% Markdown 3.7%git clone https://git.christianimmanuel.de/sway/SwBr.gitwget https://git.christianimmanuel.de/sway/SwBr/archive/SwBr.tar.gzconfig.example raw
# swbr config — ~/.config/swbr/config
#
# The short one: each thing swbr can do, once, with nothing clever.
# config.advanced.example is the full version.
#
# key=value, '#' after a space starts a comment. Every key also works on the
# command line: swbr position=bottom height=32
# --- the bar itself ---------------------------------------------------------
position=top # top | bottom
height=0 # 0 = from the text size
exclusive=0 # 0 = float over the windows, 1 = reserve the space
min_width=0 # 0 = the full width of the output
radius=10
# outputs= # empty = every monitor
# --- colours ----------------------------------------------------------------
# Or set them once for swov and swas too, in ~/.config/sw/config
bg=0d1117e6
text=e1eeff
dim=5a6b7a
accent=89afc4
hl=cb9b00
urgent=e0533c
refresh=0.25 # how often the bar may redraw, in seconds. Cell updates
# inside one window are merged into a single frame; 1 is
# fine for a bar of clocks and gauges. Animations and
# hovers ignore it
# --- workspaces -------------------------------------------------------------
ws_names=1 # 1 = names, 0 = numbers only
ws_other=1 # also the workspaces of your other monitors, as short pills
ws_cpu=1 # a column of dots: how busy each workspace is, in cores
ws_border=0 # 1 = a thin outline around every button. 0 = none, just
# the gap between them
ws_slots=10 # always show the numbers 1..10, open or not; a free one
# is faint and clicking it opens that workspace. 0 = only
# the ones that are open. The folded strip follows this
ws_empty_alpha=35 # how visible a free number is, percent
# --- folding ----------------------------------------------------------------
hide_key=space # hover the bar and press this to fold it to a thin strip
collapsed_px=5
slim_align=1 # folded, each mark keeps its cell's place and width
slim_ws_slots=10 # only with slim_align=0: slots in the packed strip
slim_bar_segs=10 # folded gauges are split into ten blocks, so four lit
# blocks reads as forty percent. 0 = one solid bar
slim_bar_gap=2 # px between those blocks
slim_bar_pad=3 # px either side of a folded gauge, so it does not sit
# flush against its neighbours
slim_ws_w=0 # folded slot width in px. 0 = each slot copies its own
# button in the open bar, so nothing moves or resizes
# --- a plain cell: a command, every few seconds ------------------------------
cell=clock
clock.cmd=date '+%H:%M %a %d.%m'
clock.interval=5
clock.slim=clock # folded: twelve bars, lit up to the hour
clock.hover_cal=1 # click it for this month, with today marked
clock.hover_click=1
# --- a cell swbr fills in itself --------------------------------------------
cell=battery
battery.source=battery # 83+ filling, 83- draining; reads /sys, spawns nothing
battery.interval=10
battery.slim=bar
battery.warn=<30:cecb00
battery.crit=<12:ff2222
battery.hover=%w %h %e # click it: 21.5W 1.7h left
battery.hover_click=1
# it can shout, too. Each level fires once on the way down and rearms when
# the charge comes back or the cable goes in
battery.alert=30,20,10,5,1
battery.alert_msg=BATTERY %c%%
battery.alert_tone=250 # Hz, 0 for silence. The last levels beep longer
battery.alert_gain=35 # loudness of the tone, percent of full scale
battery.alert_play=aplay -q -f cd -
# battery.alert_vol_min=50 # if the mixer is lower, raise it for the tone only
# # and put it back. 0 = leave the mixer alone
# battery.alert_cmd=[ %c -le 1 ] && poweroff # only runs AT a level, so 1
# has to be in the list. Needs root for poweroff
# --- music, if cmus is running ----------------------------------------------
cell=music
music.source=cmus # runs cmus-remote itself; playing vs paused is a fact
music.slim=media
music.min_w=180
# --- a program and the workspaces it is on ----------------------------------
cell=mpv
mpv.source=window
mpv.program=mpv # prints mpv [3|5]
mpv.slim=presence
# --- where everything goes --------------------------------------------------
# || splits left / center / right, ',' separates, (a,b) glues two together.
# Keep this last.
bar={workspaces||music,mpv,clock,battery}