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]: Aura #11

Closed
ashwinjadhav818 opened this issue Aug 29, 2024 · 1 comment
Closed

[create-theme]: Aura #11

ashwinjadhav818 opened this issue Aug 29, 2024 · 1 comment

Comments

@ashwinjadhav818
Copy link
Contributor

Name

Aura

Description

A minimal theme with Acrylic background.

Homepage

https://github.com/ashwinjadhav818/dotfiles

Image

https://i.imgur.com/AInbQB5.png

Theme Styles

/*
.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
*/
* {
	font-size: 13px;
	color: #cdd6f4;
	font-weight: 500;
	font-family: "SegoeUI Nerd Font";
	margin: 0;
	padding: 0;
}
.yasb-bar {
	padding: 0;
	margin: 0 0px;
}
.widget {
	padding: 0 8px;
	margin: 0 0px;
}
.widget .label {
	padding-bottom: 2px;
}
.widget .label:hover {
    color: #fff;
}
.container-left,
.container-center,
.container-right {
	margin: 0;
	padding: 0;
}

.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;
}
.komorebi-active-layout {
	padding: 0;
}
.komorebi-active-layout .label {
    font-family: "JetBrainsMono Nerd Font";
}
.search-widget {
    padding: 0 2px;
}
.search-widget .label {
	padding: 0 7px 0 5px;
}

/*POWER MENU WIDGET*/
/* Uptime text */
.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 {
	font-size: 13px;
    margin-left: 7px;
}
.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: 20px;
	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-family: "Segoe Fluent Icons";
    color: #829fc1;
	padding: 3px;
    font-size: 16px;
}
.media-widget .btn {
	font-family: "Segoe Fluent Icons";
}
.battery-widget .icon {
    font-size: 18px;
    margin-bottom: 1px;
}
.volume-widget .icon {
	color: #89b4fa;
}
.cpu-widget .icon,
.memory-widget .icon {
	font-size: 14px;
	color: #cba6f7;
	margin: 0 4px 1px 0;
}
.memory-widget .icon {
	color: #a6c9f7;
}
.wifi-widget .icon {
	color: #43d8d8;
	padding: 0 6px;
	margin: 0;
}
.weather-widget .icon {
    font-family: "JetBrainsMono NFP"
}
.icon,
.media-widget .btn,
.power-menu-widget .label {
    color: #829fc1;
}

/* 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 {}
*/


/* NEW MEDIA WIDGET */
.media-widget {
    padding-right: 0;
}
.media-widget .label {
	color: #bac2db;
}
.media-widget .btn {
	padding: 0 5px;
	margin: 4px 2px;
}
.media-widget .btn:hover {
	color: #babfd3;
}
.media-widget .btn.play {
    border-radius: 12px;
	font-size: 12px;
}
.media-widget .btn.disabled:hover,
.media-widget .btn.disabled {
	color: #4e525c;
	font-size: 12px;
	background-color: rgba(0, 0, 0, 0);
}

Theme Config

watch_stylesheet: true
watch_config: true

komorebi:
  start_command: "pwsh -Command komorebic start --ahk"
  stop_command: "komorebic stop"
  reload_command: "pwsh -Command komorebic stop && komorebic start --ahk"

