Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[create-theme]: Nord Dynamic #19

Closed
S-N00B-1 opened this issue Oct 6, 2024 · 1 comment
Closed

[create-theme]: Nord Dynamic #19

S-N00B-1 opened this issue Oct 6, 2024 · 1 comment

Comments

@S-N00B-1
Copy link
Contributor

S-N00B-1 commented Oct 6, 2024

Name

Nord Dynamic

Description

A Nord based theme, with light and dark variants.

Homepage

https://github.com/S-N00B-1/Nord-Dynamic-Yasb-Theme

Image

https://github.com/user-attachments/assets/25342663-d5dc-4c62-b516-1e45c69db0c7

Theme Styles

/*
A version of Nord's arctic, north-bluish color palette, 
with a Nord4 based colour pallete for light mode, 
and a Nord0 based colour pallete for dark mode.

:root {
	--nord0: rgb(46, 52, 64); // Darkest Night
	--nord1: rgb(59, 66, 82);
	--nord2: rgb(67, 76, 94);
	--nord3: rgb(76, 86, 106); // Lightest Night
  
	--nord4: rgb(216, 222, 233); // Darkest Snow
	--nord5: rgb(229, 233, 240);
	--nord6: rgb(236, 239, 244); // Lighest Snow
	
	--nord7: rgb(143, 188, 187); // Light Frost
	--nord8: rgb(136, 192, 208); // Lightest Frost
	--nord9: rgb(129, 161, 193); // Dark Frost
	--nord10: rgb(94, 129, 172); // Darkest Frost

	--nord11: rgb(191, 97, 106);  // Red
	--nord12: rgb(208, 135, 112); // Orange
	--nord13: rgb(235, 203, 139); // Yellow
	--nord14: rgb(163, 190, 140); // Green
	--nord15: rgb(180, 142, 173); // Magenta
}
*/

* {
	font-size: 12px;
	color: rgb(76, 86, 106);
	font-weight: 500;
	font-family: "JetBrainsMono Nerd Font";
	margin: 0;
	padding: 0;
}

.yasb-bar {
	padding: 0;
	margin: 0;
    background-color: rgb(216, 222, 233);
	border-radius: 5px;
}

.widget {
	padding: 0 8px;
	margin: 0 4px;
}
.widget .label {
	padding: 0px 2px; 
}
.widget .label.alt {
	padding: 0px 8px;
}

.active-window-widget {
	border-radius: 4px;
	margin-left: 8px;
}

.komorebi-workspaces {
	margin: 4px 4px;
	border-radius: 4px;
    padding: 4px 0;
}
.komorebi-workspaces .ws-btn {
	font-size: 12px;
    border: none;
    color: rgb(76, 86, 106);
    padding: 0 8px 0 8px;
}
.komorebi-workspaces .ws-btn:hover {
    color: rgb(46, 52, 64);
}
.komorebi-workspaces .ws-btn.populated {
	color: rgb(76, 86, 106);
}
.komorebi-workspaces .ws-btn.active {
    color: rgb(129, 161, 193);
}

/* Blue Power Button: rgb(94, 129, 172); */
.power-menu-widget .label {
	color: rgb(191, 97, 106);
	font-size: 16px;
	padding-right: 4px;
}

.uptime {
	font-size: 14px;
	margin-bottom: 10px;
	color: rgb(216, 222, 233);
	font-weight: 600;
}
.power-menu-popup {
	background-color: rgb(46, 52, 64);
	border-radius: 6px;
}
.power-menu-popup .button {
	width: 240px;
	height: 120px;
	border-radius: 8px;
	background-color: rgb(59, 66, 82);
	color: rgb(229, 233, 240);
	margin: 8px;
}
.power-menu-popup .button.hover {
	background-color: rgb(76, 86, 106);
}
.power-menu-popup .button .label {
	margin-bottom: 8px;
	font-size: 16px;
	color: rgb(216, 222, 233);
}

