Skip to content

Instantly share code, notes, and snippets.

@oNddleo
Forked from taroj1205/config.yaml
Created June 24, 2025 04:12
Show Gist options
  • Save oNddleo/7e1815c2e10a5fdc3ba918608f933fce to your computer and use it in GitHub Desktop.
Save oNddleo/7e1815c2e10a5fdc3ba918608f933fce to your computer and use it in GitHub Desktop.
Komorebi and Yasb Bar Configuration
watch_stylesheet: true
watch_config: true
debug: false # Enable debug mode to see more logs
# This komorebi setting will be used for tray context menu.
# If you don't use komorebi, you can remove this section.
komorebi:
start_command: "komorebic start --whkd"
stop_command: "komorebic stop --whkd"
reload_command: "komorebic reload-configuration"
# This is the main configuration file for Yet Another Status Bar (YASB)
bars:
status-bar:
enabled: true
screens: ["DELL S2722QC"] # If you want to show on specific screen
# screens: ["*"]
class_name: "yasb-bar"
alignment:
position: "top"
center: true
blur_effect:
enabled: false # Blur effect will be applied to the bar
acrylic: true # Acrylic effect will be applied to the bar
dark_mode: true # Dark mode will add more shadow to the bar
round_corners: false # Default radius from OS
border_color: System # None, System or HEX color (this option is related to round_corners=true)
window_flags:
always_on_top: false
windows_app_bar: true
dimensions:
width: "100%"
height: 36
padding:
top: 4
left: 0
bottom: 4
right: 0
widgets:
left:
[
"win_button",
"komorebi_workspaces",
"komorebi_active_layout",
"active_window",
]
center: ["clock", "apps"]
right:
[
"media",
"wifi",
"github",
"taskbar",
"cpu",
"weather",
"memory",
"volume",
"battery",
"power_menu",
]
widgets:
disk:
type: "yasb.disk.DiskWidget"
options:
label: "{volume_label} {space[used][percent]}"
label_alt: "{volume_label} {space[used][gb]} / {space[total][gb]}"
volume_label: "C"
update_interval: 60 # Update interval in seconds
callbacks:
on_middle: "do_nothing"
on_right: "exec explorer C:\\" # Open disk C in file explorer
media:
type: "yasb.media.MediaWidget"
options:
label: "{title} - {artist}"
label_alt: "{title}"
max_field_size:
label: 20
label_alt: 30
show_thumbnail: true
controls_only: false
controls_left: true
hide_empty: true
thumbnail_alpha: 80
thumbnail_padding: 8
thumbnail_corner_radius: 16 # Set to 0 for square corners
icons:
prev_track: "\udb81\udcae"
next_track: "\udb81\udcad"
play: "\udb81\udc0d"
pause: "\udb80\udfe6"
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: ""
label_icon: true
label_icon_size: 16
max_length: 40
max_length_ellipsis: "..."
monitor_exclusive: true
battery:
type: "yasb.battery.BatteryWidget"
options:
label: "<span>{icon}</span>{percent}%"
label_alt: "{icon} {percent}% | time: {time_remaining}"
charging_options:
icon_format: "{charging_icon}"
clock:
type: "yasb.clock.ClockWidget"
options:
label: "{%a %d, %b %H:%M}"
label_alt: "{%A %d %B %Y, %H:%M}"
#locale: 'en_EN' # Langugae for date, you can set your own, example fr_FR
timezones: [] #Looking up time zone info from registry
#timezones: ["America/Montreal"]
cpu:
type: "yasb.cpu.CpuWidget"
options:
label: "<span>\uf4bc</span> {info[percent][total]}%"
label_alt: "<span>\uf437</span> {info[histograms][cpu_percent]}"
update_interval: 2000
histogram_icons:
- '\u2581' # 0%
- '\u2581' # 10%
- '\u2582' # 20%
- '\u2583' # 30%
- '\u2584' # 40%
- '\u2585' # 50%
- '\u2586' # 60%
- '\u2587' # 70%
- '\u2588' # 80%+
histogram_num_columns: 8
callbacks:
on_right: "exec cmd /c Taskmgr"
memory:
type: "yasb.memory.MemoryWidget"
options:
label: "<span>\uf4bc</span> {virtual_mem_free}"
label_alt: "<span>\uf4bc</span> {virtual_mem_percent}%"
update_interval: 10000
callbacks:
on_right: "exec cmd /c Taskmgr"
language:
type: "yasb.language.LanguageWidget"
options:
label: "<span>\uf1ab</span> {lang[language_code]}-{lang[country_code]}"
label_alt: " {lang[full_name]}"
update_interval: 5 # 5 seconds
callbacks:
on_left: "toggle_label"
komorebi_workspaces:
type: "komorebi.workspaces.WorkspaceWidget"
options:
label_offline: "Komorebi Offline"
label_workspace_btn: "\udb81\udc3d"
label_workspace_active_btn: "\udb81\udc3e"
label_workspace_populated_btn: "\udb81\udc3d"
label_default_name: "{index}"
label_zero_index: false
hide_empty_workspaces: false
hide_if_offline: false
animation: false
container_padding:
top: 0
left: 8
bottom: 0
right: 8
komorebi_active_layout:
type: "komorebi.active_layout.ActiveLayoutWidget"
options:
hide_if_offline: true
label: "{icon}"
layouts:
[
"bsp",
"columns",
"rows",
"grid",
"vertical_stack",
"horizontal_stack",
"ultrawide_vertical_stack",
"right_main_vertical_stack",
]
layout_icons:
bsp: "BSP"
columns: "COLS"
rows: "ROWS"
grid: "GRID"
vertical_stack: "V-STACK"
horizontal_stack: "H-STACK"
ultrawide_vertical_stack: "W-STACK"
right_main_vertical_stack: "RMV-STACK"
monocle: "MONOCLE"
maximised: "MAX"
floating: "FLOATING"
paused: "PAUSED"
container_padding:
top: 0
left: 8
bottom: 0
right: 8
callbacks:
on_left: "next_layout"
on_middle: "toggle_monocle"
on_right: "prev_layout"
wifi:
type: "yasb.wifi.WifiWidget"
options:
label: "<span>{wifi_icon}</span>"
label_alt: "{wifi_name} {wifi_strength}%"
update_interval: 5000
callbacks:
on_left: "exec cmd.exe /c start ms-settings:network"
on_middle: "do_nothing"
on_right: "toggle_label"
traffic:
type: "yasb.traffic.TrafficWidget"
options:
label: "<span>\udb86\uddb3</span>{download_speed} | <span>\udb86\uddb2</span>{upload_speed}"
label_alt: "Download {download_speed} \ue621 Upload {upload_speed}"
update_interval: 1000 # Update interval should be a multiple of 1000
callbacks:
on_left: "toggle_label"
on_right: "exec cmd /c Taskmgr"
ip_info:
type: "yasb.custom.CustomWidget"
options:
label: "<span>\udb81\udd9f</span> {data[ip]}"
label_alt: "<span>\uf450</span> {data[city]} {data[region]}, {data[country]}"
class_name: "ip-info-widget"
exec_options:
run_cmd: "curl.exe https://ipinfo.io"
run_interval: 120000 # every 5 minutes
return_format: "json"
callbacks:
on_left: "toggle_label"
on_middle: "exec cmd /c ncpa.cpl" # open network settings
on_right: "exec cmd /c start https://ipinfo.io/{data[ip]} " # open ipinfo in browser
weather:
type: "yasb.weather.WeatherWidget"
options:
label: "<span>{icon}</span> {temp_c}"
label_alt: "{location}: Min {min_temp_c}, Max {max_temp_c}, Humidity {humidity}"
api_key: "3bf4cf9a7c3f40d6b31174128242807" # Get your free API key from https://www.weatherapi.com/
update_interval: 600 # Update interval in seconds, Min 600 seconds
hide_decimal: true
location: "North Shore, Auckland, New Zealand" # You can use "USA Los Angeles 90006" {COUNTRY CITY ZIP_CODE}, or just city.
callbacks:
on_left: "toggle_label"
icons:
sunnyDay: "\ue30d"
clearNight: "\ue32b"
cloudyDay: "\udb81\udd99"
cloudyNight: "\ue311"
rainyDay: "\udb81\ude7e"
rainyNight: "\udb81\ude7e"
snowyIcyDay: "\udb81\udd98"
snowyIcyNight: "\udb81\udd98"
blizzard: "\uebaa"
default: "\uebaa"
# https://www.weatherapi.com/docs/
# Usage {temp_c}, {min_temp_c}, {max_temp_c}, {temp_f}, {min_temp_f}, {max_temp_f}, {location}, {humidity}, {icon}, {conditions}
volume:
type: "yasb.volume.VolumeWidget"
options:
label: "<span>{icon}</span> {level}"
label_alt: "{volume}"
volume_icons:
- "\ueee8" # Icon for muted
- "\uf026" # Icon for 0-10% volume
- "\uf027" # Icon for 11-30% volume
- "\uf027" # Icon for 31-60% volume
- "\uf028" # Icon for 61-100% volume
callbacks:
on_right: "exec cmd.exe /c start ms-settings:sound"
power_menu:
type: "yasb.power_menu.PowerMenuWidget"
options:
label: "\uf011"
uptime: True
blur: False
blur_background: True
animation_duration: 300 # Milisecond
button_row: 3 # Number of buttons in row, min 1 max 5
buttons:
lock: ["\uea75", "Lock"]
signout: ["\udb80\udf43", "Sign out"]
#sleep: ["\u23fe","Sleep"]
shutdown: ["\uf011", "Shut Down"]
restart: ["\uead2", "Restart"]
hibernate: ["\uf28e", "Hibernate"]
cancel: ["\udb81\udf3a", "Cancel"]
#force_shutdown: ["\uf011","Force Shut Down"]
#force_restart: ["\uead2","Force Restart"]
apps:
type: "yasb.applications.ApplicationsWidget"
options:
label: "{data}"
container_padding:
top: 0
left: 8
bottom: 0
right: 8
app_list:
#- {icon: "\udb80\ude39", launch: "C:\\Program Files\\Mozilla Firefox\\firefox.exe"}
# - { icon: "\uf0a2", launch: "notification_center" }
- { icon: "\ueb51", launch: "quick_settings" }
#- {icon: "\uf46a", launch: "cmd.exe /c start ms-settings:windowsupdate"}
- { icon: "\uf422", launch: "search" }
- { icon: "\udb84\udf55", launch: "widget" }
- { icon: "\uf489", launch: "wt" }
- {
icon: "\udb82\ude1e",
launch: "C:\\Users\\taroj\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe",
}
# - {
# icon: "\uf1ff",
# # open the discord app that isnt "Discord"
# launch: "powershell IF($(Get-Process | Where-Object { $_.Name -like '*Discord*' -and $_.Name -ne 'Discord' }) -eq $null) {Start-Process 'C:\\Users\\taroj\\AppData\\Local\\Discord\\Update.exe'}",
# }
# Currently available to use quick_settings, notification_center, search, widget, launcher (launcher will trigger ALT+A)
github:
type: "yasb.github.GithubWidget"
options:
label: "<span>\ueba1</span>"
label_alt: "Notifications {data}" # {data} return number of unread notification
token: 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 # GitHub Personal access tokens (classic) https://github.com/settings/tokens
# You can set token: env, this means you have to set YASB_GITHUB_TOKEN in environment variable
max_notification: 20 # Max number of notification displaying in menu max: 50
only_unread: false # Show only unread or all notifications;
max_field_size: 54 # Max characters in title before truncation.
menu_width: 400
menu_height: 400
menu_offset: 240
update_interval: 300 # Check for new notification in seconds
wallapers:
type: "yasb.wallpapers.WallpapersWidget"
options:
label: "<span>\udb83\ude09</span>"
image_path: "C:\\Users\\xxx\\Images" # Path to folder with images
change_automatically: false # Automatically change wallpaper
update_interval: 60 # If change_automatically is true, update interval in seconds
taskbar:
type: "yasb.taskbar.TaskbarWidget"
options:
animation: true
icon_size: 16
ignore_apps:
processes: []
titles: []
classes: []
container_padding:
top: 0
left: 0
bottom: 0
right: 0
nvidia_temp:
type: "yasb.custom.CustomWidget"
options:
label: "{data}<span>\udb81\udd04</span>"
label_alt: "{data}"
class_name: "system-widget"
exec_options:
run_cmd: "powershell nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader"
run_interval: 10000 # run every 10 sec
return_format: "string"
win_button:
type: "yasb.custom.CustomWidget"
options:
label: "\ue62a"
label_alt: "\ue62a"
class_name: "system-widget"
callbacks:
on_left: "exec start_menu"
{
"$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.bar.json",
"monitor": {
"index": 0,
"work_area_offset": {
"left": 0,
"top": 40,
"right": 0,
"bottom": 40
}
},
"font_family": "JetBrains Mono",
"theme": {
"palette": "Base16",
"name": "AyuDark"
},
"left_widgets": [
{
"Komorebi": {
"workspaces": {
"enable": true,
"hide_empty_workspaces": false
},
"layout": {
"enable": true
},
"focused_window": {
"enable": true,
"show_icon": true
}
}
}
],
"right_widgets": [
{
"Media": {
"enable": true
}
},
{
"Storage": {
"enable": true
}
},
{
"Memory": {
"enable": true
}
},
{
"Network": {
"enable": true,
"show_total_data_transmitted": true,
"show_network_activity": true
}
},
{
"Date": {
"enable": true,
"format": "YearMonthDate"
}
},
{
"Time": {
"enable": true,
"format": "TwentyFourHour"
}
},
{
"Battery": {
"enable": true
}
}
]
}
{
"$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.28/schema.json",
"app_specific_configuration_path": "$Env:USERPROFILE/applications.yaml",
"default_workspace_padding": 0,
"default_container_padding": 0,
"border": false,
"border_width": 3,
"stackbar": {
"height": 30,
"mode": "Never",
"tabs": {
"width": 100
}
},
"animation": {
"enabled": true,
"duration": 423,
"style": "EaseOutBack",
"fps": 120
},
"transparency": true,
"transparency_alpha": 235,
"cross_monitor_move_behaviour": "Insert",
"window_container_behaviour": "Create",
"window_hiding_behaviour": "Cloak",
"monitors": [
{
"workspaces": [
{
"name": "Main",
"layout": "RightMainVerticalStack"
},
{
"name": "Code",
"layout": "RightMainVerticalStack"
},
{
"name": "Chat",
"layout": "RightMainVerticalStack"
},
{
"name": "IV",
"layout": "RightMainVerticalStack"
},
{
"name": "V",
"layout": "RightMainVerticalStack"
},
{
"name": "VI",
"layout": "RightMainVerticalStack"
},
{
"name": "VII",
"layout": "RightMainVerticalStack"
}
]
},
{
"workspaces": [
{
"name": "Main",
"layout": "RightMainVerticalStack"
},
{
"name": "Code",
"layout": "RightMainVerticalStack"
},
{
"name": "Chat",
"layout": "RightMainVerticalStack"
},
{
"name": "IV",
"layout": "RightMainVerticalStack"
},
{
"name": "V",
"layout": "RightMainVerticalStack"
},
{
"name": "VI",
"layout": "RightMainVerticalStack"
},
{
"name": "VII",
"layout": "RightMainVerticalStack"
}
]
},
{
"workspaces": [
{
"name": "Main",
"layout": "RightMainVerticalStack",
"workspace_padding": 40,
"container_padding": 20
},
{
"name": "Code",
"layout": "RightMainVerticalStack",
"workspace_padding": 40,
"container_padding": 20
},
{
"name": "Chat",
"layout": "RightMainVerticalStack",
"workspace_padding": 40,
"container_padding": 20
},
{
"name": "IV",
"layout": "RightMainVerticalStack",
"workspace_padding": 40,
"container_padding": 20
},
{
"name": "V",
"layout": "RightMainVerticalStack",
"workspace_padding": 40,
"container_padding": 20
},
{
"name": "VI",
"layout": "RightMainVerticalStack",
"workspace_padding": 40,
"container_padding": 20
},
{
"name": "VII",
"layout": "RightMainVerticalStack",
"workspace_padding": 40,
"container_padding": 20
}
]
}
]
}
/*
.widget .label {} -> Global label for all
.active-window-widget {} -> Styles specific to the active window widget
.clock-widget {} -> Styles specific to the clock widget
.cpu-widget {} -> Styles specific to the CPU widget
.memory-widget {} -> Styles specific to the memory widget
.weather-widget {} -> Styles specific to the weather widget
.komorebi-workspaces {} -> Styles specific to komorebi workspaces
.komorebi-active-layout {} -> Styles specific to komorebi active layout
.volume-widget {} -> Styles specific to the volume widget
.apps-widget {} -> Styles specific to the apps widget
.power-menu-widget {} -> Styles for the power menu button widget
.power-menu-popup {} -> Styles for the power menu popup widget
.power-menu-popup > .button {} -> Styles for power buttons inside the popup
.power-menu-popup > .button > .icon,
.power-menu-popup > .button > .label {} -> Styles for power buttons icons and labels inside the popup
.media-widget {} -> Styles specific to the media widget
.github-widget {} -> Styles specific to the github widget
.language-widget {} -> Styles specific to the language widget
.disk-widget {} -> Styles specific to the disk widget
.taskbar-widget {} -> Styles specific to the taskbar widget
*/
* {
font-size: 12px;
color: #cdd6f4;
font-weight: 500;
font-family: "JetBrainsMono NFP";
margin: 0;
padding: 0;
}
.yasb-bar {
padding: 0;
margin: 0;
}
.widget {
background-color: #1e1e2e;
padding: 0 8px;
margin: 0;
}
.widget .label {
padding: 1px 2px 1px 2px;
}
.widget .label.alt {
padding: 1px 8px 1px 8px;
}
.active-window-widget {
border-radius: 18px;
margin-left: 8px
}
.container-left,
.container-center,
.container-right {
margin: 0;
padding: 0;
}
.clock-widget {
border-top-left-radius: 18px;
border-bottom-left-radius: 18px;
}
.komorebi-active-layout {
border-top-right-radius: 18px;
border-bottom-right-radius: 18px;
padding: 0 4px 0 0;
}
.komorebi-active-layout .label {
font-weight: 600;
padding: 2px 0 0 0;
}
.wifi-widget {
padding: 0 4px 0 4px;
border-top-left-radius: 18px;
border-bottom-left-radius: 18px;
}
.apps-widget .widget-container,
.komorebi-workspaces .widget-container,
.wifi-widget .widget-container,
.komorebi-active-layout .widget-container {
background-color: #313244;
margin: 4px 0px 4px 0;
border-radius: 14px;
}
.apps-widget {
padding: 0 4px 0 2px;
border-top-right-radius: 18px;
border-bottom-right-radius: 18px;
}
.komorebi-workspaces .ws-btn {
border-radius: 5px;
font-size: 10px;
width: 10px;
height: 10px;
margin: 0 4px 0 4px;
color: rgba(255, 255, 255, 0);
background-color: #9399b2;
}
.komorebi-workspaces .ws-btn:hover,
.komorebi-workspaces .ws-btn.populated:hover {
background-color: #fff;
}
.komorebi-workspaces .ws-btn.populated {
background-color: #89b4fa;
}
.komorebi-workspaces .ws-btn.active {
background-color: #89b4fa;
color: rgba(0, 0, 0, 0);
width: 26px;
}
.apps-widget .label {
font-size: 14px;
padding: 0 2px;
}
.apps-widget .label:hover {
color: #fff;
}
/*POWER MENU WIDGET*/
.uptime {
font-size: 14px;
margin-bottom: 10px;
color: #ffffff;
font-weight: 600;
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.power-menu-widget .label {
color: #f38ba8;
font-size: 13px;
}
.power-menu-popup {
background-color: rgba(24, 24, 37, 0.9);
border-radius: 12px;
border: 4px solid rgb(41, 42, 58);
}
.power-menu-popup .button {
padding: 0;
width: 240px;
height: 120px;
border-radius: 8px;
background-color: rgb(41, 42, 58);
font-family: "SegoeUI";
color: white;
border: 1px solid rgba(255, 255, 255, 0.1);
margin: 8px;
}
.power-menu-popup .button.hover {
background-color: rgb(55, 56, 75);
border: 1px solid rgb(55, 56, 75);
}
.power-menu-popup .button .label {
margin-bottom: 8px;
font-size: 16px;
font-weight: 600;
color: rgba(255, 255, 255, 0.95);
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.power-menu-popup .button .icon {
font-size: 48px;
padding-top: 8px;
color: rgba(255, 255, 255, 0.25);
}
.power-menu-popup .button.cancel .icon {
color: rgba(243, 139, 168, 0.55);
}
.power-menu-popup .button.cancel .label {
color: rgba(243, 139, 168, 0.95);
}
.power-menu-popup .button.shutdown .icon {
color: rgba(137, 180, 250, 0.55);
}
.power-menu-popup .button.shutdown .label {
color: rgba(137, 180, 250, 0.95);
}
/* ICONS */
.icon {
font-size: 16px;
}
.volume-widget .icon {
color: #89b4fa;
margin: 1px 2px 0 0;
}
.cpu-widget .icon,
.memory-widget .icon {
font-size: 14px;
color: #cba6f7;
margin: 0 2px 1px 0;
}
.memory-widget .icon {
color: #a6c9f7;
}
.wifi-widget .icon {
color: #43d8d8;
padding: 0 7px;
margin: 0;
}
/* Memory widget usage colors. Uncomment if you want to color of the battery widget icon to change based on status */
/*
.memory-widget.status-low .icon {
color: #a6e3a1;
}
.memory-widget.status-medium .icon {
color: #f9e2af;
}
.memory-widget.status-high .icon {
color: #fab387;
}
.memory-widget.status-critical .icon {
color: #f38ba8;
}
*/
/* Battery widget value colors. Uncomment if you want to color of the battery widget icon to change based on status */
/*
.battery-widget.status-charging .icon {
color: #74c7ec;
}
.battery-widget.status-full .icon {
color: #94e2d5;
}
.battery-widget.status-high .icon {
color: #a6e3a1;
}
.battery-widget.status-medium .icon {
color: #f9e2af;
}
.battery-widget.status-low .icon {
color: #fab387;
}
.battery-widget.status-critical .icon {
color: #f38ba8;
}
*/
/* WEATHER WIDGET */
.weather-widget .icon {
font-size: 16px;
margin: 0 2px 1px 0;
}
.weather-widget .icon.sunnyDay {
color: rgb(221, 210, 107);
}
.weather-widget .icon.clearNight {
color: rgb(107, 189, 221);
font-size: 22px;
margin: 1px 2px 0px 0;
}
/*
.weather-widget .icon.cloudyDay {}
.weather-widget .icon.cloudyNight {}
.weather-widget .icon.rainyDay {}
.weather-widget .icon.rainyNight {}
.weather-widget .icon.snowyIcyDay {}
.weather-widget .icon.snowyIcyNight {}
.weather-widget .icon.blizzard {}
.weather-widget .icon.default {}
*/
/* MEDIA WIDGET */
.media-widget {
padding: 0;
padding-left: 6px;
margin: 0;
border-radius: 18px;
margin-right: 8px;
}
.media-widget .label {
background-color: rgba(0, 0, 0, 0.0);
}
.media-widget .btn {
color: #acb2c9;
padding: 0;
font-size: 18px;
}
.media-widget .btn:hover {
color: #89b4fa;
}
.media-widget .btn.play {
font-size: 24px;
}
.media-widget .btn.prev {
padding: 0 4px 0 4px;
}
.media-widget .btn.next {
padding: 0 4px 0 4px;
}
.media-widget .btn.disabled:hover,
.media-widget .btn.disabled {
color: #4e525c;
}
/* GITHUB WIDGET */
.github-widget {
padding: 0 4px;
}
.github-widget .icon {
font-size: 14px;
color: #cdd6f4
}
.github-widget .icon.new-notification {
color: #f38ba8;
}
/* TASBAR WIDGET */
.taskbar-widget {
padding: 0;
margin: 0;
}
.taskbar-widget .app-icon {
padding: 0 6px;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment