# 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"