.power-menu-popup .button .icon {
	font-size: 48px;
	padding-top: 12px;
	padding-right: 8px;
	color: rgb(229, 233, 240);
}
.power-menu-popup .button.cancel .icon {
	color: rgb(94, 129, 172);
}
.power-menu-popup .button.cancel .label {
	color: rgb(94, 129, 172);
}

/* Blue Power Button: rgb(143, 188, 187); */
.power-menu-popup .button.shutdown .icon {
	color: rgb(191, 97, 106);
}
.power-menu-popup .button.shutdown .label {
	color: rgb(191, 97, 106);
}

/* ICONS */
.icon {
	font-size: 16px;
    margin-right:4px;
}
.cpu-widget .icon {
	font-size: 14px;
	color: rgb(163, 190, 140);
}

.memory-widget .icon {
	font-size: 14px;
	color: rgb(208, 135, 112);
}  

.weather-widget .label,
.weather-widget .icon {
    color: rgb(235, 203, 139);
}
.weather-widget .icon {
	font-size: 16px;
}
.weather-widget .icon.clearNight {
	font-size: 16px;
}
.weather-widget .icon.cloudyNight {
    font-size: 18px;
} 

.volume-widget .icon {
	color: rgb(129, 161, 193);
}

.taskbar-widget .app-icon{
    padding:0 6px;
    border: none;
    margin: 0;
}

/* NEW MEDIA WIDGET */
.media-widget {
	padding: 0;
	margin: 0;
    border-radius: 0;
}
.media-widget .label {
	color: rgb(46, 52, 64);
	padding: 0 4px;
	font-size: 11px;
}
.media-widget .btn {
	color: rgb(76, 86, 106);
	padding: 0 3px;
	margin: 4px 0;
}
.media-widget .btn:hover {
	color: rgb(46, 52, 64);
}
.media-widget .btn.play {
	font-size: 16px;
}
.media-widget .btn.disabled:hover,
.media-widget .btn.disabled {
	color: rgb(76, 86, 106);
	font-size: 12px;
}

/* SYSTEM WIDGET */
/* Grey Sys Widget: Remove colour attribute */
.system-widget .label {
	font-size: 24px;
	color: rgb(94, 129, 172);
}

/* DARK THEME BELOW */

*.dark .label {
	color: rgb(236, 239, 244);
}

.yasb-bar.dark {
    background-color: rgb(46, 52, 64);
}

*.dark .komorebi-workspaces .ws-btn {
    color: rgb(76, 86, 106);
}
*.dark .komorebi-workspaces .ws-btn:hover {
    color: rgb(129, 161, 193);
}
*.dark .komorebi-workspaces .ws-btn.populated {
	color: rgb(76, 86, 106);
}
*.dark .komorebi-workspaces .ws-btn.active {
    color: rgb(129, 161, 193);
}

/* Blue Power Button: rgb(94, 129, 172); */
*.dark .power-menu-widget .label {
	color: rgb(191, 97, 106);
}

/* NEW MEDIA WIDGET */
*.dark .media-widget .label {
	color: rgb(216, 222, 233);
}
*.dark .media-widget .btn {
	color: rgb(216, 222, 233);
}
*.dark .media-widget .btn:hover {
	color: rgb(236, 239, 244);
}
*.dark .media-widget .btn.disabled:hover,
*.dark .media-widget .btn.disabled {
	color: rgb(216, 222, 233);
}

/* SYSTEM WIDGET */
/* Grey Sys Widget: Remove colour attribute */
*.dark .system-widget .label {
	font-size: 24px;
	color: rgb(94, 129, 172);
}

Theme Config

watch_stylesheet: true
watch_config: true

komorebi:
  start_command: "komorebic start --whkd"
  stop_command: "komorebic stop --whkd"
  reload_command: "komorebic reload-configuration"
  