bars:
  status-bar:
    enabled: true
    screens: ['*']
    class_name: "yasb-bar"
    alignment:
      position: "top"
      center: true
    blur_effect:
      enabled: true
      acrylic: true
      dark: false
    window_flags:
      always_on_top: false
      windows_app_bar: true
    dimensions:
      width: "100%"
      height: 40
    padding:
      top: 0
      left: 0
      bottom: 0
      right: 0
    widgets:
      left:
        [
          "power_menu",
          "komorebi_workspaces", 
          "komorebi_active_layout",
          "active_window",
        ]
      center: ["clock", "search_button"]
      right:
        [
          "media_player",
          "weather",
          "volume",
          "wifi",
          "battery",
          "notification_button"
        ]

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: 56
      label_icon: true
      label_icon_size: 16
      max_length_ellipsis: ".."
      monitor_exclusive: false

  battery:
    type: "yasb.battery.BatteryWidget"
    options:
      label: "<span>{icon}</span>{percent}%"
      label_alt: "<span>{icon}</span> {percent}% | time: {time_remaining}"
      charging_options:
        icon_format: "{charging_icon}"
      status_icons:
        icon_charging: "\ue83e"
        icon_critical: "\ue851"
        icon_low: "\ue852"
        icon_medium: "\ue855"
        icon_high: "\ue858"
        icon_full: "\ue83f"

  clock:
    type: "yasb.clock.ClockWidget"
    options:
      label: "{%a %I:%M %p}"
      label_alt: "{%A %d %B %Y %I:%M %p}"
      #timezones: ["Europe/London", "America/New_York"]
      timezones: []
      callbacks:
        on_middle: "exec explorer.exe shell:Appsfolder\\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App"
        on_right: "next_timezone"

  cpu:
    type: "yasb.cpu.CpuWidget"
    options:
      label: "<span>\uf4bc</span> {info[percent][total]}%"
      label_alt: "<span>\uf437</span> {info[histograms][cpu_percent]}"
      update_interval: 500
      histogram_icons:
        - "\u2581" # 0%
        - "\u2581" # 10%
        - "\u2582" # 20%
        - "\u2583" # 30%
        - "\u2584" # 40%
        - "\u2585" # 50%
        - "\u2586" # 60%
        - "\u2587" # 70%
        - "\u2588" # 80%+
      histogram_num_columns: 10
      callbacks:
        on_right: "exec cmd /c Taskmgr"

  memory:
    type: "yasb.memory.MemoryWidget"
    options:
      label: "<span>\uf200</span> {virtual_mem_free}"
      label_alt: "<span>\uf4bc</span> {virtual_mem_percent}%"
      update_interval: 5000
      callbacks:
        on_right: "exec cmd /c Taskmgr"

  komorebi_workspaces:
    type: "komorebi.workspaces.WorkspaceWidget"
    options:
      label_offline: "Komorebi Offline"
      label_workspace_btn: "\uf4c3"
      label_default_name: "{index}"
      label_zero_index: false
      hide_empty_workspaces: false
      # callbacks:
      #   on_left: "activate"
      #   on_middle: "rename_temporary"
      #   on_right: "rename_permanent"

  komorebi_active_layout:
    type: "komorebi.active_layout.ActiveLayoutWidget"
    options:
      hide_if_offline: false
      label: "{icon}"
      layouts: ['bsp', 'columns', 'rows', 'grid', 'vertical_stack', 'horizontal_stack', 'ultrawide_vertical_stack']
      layout_icons:
        bsp: "[\\\\]"
        columns: "[||]"
        rows: "[==]"
        grid: "[G]"
        vertical_stack: "[V]="
        horizontal_stack: "[H]="
        ultrawide_vertical_stack: "||="
        monocle: "[M]"
        maximised: "[X]"
        floating: "><>"
        paused: "[P]"
      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: "<span>{wifi_icon}</span> {wifi_name}"
      update_interval: 5000
      wifi_icons:
        - "\udb82\udd2e" # 0% strength (no wifi)
        - "\udb82\udd1f" # 1-25% strength
        - "\udb82\udd22" # 26-50% strength
        - "\udb82\udd25" # 51-75% strength
        - "\udb82\udd28" # 76-100% strength. Alternate theming: \uf1eb
      callbacks:
        on_left: "exec quick_settings"
        on_middle: "do_nothing"
        on_right: "exec cmd.exe /c start ms-settings:network"

  disk:
    type: "yasb.disk.DiskWidget"
    options:
        label: "<span>\udb80\udeca</span>{volume_label} {space[used][percent]}"
        label_alt: "<span>\udb80\udeca</span>{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

  volume:
    type: "yasb.volume.VolumeWidget"
    options:
      label: "<span>{icon}</span> {level}"
      label_alt: "{volume}"
      volume_icons:
        - "\uea85"  # Icon for muted
        - "\ue992"  # Icon for 0-10% volume
        - "\ue993"  # Icon for 11-30% volume
        - "\ue994"  # Icon for 31-60% volume
        - "\ue995"  # Icon for 61-100% volume
      callbacks:
        # on_left: "exec quick_settings"
        on_middle: "do_nothing"
        on_right: "exec cmd.exe /c start ms-settings:sound"

  media_player:
      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: 7 # Set to 0 for square corners
        icons:
          prev_track: "\ue622"
          next_track: "\ue623"
          play: "\uf5b0"
          pause: "\ue62e"

  traffic:
    type: "yasb.traffic.TrafficWidget"
    options:
      # can be: download_speed, download_justified, download_category, and same for upload
      label: "\ueb01 \ueab4 {download_justified} | \ueab7 {upload_justified}"
      label_alt: "\ueb01 \ueab4 {download_category} | \ueab7 {upload_category}"
      update_interval: 1000 # Update interval should be a multiple of 1000
      callbacks:
        on_right: "exec cmd /c Taskmgr"

  power_menu:
    type: "yasb.power_menu.PowerMenuWidget"
    options:
      label: "<span>\ue62a</span>"
      blur_background: true
      animation_duration: 200 # Milisecond 
      button_row: 3 # Number of buttons in row, min 1 max 5
      buttons:
        lock: ["\ue72e","Lock"]
        # signout: ["\udb80\udf43","Sign out"]
        sleep: ["\uf1db","Sleep"]
        shutdown: ["\ue7e8","Shut Down"]
        restart: ["\ue777","Restart"]
        hibernate: ["\ue823","Hibernate"]
        cancel: ["\ue711","Cancel"]
        #force_shutdown: ["\uf011","Force Shut Down"]
        #force_restart: ["\uead2","Force Restart"]

  weather:
    type: "yasb.weather.WeatherWidget"
    options:
      label: "<span>{icon}</span> {temp_c}"
      label_alt: "Min {min_temp_c}, Max {max_temp_c}, Humidity {humidity}"
      api_key: '3bf4cf9a7c3f40d6b31174128242807'
      update_interval: 600 #Update interval in seconds, Min 600
      hide_decimal: true
      location: 'London UK' # 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}

  # Some custom widgets
  explorer_button:
    type: "yasb.custom.CustomWidget"
    options:
      label: "\uf07c"
      label_alt: "Explorer"
      class_name: "explorer-widget"
      exec_options:
        run_once: true
      callbacks:
        on_left: "exec explorer.exe"
        on_right: "toggle_label"

  ip_info:
    type: "yasb.custom.CustomWidget"
    options:
      label: "\uf3c5 {data[city]}, {data[region]}"
      label_alt: "\uf3c5 {data[ip]} [{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
  
  lang:
    type: "yasb.custom.CustomWidget"
    options:
      label: "\udb80\udf0c {data}"
      label_alt: "\udb81\udfd3 {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 3 sec
        run_interval: 3000
        return_format: "string"

  notification_button:
    type: "yasb.custom.CustomWidget"
    options:
      label: "<span>\uf0f3</span>"
      label_alt: "<span>\uf49a</span>"
      class_name: "notification-widget"
      callbacks:
        on_left: "exec notification_center"
        on_right: "toggle_label"

  search_button:
    type: "yasb.custom.CustomWidget"
    options:
      label: "<span>\uf422</span>"
      label_alt: "<span>\uf422</span> Search"
      class_name: "search-widget"
      exec_options:
        run_once: true
      callbacks:
        on_left: "exec search"
        on_right: "toggle_label"

Readme

A minimal theme with Acrylic background.
Copy link
Contributor

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.

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