dotfiles/dot_config/yambar/config.yml.tmpl

283 lines
10 KiB
Cheetah

# Colors
.everforest:
0: &foreground d8caacff
1: &background 323d43dd
2: &black 4a555bff
3: &dark_grey 525c62ff
4: &dark_red e26c6eff
5: &red e68183ff
6: &dark_green 9bb86fff
7: &green a7c080ff
8: &dark_yellow d5b26bff
9: &yellow dbbc7fff
10: &dark_blue 6eb2a9ff
11: &blue 7fbbb3ff
12: &dark_magenta cf87a9ff
13: &magenta d699b6ff
14: &dark_cyan 72b783ff
15: &cyan 83c092ff
16: &light_grey d0bf9bff
17: &white d8caacff
transparent_light_grey: &transparent_light_grey d0bf9baa
transparent_black: &transparent_black 4a555baa
# Fonts
{{- if eq .chezmoi.hostname "helix" }}
hack: &hack Hack:pixelsize=28
awesome: &awesome Font Awesome 6 Free:style=solid:pixelsize=28
{{- else}}
hack: &hack Hack:pixelsize=13
awesome: &awesome Font Awesome 6 Free:style=solid:pixelsize=12
{{- end }}
# Labels
separator: &separator {string: {text: " ", font: *hack, foreground: *light_grey}}
bar:
{{- if eq .chezmoi.hostname "helix" }}
height: 64
location: top
{{- else if eq .chezmoi.hostname "hydrus" }}
monitor: DP-1
height: 28
location: bottom
{{- else }}
height: 36
location: top
{{- end }}
layer: top
spacing: 2
margin: 2
font: *hack
foreground: *foreground
background: *background
border:
{{- if eq .chezmoi.hostname "hydrus" }}
bottom-margin: 4
left-margin: 8
right-margin: 8
{{- else }}
top-margin: 8
left-margin: 16
right-margin: 16
{{- end }}
width: 0
color: *transparent_light_grey
left:
- river:
anchors:
- base: &river_base
{{- if eq .chezmoi.hostname "helix" }}
left-margin: 56
right-margin: 56
{{- else }}
left-margin: 22
right-margin: 22
{{- end }}
text: "{id}"
content:
map:
on-click:
left: sh -c "riverctl set-focused-tags $((1 << ({id} - 1)))"
middle: sh -c "riverctl toggle-view-tags $((1 << ({id} -1)))"
right: sh -c "riverctl toggle-focused-tags $((1 << ({id} -1)))"
{{- if eq .chezmoi.hostname "helix" }}
conditions:
urgent:
string:
<<: *river_base
deco: {stack: [{background: {color: *dark_red}}, {border: {size: 6, color: *black}}]}
foreground: *black
focused:
string:
<<: *river_base
deco: {stack: [{background: {color: *light_grey}}, {underline: {size: 6, color: *transparent_black}}]}
foreground: *dark_grey
visible && occupied:
string:
<<: *river_base
deco: {stack: [{background: {color: *transparent_light_grey}}, {underline: {size: 6, color: *transparent_black}}]}
foreground: *light_grey
visible && ~occupied:
string:
<<: *river_base
deco: {stack: [{background: {color: *transparent_light_grey}}, {underline: {size: 6, color: *transparent_black}}]}
foreground: *light_grey
~visible && occupied:
string:
<<: *river_base
deco: {stack: [{background: {color: *dark_grey}}, {underline: {size: 6, color: *transparent_light_grey}}]}
foreground: *light_grey
~focused && occupied:
string:
<<: *river_base
deco: {stack: [{background: {color: *dark_grey}}, {underline: {size: 6, color: *transparent_light_grey}}]}
foreground: *light_grey
id < 10 && ~visible && ~occupied:
string:
<<: *river_base
foreground: *light_grey
id >= 10 && ~visible && ~occupied: {empty: {}}
{{- else }}
conditions:
urgent:
string:
<<: *river_base
deco: {stack: [{background: {color: *dark_red}}, {border: {size: 2, color: *black}}]}
foreground: *black
focused:
string:
<<: *river_base
deco: {stack: [{background: {color: *light_grey}}, {underline: {size: 1, color: *transparent_black}}]}
foreground: *dark_grey
visible && occupied:
string:
<<: *river_base
deco: {stack: [{background: {color: *transparent_light_grey}}, {underline: {size: 1, color: *transparent_black}}]}
foreground: *light_grey
visible && ~occupied:
string:
<<: *river_base
deco: {stack: [{background: {color: *transparent_light_grey}}, {underline: {size: 1, color: *transparent_black}}]}
foreground: *light_grey
~visible && occupied:
string:
<<: *river_base
deco: {stack: [{background: {color: *dark_grey}}, {underline: {size: 1, color: *transparent_light_grey}}]}
foreground: *light_grey
~focused && occupied:
string:
<<: *river_base
deco: {stack: [{background: {color: *dark_grey}}, {underline: {size: 1, color: *transparent_light_grey}}]}
foreground: *light_grey
id < 10 && ~visible && ~occupied:
string:
<<: *river_base
deco: {underline: {size: 1, color: *transparent_light_grey}}
foreground: *light_grey
id >= 10 && ~visible && ~occupied: {empty: {}}
{{ end }}
center:
- foreign-toplevel:
content:
map:
conditions:
activated:
- string: {text: "{app-id}: {title}"}
~activated: {empty: {}}
right:
- pulse:
content:
map:
on-click:
left: sh -c "pactl set-sink-mute @DEFAULT_SINK@ toggle"
wheel-up: sh -c "pactl set-sink-volume @DEFAULT_SINK@ +5%"
wheel-down: sh -c "pactl set-sink-volume @DEFAULT_SINK@ -5%"
conditions:
sink_muted:
- string: {text: , font: *awesome, foreground: *transparent_light_grey}
- string: {text: " {sink_percent}% ({sink_port})", foreground: *transparent_light_grey}
~sink_muted:
- ramp:
tag: sink_percent
items:
- string: {text: , font: *awesome}
- string: {text: , font: *awesome}
- string: {text: , font: *awesome}
- string: {text: " {sink_percent}% ({sink_port})"}
{{- if ne .chezmoi.hostname "hydrus" }}
- label:
content: *separator
- backlight:
name: amdgpu_bl1
content:
- ramp:
tag: percent
items:
- string: {text: , font: *awesome}
- string: {text: , font: *awesome}
- string: {text: " {percent}%"}
- label:
content: *separator
- network:
content:
map:
default: {empty: {}}
conditions:
name >= wlan0 && name <= wlan9:
map:
conditions:
~carrier: {empty: {}}
carrier:
map:
default:
- string: {text: , font: *awesome}
- string: {text: " {name}: {quality}%"}
conditions:
ipv4 == "":
- string: {text: , font: *awesome}
- string: {text: " {name}: {state}"}
- network:
content:
map:
default: {empty: {}}
conditions:
name >= eth0 && name <= eth9:
map:
conditions:
~carrier: {empty: {}}
carrier:
map:
default:
- string: {text: , font: *awesome}
- string: {text: " {name}: {state}"}
conditions:
state == down: {string: {text: , font: *awesome}}
ipv4 == "":
- string: {text: , font: *awesome}
- string: {text: " {name}: {state}"}
- label:
content: *separator
- battery:
name: BAT0
poll-interval: 5000
anchors:
discharging: &discharging
list:
items:
- ramp:
tag: capacity
items:
- string: {text: , foreground: *dark_red, font: *awesome}
- string: {text: , foreground: *dark_yellow, font: *awesome}
- string: {text: , font: *awesome}
- string: {text: , font: *awesome}
- string: {text: , font: *awesome}
- string: {text: " {capacity}% {estimate}"}
content:
map:
conditions:
state == unknown:
<<: *discharging
state == discharging:
<<: *discharging
state == charging:
- string: {text: , font: *awesome}
- string: {text: " {capacity}% {estimate}"}
state == full:
- string: {text: , foreground: *dark_green, font: *awesome}
- string: {text: " {capacity}% full", foreground: *dark_green}
state == "not charging":
- string: {text:  , font: *awesome}
- string: {text: " {capacity}%"}
{{- end }}
- label:
content: *separator
- clock:
date-format: "%a %b %d"
time-format: "%R"
content:
- string: {text: , font: *awesome}
- string: {text: " {date} "}
- string: {text: , font: *awesome}
- string: {text: " {time} "}