dotfiles-pub/windows/.yasb/config.yaml

154 lines
4.9 KiB
YAML

# Configuration for Yasb (Yet Another Status Bar)
# Author: @denBot
# Last updated: 08/11/2021
# General Bar Configuration Notes:
# - All bars must be defined in within the `bars` section
# - Each bar configuration should be defined using a name, e.g. 'yasb-bar', 'my-awesome-bar', etc.
# - Default bar options can be found at: https://github.com/denBot/yasb/blob/main/src/core/validation/bar.py#L1-L10
# General Widget Configuration Notes:
# - ALL configured widgets must be defined in within the `widgets` section of this config file
# - Each widget configuration should be allocated a unique name, e.g. 'my-widget', 'my-custom-clock', etc.
# > This makes it easier for you to keep track of your configured widgets and add them to your bar(s)
# - Each widget should specify a widget `type` - this points to the python class of the widget you are configuring
# > For example: type: "yasb.clock.ClockWidget"
# - Each widget supports mouse event callback functionality (left, middle, right click).
# > The callbacks "do_nothing" and "exec" can be used across any widget which allows them.
# > "exec" allows you to run programs from the command-line, where each argument is separated by a space
# > "do_nothing" allows you to override default mouse events to do nothing
# > "toggle_label" *some widgets* allow you to toggle between two label formats
# - Example callbacks:
# on_left: "exec wt.exe" -- run the windows terminal when the widget is left-clicked
# on_middle: "do_nothing" -- overrides default widget middle-click behaviour to do nothing
# on_right: "exec cmd /c Taskmg" -- open the task manager when the widget is right-clicked
watch_stylesheet: true
watch_config: true
bars:
yasb-bar:
enabled: true
screens: ['*']
class_name: "yasb-bar"
alignment:
position: "top"
center: false
blur_effect:
enabled: false
acrylic: false
dark: false
window_flags:
always_on_top: false
windows_app_bar: true
dimensions:
width: "100%"
height: 18
padding:
top: 0
left: 0
bottom: 0
right: 0
widgets:
left: ["komorebi_workspaces", "komorebi_active_layout"]
center: ["komorebi_multi_window"]
right: ["musicbee", "cpu", "memory", "clock"]
widgets:
active_window:
type: "yasb.active_window.ActiveWindowWidget"
options:
label: "{win[title]}"
label_alt: "[class_name='{win[class_name]}' exe='{win[process][name]}' hwnd={win[hwnd]}]"
label_no_window: ""
max_length: 48
max_length_ellipsis: "..."
monitor_exclusive: true
battery:
type: "yasb.battery.BatteryWidget"
options:
time_remaining_natural: true
clock:
type: "yasb.clock.ClockWidget"
options:
label: "\ue018 {%H:%M:%S}"
label_alt: "\ue1cd {%b, %m/%d/%Y}"
cpu:
type: "yasb.cpu.CpuWidget"
options:
label: "\ue040 {info[percent][total]}%"
update_interval: 500
memory:
type: "yasb.memory.MemoryWidget"
options:
label: "\ue021 {virtual_mem_free}"
label_alt: "\ue021 {virtual_mem_percent}%"
update_interval: 5000
callbacks:
on_right: "exec cmd /c Taskmgr"
komorebi_workspaces:
type: "komorebi.workspaces.WorkspaceWidget"
options:
label_offline: ""
label_workspace_btn: "{index}"
label_default_name: "{index}"
label_zero_index: false
hide_empty_workspaces: false
komorebi_active_layout:
type: "komorebi.active_layout.ActiveLayoutWidget"
options:
hide_if_offline: false
label: "{icon}"
layout_icons:
bsp: "\ue136"
columns: "\ue26c"
rows: "\ue133"
vertical_stack: "\ue131"
horizontal_stack: "\ue132"
ultrawide_vertical_stack: "\ue002"
monocle: "\ue13a"
maximised: "\ue130"
floating: "\ue135"
paused: "\ue09b"
callbacks:
on_left: 'next_layout'
on_middle: 'toggle_monocle'
on_right: 'prev_layout'
komorebi_multi_window:
type: "komorebi.multi_window.MultiWindowWidget"
options:
label: "{win[title]}"
label_alt: "[class={win[class]} exe={win[exe]} hwnd={win[hwnd]}]"
show_icon: false
min_update_interval: 100
update_title:
live_update: true
update_interval: 1000
callbacks:
on_left: "do_nothing"
on_middle: "do_nothing"
on_right: "toggle_label"
musicbee:
type: "musicbee.musicbee.MusicBeeWidget"
options:
label: "{state} {artist} - {title} [{position}/{duration}]"
label_alt: "{album_artist} // {album}"
update_interval: 1000
playback_icons:
playing: "\ue09a"
paused: "\ue09b"
stopped: "\ue099"
loading: "\u2026"
unknown: "?"
callbacks:
on_left: "do_nothing"
on_middle: "do_nothing"
on_right: "toggle_label"