bars:
  status-bar:
    enabled: true
    #screens: ['DELL P2419H (1)'] 
    #screens: ['DELL P2419H (2)'] 
    screens: ['*'] 
    class_name: "yasb-bar"
    alignment:
      position: "top"
      center: false
    blur_effect:
      enabled: false 
      acrylic: false 
      dark_mode: false
      round_corners: false
    window_flags:
      always_on_top: false
      windows_app_bar: true
    dimensions:
      width: "100%"
      height: 32
    padding:
      top: 8
      left: 12
      bottom: 0
      right: 12
    widgets:
      left:
        [
          "win_button",
          "komorebi_workspaces"
        ] 
      center: [
         "active_window"
        ]
      right:
        [
          "clock",
          "cpu",
          "memory",
          "volume",
          "power_menu"
        ]
widgets:
  media:
    type: "yasb.media.MediaWidget"
    options:
      label: "{title} - {artist}"
      label_alt: "{title}"
      max_field_size:
        label: 20
        label_alt: 30
      show_thumbnail: false
      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: "\uf04b"
        pause: "\uf04c"
  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: 56
      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>\uefc5</span> {virtual_mem_percent}%"
      label_alt: "<span>\uefc5</span> {virtual_mem_free}"
      update_interval: 10000
      callbacks:
        on_right: "exec cmd /c Taskmgr"
  komorebi_workspaces:
    type: "komorebi.workspaces.WorkspaceWidget"
    options:
        label_offline: "Komorebi Offline"
        label_workspace_btn: "\uf10c"
        label_workspace_active_btn: "\uf192"
        label_workspace_populated_btn: "\uf192"
        label_default_name: "{index}"
        label_zero_index: false
        hide_empty_workspaces: false
        hide_if_offline: true
  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"
      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: 'Los Angeles, CA, USA' # 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}
  lang:
    type: "yasb.custom.CustomWidget"
    options:
      label: "<span>\uf1ab</span>{data}"
      label_alt: "{data}"
      class_name: "lang-widget"
      exec_options:
        run_cmd: "powershell Add-Type -AssemblyName System.Windows.Forms;([System.Windows.Forms.InputLanguage]::CurrentInputLanguage).Culture.Name"
        # run every 10 sec
        run_interval: 10000
        return_format: "string"
  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"]
        shutdown: ["\uf011","Shut Down"]
        restart: ["\uead2","Restart"]
        #hibernate: ["\uf28e","Hibernate"]
        sleep: ["\u23fe","Sleep"]
        cancel: ["\udb81\udf3a","Cancel"]
        #force_shutdown: ["\uf011","Force Shut Down"]
        #force_restart: ["\uead2","Force Restart"]
  apps:
    type: "yasb.applications.ApplicationsWidget"
    options:
      label: "{data}"
      app_list:
        #- {icon: "\uf489", launch: "wt"}
        #- {icon: "\uf413", launch: "explorer c:\\Users\\amn"}
        #- {icon: "\udb82\ude1e", launch: "C:\\Users\\amn\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"}
        #- {icon: "\udb80\ude39", launch: "C:\\Program Files\\Mozilla Firefox\\firefox.exe"}
        #- {icon: "\uf1ff", launch: "C:\\Users\\amn\\AppData\\Local\\Discord\\Update.exe --processStart Discord.exe"}
        #- {icon: "\ue217", launch: "C:\\Users\\amn\\AppData\\Roaming\\Telegram Desktop\\Telegram.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"}
        # 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: ghp_xxxxxxxxxxx # GitHub Personal access tokens (classic) https://github.com/settings/tokens
      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
  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: "\udb80\udf5c"
      label_alt: "\udb80\udf5c"
      class_name: "system-widget"
      callbacks:
        on_left: "exec start_menu"

Readme

# Nord Dynamic

![Preview](https://github.com/user-attachments/assets/25342663-d5dc-4c62-b516-1e45c69db0c7)

A version of [Nord's](https://github.com/nordtheme/nord) arctic, north-bluish color palette, with a Nord4 based colour pallete for light mode, and a Nord0 based colour pallete for dark mode.
Copy link
Contributor

github-actions bot commented Oct 6, 2024

Thank you for your contribution! 🎉

Your theme has been successfully submitted. The maintainers will review it and get back to you soon.

Here are some details about your submission:

If you have any questions or need help, feel free to ask in the comments below or in the PR.

@github-actions github-actions bot closed this as completed Oct 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant