# Colors .catppuccin_mocha: 0: &foreground cdd6f4ff 1: &background 1e1e2edd 2: &black 45475aff 3: &dark_grey 45475aff 4: &dark_red f38ba8ff 5: &red f38ba8ff 6: &dark_green a6e3a1ff 7: &green a6e3a1ff 8: &dark_yellow f9e2afff 9: &yellow f9e2afff 10: &dark_blue 89b4faff 11: &blue 89b4faff 12: &dark_magenta f5c2e7ff 13: &magenta f5c2e7ff 14: &dark_cyan 94e2d5ff 15: &cyan 94e2d5ff 16: &light_grey bac2deff 17: &white a6adc8ff transparent_light_grey: &transparent_light_grey bac2deaa transparent_black: &transparent_black 45475aaa # .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: 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 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} " }