added base yasb and glazeWM configs

This commit is contained in:
2026-06-03 14:00:19 +02:00
parent 087715cc64
commit 55b5c5dd09
15 changed files with 3186 additions and 2 deletions
+413
View File
@@ -0,0 +1,413 @@
# This is default and very simple configuration file for Yasb.
# For more information about configuration options, please visit the Wiki https://github.com/amnweb/yasb/wiki
watch_stylesheet: true
watch_config: true
debug: false
update_check: true # Enable automatic update check.
komorebi:
start_command: "komorebic start --whkd"
stop_command: "komorebic stop --whkd"
reload_command: "komorebic stop --whkd && komorebic start --whkd"
bars:
primary-bar:
enabled: true
screens: ["primary"]
class_name: "yasb-bar"
alignment:
position: "top"
center: false
animation:
enabled: true
duration: 1000
blur_effect:
enabled: true
acrylic: false
dark_mode: true
round_corners: true
round_corners_type: "normal"
border_color: "System"
window_flags:
always_on_top: false
windows_app_bar: true
dimensions:
width: "100%"
height: 32
padding:
top: 6
left: 6
bottom: 0
right: 6
widgets:
left: [
"glazewm_tiling_direction",
"glazewm_workspaces",
"pomodoro",
"active_window"
]
center: [
"clock"
]
right: [
"cava",
"media",
"weather",
"microphone",
"volume",
"cpu",
"memory",
"notifications",
"wallpapers",
"power_menu"
]
widgets:
home:
type: "yasb.home.HomeWidget"
options:
label: "<span>\udb81\udf17</span>"
menu_list:
- { title: "My Crib", path: "~" }
- { title: "Loot Bag", path: "~\\Downloads" }
- { title: "Boring Stuff", path: "~\\Documents" }
- { title: "Cursed Memories", path: "~\\Pictures" }
system_menu: true
power_menu: true
blur: false
media:
type: "yasb.media.MediaWidget"
options:
label: "<span>\uf001</span> {title}"
label_alt: "<span>\uf001</span> {artist}"
callbacks:
on_left: "toggle_media_menu"
on_middle: "do_nothing"
on_right: "do_nothing"
max_field_size:
label: 50
label_alt: 24
show_thumbnail: false
controls_only: false
controls_left: true
hide_empty: true
thumbnail_alpha: 250
thumbnail_padding: 8
thumbnail_corner_radius: 0
icons:
prev_track: ""
next_track: ""
play: ""
pause: ""
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: 14
max_length: 46
max_length_ellipsis: "..."
monitor_exclusive: true
clock:
type: "yasb.clock.ClockWidget"
options:
label: "{%I:%M:%S}"
label_alt: "{%I:%M:%S}"
timezones: []
callbacks:
on_left: "toggle_calendar"
weather:
type: "yasb.weather.WeatherWidget"
options:
label: "<span>{icon}</span> {temp}"
label_alt: "{location}: Min {min_temp}, Max {max_temp}, Humidity {humidity}"
api_key: # Get your free API key from https://www.weatherapi.com/
update_interval: 600
hide_decimal: true
location: # You can use "USA Los Angeles 90006" {COUNTRY CITY ZIP_CODE}, or just city.
callbacks:
on_left: "toggle_card"
icons:
sunnyDay: "\ue30d"
clearNight: "\ue32b"
cloudyDay: "\ue312"
cloudyNight: "\ue311"
rainyDay: "\ue308"
rainyNight: "\ue333"
snowyIcyDay: "\ue30a"
snowyIcyNight: "\ue335"
blizzardDay: "\udb83\udf36"
blizzardNight: "\udb83\udf36"
foggyDay: "\ue303"
foggyNight: "\ue346"
thunderstormDay: "\ue30f"
thunderstormNight: "\ue338"
default: "\uebaa"
weather_card:
blur: True
round_corners: True
round_corners_type: "normal"
border_color: "System"
alignment: "right"
direction: "down"
icon_size: 64
show_hourly_forecast: True # Set to False to disable hourly forecast
time_format: "12h" # can be 12h or 24h
hourly_point_spacing: 76
hourly_icon_size: 32 # better to set 16, 32 or 64 for better quality
icon_smoothing: true # should be true for smoother icon or false for sharper icon if using 16, 32 or 64 for hourly_icon_size
temp_line_width: 2 # can be 0 to hide the temperature line
current_line_color: "#8EAEE8"
current_line_width: 1 # can be 0 to hide the current hour line
current_line_style: "dot"
label_shadow:
enabled: true
color: "black"
radius: 3
offset: [ 1, 1 ]
volume:
type: "yasb.volume.VolumeWidget"
options:
label: "<span>{icon}</span> {level}"
label_alt: "{volume}"
tooltip: false
volume_icons:
- "\ueee8"
- "\uf026"
- "\uf027"
- "\uf027"
- "\uf028"
callbacks:
on_left: "toggle_mute"
on_right: "exec cmd.exe /c start ms-settings:sound"
microphone:
type: "yasb.microphone.MicrophoneWidget"
options:
label: "<span>{icon}</span> {level}"
label_alt: "<span>{icon}</span> {level}%"
icons:
normal: "\udb80\udf6c"
muted: "\udb80\udf6d"
callbacks:
on_left: "toggle_mute"
on_middle: "toggle_label"
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: 200
button_row: 5
buttons:
shutdown: ["\uf011", "Rage Quit"]
restart: ["\uead2", "Oops, Reboot"]
signout: ["\udb80\udf43", "Dip Out"]
hibernate: ["\uf28e", "Bear Mode"]
sleep: ["\u23fe", "Nap Time"]
cancel: ["", "Nah, Im Good "]
apps:
type: "yasb.applications.ApplicationsWidget"
options:
container_padding:
top: 0
left: 8
bottom: 0
right: 8
label: "{data}"
app_list:
- { icon: "\ueb03", launch: "cmd /c Taskmgr" }
- { icon: "\uf489", launch: "wt"}
notifications:
type: "yasb.notifications.NotificationsWidget"
options:
label: "<span>\uf476</span> {count}"
label_alt: "{count} notifications"
hide_empty: true
tooltip: false
callbacks:
on_left: "toggle_notification"
on_right: "do_nothing"
on_middle: "toggle_label"
wallpapers:
type: "yasb.wallpapers.WallpapersWidget"
options:
label: "<span>\udb83\ude09</span>"
image_path: # Example path to folder with images
change_automatically: false # Automatically change wallpaper
update_interval: 60 # If change_automatically is true, update interval in seconds
gallery:
enabled: true
blur: true
image_width: 220
image_per_page: 8
show_buttons: true
orientation: "portrait"
image_spacing: 8
lazy_load: true
lazy_load_delay: 80
lazy_load_fadein: 400
image_corner_radius: 20
enable_cache: true
cava:
type: "yasb.cava.CavaWidget"
options:
bar_height: 12
min_bar_height: 0
gradient: 1
reverse: 0
foreground: "#89b4fa"
gradient_color_1: '#74c7ec'
gradient_color_2: '#89b4fa'
gradient_color_3: '#cba6f7'
bars_number: 8
bar_spacing: 2
bar_width: 4
hide_empty: true
container_padding:
top: 0
left: 8
bottom: 0
right: 8
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
cpu_thresholds:
low: 25
medium: 50
high: 90
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"
label_shadow:
enabled: true
color: "black"
radius: 3
offset: [ 1, 1 ]
glazewm_workspaces:
type: "glazewm.workspaces.GlazewmWorkspacesWidget"
options:
# Offline behavior (matching komorebi's label_offline and hide_if_offline)
offline_label: "GlazeWM Offline"
hide_if_offline: true
# Workspace display labels (matching komorebi's label_workspace_btn and label_workspace_active_btn)
populated_label: "\udb85\udcfc"
empty_label: "\udb85\udcfc"
active_populated_label: "\udb85\udcfb"
active_empty_label: "\udb85\udcfb"
# Workspace management (matching komorebi's hide_empty_workspaces)
hide_empty_workspaces: false
# Server connection
glazewm_server_uri: "ws://localhost:6123"
# Additional GlazeWM-specific options (keeping defaults)
enable_scroll_switching: true
reverse_scroll_direction: true
container_padding:
top: 0
left: 0
bottom: 0
right: 0
glazewm_tiling_direction:
type: "glazewm.tiling_direction.GlazewmTilingDirectionWidget"
options:
horizontal_label: "\udb81\udce1"
vertical_label: "\udb81\udce2"
btn_shadow:
enabled: true
color: "black"
radius: 3
offset: [ 1, 1 ]
pomodoro:
type: "yasb.pomodoro.PomodoroWidget"
options:
label: "<span>{icon}</span> {remaining}"
label_alt: "<span>{icon}</span> {session}/{total_sessions} - {status}"
work_duration: 25
break_duration: 5
long_break_duration: 15
long_break_interval: 4
auto_start_breaks: true
auto_start_work: true
sound_notification: true
show_notification: true
hide_on_break: false
session_target: 8
icons:
work: "\uf252"
break: "\uf253"
paused: "\uf254"
container_padding:
top: 0
left: 12
bottom: 0
right: 12
menu:
blur: true
round_corners: true
round_corners_type: "normal"
border_color: "System"
alignment: "right"
direction: "down"
offset_top: 6
offset_left: 0
circle_background_color: "#09ffffff"
circle_work_progress_color: "#88c0d0"
circle_break_progress_color: "#a3be8c"
circle_thickness: 8
circle_size: 160
callbacks:
on_left: "toggle_menu"
on_middle: "reset_timer"
on_right: "toggle_label"
label_shadow:
enabled: true
color: "black"
radius: 3
offset: [ 1, 1 ]
memory:
type: "yasb.memory.MemoryWidget"
options:
label: "<span>\uf4bc</span> {virtual_mem_percent}"
label_alt: "<span>\uf4bc</span> VIRT: {virtual_mem_percent}% SWAP: {swap_mem_percent}%"
update_interval: 5000
callbacks:
on_left: "toggle_label"
on_middle: "do_nothing"
on_right: "do_nothing"
memory_thresholds:
low: 25
medium: 50
high: 90
histogram_icons:
- "\u2581" # 0%
- "\u2581" # 10%
- "\u2582" # 20%
- "\u2583" # 30%
- "\u2584" # 40%
- "\u2585" # 50%
- "\u2586" # 60%
- "\u2587" # 70%
- "\u2588" # 80%+
label_shadow:
enabled: true
color: "black"
radius: 3
offset: [ 1, 1 ]
+446
View File
@@ -0,0 +1,446 @@
* {
font-size: 12px;
color: #cdd6f4;
font-weight: 500;
font-family: "JetBrainsMono NFP";
margin: 0;
padding: 0;
}
.yasb-bar {
padding: 0 8px;
margin: 0;
background-color: #1e1e2e;
border-radius: 16px;
}
.widget {
padding: 0 10px;
margin: 0;
}
.widget .label {
padding: 2px 2px 1px 2px;
}
.widget .label.alt {
padding: 1px 8px 1px 8px;
}
.clock-widget .label {
padding-left:8px;
}
.glazewm-workspaces {
margin: 0;
}
.glazewm-workspaces .ws-btn {
font-size: 18px;
background-color: transparent;
border: none;
padding: 0 2px 0 2px;
margin: 0;
color: #95a0ad;
}
.glazewm-workspaces .ws-btn.active_populated {
color: #89b4fa;
}
.glazewm-workspaces .ws-btn.active_empty {
color: #89b4fa;
}
.glazewm-workspaces .ws-btn.populated {
color: #74c7ec;
}
.glazewm-workspaces .ws-btn.empty {
color: #95a0ad;
}
.glazewm-workspaces .ws-btn:hover,
.glazewm-workspaces .ws-btn.populated:hover,
.glazewm-workspaces .ws-btn.empty:hover {
color: #89b4fa;
}
.glazewm-tiling-direction {
background-color: transparent;
padding: 0;
margin: 0;
}
.glazewm-tiling-direction .btn {
font-size: 18px;
width: 14px;
padding: 0 4px 0 4px;
color: #CDD6F4;
border: none;
}
.glazewm-tiling-direction .btn:hover {
background-color: #727272;
}
/*POWER MENU WIDGET*/
/* Uptime text */
.uptime {
font-size: 14px;
margin-bottom: 10px;
color: rgba(191, 202, 219, 0.726);
font-weight: 600;
font-family: "JetBrainsMono NFP";
}
.power-menu-widget .label {
color: #eba0ac;
font-size: 16px;
}
.power-menu-popup .button {
padding: 0;
width: 160px;
height: 240px;
border-radius: 4px;
background-color: rgba(41, 42, 58, 0.75);
font-family: "JetBrainsMono NFP";
color: white;
border: 4px solid rgba(255, 255, 255, 0);
}
.power-menu-popup .button.hover {
background-color: rgb(55, 56, 75);
border: 4px 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.6);
font-family: "JetBrainsMono NFP";
}
.power-menu-popup .button .icon {
font-size: 64px;
padding-top: 54px;
color: rgba(255, 255, 255, 0.25);
}
.power-menu-popup .button.cancel {
height: 20px !important; /* Much thinner than the 240px of other buttons */
width: 100%; /* Full width to span across */
padding-top: 10px;
padding-bottom: 10px;
}
.power-menu-popup .button.cancel .icon {
font-size: 24px !important; /* Smaller icon for the thinner button */
padding-top: 0px !important; /* Remove the large top padding */
color: rgba(243, 139, 168, 0.55);
}
.power-menu-popup .button.cancel .label {
margin-bottom: 0px !important; /* Remove bottom margin */
color: rgba(243, 139, 168, 0.95);
}
/* ICONS */
.icon {
font-size: 16px;
}
.volume-widget .icon {
color: #89b4fa;
margin: 1px 2px 0 0;
}
.start-menu .icon {
font-size: 18px;
color: #89b4fa
}
.clock-widget .icon {
color: #cba6f7;
font-size: 14px;
}
/* WEATHER WIDGET */
.weather-card {
background-color: rgba(17, 17, 27, 0.5);
}
.weather-card-today {
border: 1px solid #282936;
border-radius: 8px;
background-color: rgba(17, 17, 27, 0.2);
}
.weather-card-today .label {
font-size: 12px;
}
.weather-card-today .label.location {
font-size: 24px;
font-weight: 700;
}
.weather-card-today .label.alert {
font-size: 12px;
font-weight: 700;
background-color: rgba(247, 199, 42, 0.05);
border: 1px solid rgba(247, 209, 42, 0.1);
color: rgba(196, 181, 162, 0.85);
border-radius: 6px;
padding: 5px 0;
}
.weather-card-day {
border: 1px solid #45475a;
border-radius: 8px;
background-color: rgba(17, 17, 27, 0.2);
}
.weather-card-day.active {
background-color: rgba(40, 40, 60, 0.6);
border: 1px solid rgba(50, 50, 75, 1);
}
.weather-card-day:hover {
background-color: rgba(40, 40, 60, 0.6);
}
.weather-card-day .label {
font-size: 12px;
}
.weather-card .hourly-container {
border: 1px solid #282936;
background-color: #3c5fa0;
border-radius: 8px;
min-height: 150px;
}
.weather-card .hourly-data {
/* font-family: 'Segoe UI';*/
/* color: cyan;*/ /* <- Font color */
background-color: #FAE93F; /* <- Curve color */
font-size: 12px;
font-weight: bold;
}
.media-widget {
padding: 0;
margin: 0;
}
.media-widget .label {
color: #b4befe;
padding: 0px;
padding-right: 4px;
}
.media-menu {
min-width: 420px;
max-width: 420px;
background-color: rgba(31, 39, 49, 0.5);
}
.media-menu .title,
.media-menu .artist,
.media-menu .source {
font-size: 14px;
font-weight: 600;
margin-left: 10px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.media-menu .artist {
font-size: 13px;
color: #6c7086;
margin-top: 0px;
margin-bottom: 8px;
}
.media-menu .source {
font-size: 11px;
color: #000;
font-weight: normal;
border-radius: 3px;
background-color: #bac2de;
padding: 2px 4px;
}
/* The source class name is the same as what you see in the media widget; just replace spaces with dashes and convert it to lowercase.
Example: "Windows Media" becomes "windows-media" */
.media-menu .source.firefox {
background-color: #ff583b;
color: #ffffff;
}
.media-menu .source.spotify {
background-color: #199143;
color: #ffffff;
}
.media-menu .source.edge {
background-color: #0078d4;
color: #ffffff;
}
.media-menu .source.windows-media {
background-color: #0078d4;
color: #ffffff;
}
.media-menu .btn {
font-family: "Segoe Fluent Icons";
font-size: 14px;
font-weight: 400;
margin: 10px 2px 0px 2px;
min-width: 40px;
max-width: 40px;
min-height: 40px;
max-height: 40px;
border-radius: 20px;
}
.media-menu .btn.prev {
margin-left: 10px;
}
.media-menu .btn:hover {
color: white;
background-color: rgba(255, 255, 255, 0.1);
}
.media-menu .btn.play {
background-color: rgba(255, 255, 255, 0.1);
font-size: 20px
}
.media-menu .btn.disabled:hover,
.media-menu .btn.disabled {
color: #4e525c;
background-color: rgba(0, 0, 0, 0);
}
.media-menu .playback-time {
font-size: 13px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
color: #7f849c;
margin-top: 20px;
min-width: 100px;
}
.media-menu .progress-slider {
height: 10px;
margin: 5px 4px;
border-radius: 3px;
}
.media-menu .progress-slider::groove {
background: transparent;
height: 2px;
border-radius: 3px;
background: rgba(255, 255, 255, 0.1);
}
.media-menu .progress-slider::groove:hover {
background: transparent;
height: 6px;
border-radius: 3px;
background: rgba(255, 255, 255, 0.2);
}
.media-menu .progress-slider::sub-page {
background: white;
border-radius: 3px;
height: 4px;
}
/* Hide media widget buttons */
.media-widget .btn {
padding: 0;
margin: 0 -6px;
padding-left: 4px;
}
.pomodoro-widget {
padding: 0 0 0 0;
}
.pomodoro-widget .icon {
font-size: 12px;
padding-right: 4px;
}
.pomodoro-widget .label.paused,
.pomodoro-widget .icon.paused {
color: #7d7e8b;
}
.pomodoro-widget .label.work,
.pomodoro-widget .icon.work {
color: #a6e3a1;
}
.pomodoro-widget .label.break,
.pomodoro-widget .icon.break {
color: #89b4fa;
}
/* Pomodoro menu styling */
.pomodoro-menu {
background-color: rgba(17, 17, 27, 0.2);
border-radius: 8px;
}
.pomodoro-menu .header {
font-size: 16px;
font-weight: 600;
max-height: 0px;
color: #ffffff;
}
.pomodoro-menu .status {
font-size: 18px;
font-weight: 600;
color: #cdd6f4;
}
.pomodoro-menu .session {
font-size: 12px;
color: #a6adc8;
}
.pomodoro-menu .button {
background-color: #3f4053;
color: #cdd6f4;
border: none;
border-radius: 4px;
padding: 6px 12px;
}
.pomodoro-menu .button.start {
background-color: #3f4053;
}
.pomodoro-menu .button.reset {
background-color: #3f4053;
}
.pomodoro-menu .button:hover {
background-color: rgba(255, 255, 255, 0.158);
}
.pomodoro-menu .button.pause {
background-color: #a6e3a1;
color: #1e1e2e;
}
.pomodoro-menu .button:pressed {
background-color: #5a5b6e;
}
.calendar {
background-color: rgba(17, 17, 27, 0.4);
}
.calendar .calendar-table,
.calendar .calendar-table::item {
background-color: rgba(17, 17, 27, 0);
color: rgba(162, 177, 196, 0.85);
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
margin: 0;
padding: 0;
border: none;
outline: none;
}
.calendar .calendar-table::item:selected {
color: rgb(255, 255, 255);
background-color: #007acc;
border-radius: 10px;
}
.calendar .day-label {
margin-top: 20px;
}
.calendar .day-label,
.calendar .month-label,
.calendar .date-label,
.calendar .week-label,
.calendar .holiday-label {
font-family: 'Segoe UI';
font-size: 16px;
color: #fff;
font-weight: 700;
min-width: 180px;
max-width: 180px;
}
.calendar .week-label,
.calendar .holiday-label {
font-size: 12px;
font-weight: 600;
color: rgba(162, 177, 196, 0.85);
}
.calendar .holiday-label {
color: rgba(162, 177, 196, 0.85);
font-weight: 700;
}
.calendar .month-label {
font-weight: normal;
}
.calendar .date-label {
font-size: 88px;
font-weight: 900;
color: rgb(255, 255, 255);
margin-top: -20px;
}