{"id":43890106,"url":"https://github.com/amnweb/yasb-gui","last_synced_at":"2026-02-06T16:35:09.077Z","repository":{"id":333309618,"uuid":"1133199992","full_name":"amnweb/yasb-gui","owner":"amnweb","description":"YASB GUI is a native configuration application for YASB Reborn. Built with WinUI 3, it provides a modern interface for managing your status bar configuration without manually editing YAML files.","archived":false,"fork":false,"pushed_at":"2026-01-18T16:00:54.000Z","size":1647,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-18T22:02:28.234Z","etag":null,"topics":["ricing","status-bar","top-bar","topbar","windows","yasb","yasb-gui","yasb-reborn"],"latest_commit_sha":null,"homepage":"https://yasb.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amnweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"amnweb","ko_fi":"amnweb"}},"created_at":"2026-01-13T02:46:08.000Z","updated_at":"2026-01-18T15:50:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"63885f82-dda3-4b7c-aa7b-319ee43da6c8","html_url":"https://github.com/amnweb/yasb-gui","commit_stats":null,"previous_names":["amnweb/yasb-gui"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/amnweb/yasb-gui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnweb%2Fyasb-gui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnweb%2Fyasb-gui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnweb%2Fyasb-gui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnweb%2Fyasb-gui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amnweb","download_url":"https://codeload.github.com/amnweb/yasb-gui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnweb%2Fyasb-gui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29168608,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T16:33:35.550Z","status":"ssl_error","status_checked_at":"2026-02-06T16:33:30.716Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ricing","status-bar","top-bar","topbar","windows","yasb","yasb-gui","yasb-reborn"],"created_at":"2026-02-06T16:35:08.551Z","updated_at":"2026-02-06T16:35:09.065Z","avatar_url":"https://github.com/amnweb.png","language":"Python","readme":"# YASB GUI\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/promo.jpg\" alt=\"YASB GUI\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n**YASB GUI** is a native configuration application for [YASB Reborn](https://github.com/amnweb/yasb) (Yet Another Status Bar). Built with WinUI 3, it provides a modern interface for managing your status bar configuration without manually editing YAML files.\n\n\u003e **Note:** This application is currently in **beta**. Some features may be incomplete or subject to change. Please report any issues on the [GitHub Issues](https://github.com/amnweb/yasb-gui/issues) page.\n\n**Why a separate repository?** \n- YASB GUI is maintained separately from YASB for several reasons:\n- Built with WinUI 3, which requires Windows App SDK dependencies not needed by YASB itself\n- Keeps YASB lightweight and focused on its core functionality without GUI framework bloat\n- Allows independent development cycles and easier maintenance for both projects\n- Users who prefer manual YAML editing don't need to install unnecessary GUI dependencies\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/amnweb/yasb-gui\"\u003e\u003cimg src=\"https://img.shields.io/github/languages/top/amnweb/yasb-gui\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/amnweb/yasb-gui/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/amnweb/yasb-gui?label=Issues\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/amnweb/yasb-gui/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/amnweb/yasb-gui/total?label=Total%20Downloads\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/amnweb/yasb-gui/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/amnweb/yasb-gui?label=Latest%20Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/qkeunvBFgX\" title=\"Discord\"\u003e\u003cimg alt=\"Discord\" src=\"https://img.shields.io/discord/1353495377768218654?label=Discord\u0026cacheSeconds=600\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Features\n\n**Visual Configuration Editor**\n- Edit bars, widgets, and global settings through an intuitive interface\n- Monaco-based code editor with YAML syntax highlighting and validation\n- Real-time schema validation for configuration files\n\n**Widget Management**\n- Add, remove, and configure widgets with a visual editor\n- Support for all YASB widget types\n- Widget-specific settings panels\n\n**Styles Editor**\n- Built-in CSS editor for customizing your status bar appearance\n- Syntax highlighting and auto-completion\n\n**Environment Variables**\n- Manage environment variables used by YASB\n- Easy key-value editing interface\n\n**Application Settings**\n- Light, Dark, and System theme support\n- Multiple backdrop options: Mica, Mica Alt, and Acrylic\n- Multi-language support\n\n**Safety Features**\n- Export configuration as ZIP backup\n- Unsaved changes detection with confirmation dialogs\n- Configuration validation before save\n\n---\n\n## System Requirements\n\n| Component | Requirement |\n|-----------|-------------|\n| Operating System | Windows 10 (Build 17763+) or Windows 11 |\n| Runtime | [Windows App SDK Runtime](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads) |\n| WebView | Microsoft Edge WebView2 Runtime (included with Windows 10/11) |\n\n---\n\n## Installation\n\nDownload the latest release from the [Releases](https://github.com/amnweb/yasb-gui/releases) page.\n\n### Add a widget using a docs snippet (how it actually works)\n1) Go to **Widgets** → **Add Widget**.\n2) Pick the widget from the built-in list.\n3) In the **Options** editor, paste only the options block from the docs-not the outer `widgets:` list. Real example (Weather widget) with nested options and indentation kept:\n```yaml\nlabel: \"\u003cspan\u003e{icon}\u003c/span\u003e {temp}\"\nlabel_alt: \"{location}: Min {min_temp}, Max {max_temp}\"\napi_key: \"YOUR_API_KEY\"\nshow_alerts: true\ntooltip: true\nupdate_interval: 600\nhide_decimal: true\nunits: metric\nmenu:\n  blur: true\n  round_corners: true\n  round_corners_type: normal\n  border_color: system\n  alignment: center\n  direction: down\n  offset_top: 6\n  offset_left: 0\nicons:\n  sunnyDay: \"\\ue30d\"\n  clearNight: \"\\ue32b\"\n  cloudyDay: \"\\ue312\"\n  cloudyNight: \"\\ue311\"\n  rainyDay: \"\\ue318\"\n  rainyNight: \"\\ue318\"\n  snowyIcy: \"\\ue31a\"\n  default: \"\\ue137\"\ncallbacks:\n  on_left: toggle_menu\n```\n4) Save the widget, then hit **Apply** so YASB reloads the updated config.\n\n\u003e **Tips**\n\u003e\n\u003e Copy only the options section from the docs and paste it into the Options editor; the widget type is already set by your selection.\n\u003e\n\u003e If indentation looks off, right-click in the editor and choose **Fix indentation** from the context menu.\n\n---\n\n## Configuration\n\nThe application reads and writes YASB configuration from:\n- `~/.config/yasb/config.yaml`\n- `~/.config/yasb/styles.css`\n\nTo use a custom location, set the `YASB_CONFIG_HOME` environment variable.\n\n---\n\n## Contributing Translations\n\nYASB GUI supports multiple languages. Translation files are located in `app/core/locales/`.\n\n**To add a new language:**\n1. Copy `en.json` and rename it using the language code (e.g., `fr.json` for French)\n2. Update `_language_name` and `_language_code` at the top of the file\n3. Translate all string values while keeping the keys unchanged\n4. Do not modify placeholders (e.g., `{variable}`) within the strings\n5. Do not chnage the JSON structure\n6. Submit a pull request\n\n---\n\n## Building from Source\n\n### Development Setup\n```bash\ngit clone https://github.com/amnweb/yasb-gui.git\ncd yasb-gui\npip install -e .\npython app/main.py\n```\n\n### Building Executable\n```bash\npip install .[build]\npython app/scripts/build.py build\n```\nThe executable will be created in the `dist/` directory.\n\n### Building MSIX Package\nAfter building the executable, you can create an MSIX package:\n```bash\npython app/scripts/build_msix.py\n```\nThe MSIX will be created in the `msix/` directory.\n\n**Options:**\n- `--arch x64|aarch64` - Target architecture (default: x64)\n- `--output \u003cpath\u003e` - Output directory for MSIX\n\n### Local Development (Unsigned MSIX)\nFor local testing without code signing, register the package in development mode:\n```powershell\n# Register the package (runs from extracted layout, not the .msix file)\nAdd-AppxPackage -Path \"msix/layout/AppxManifest.xml\" -Register\n\n# Launch the app\nStart-Process \"shell:AppsFolder\\YASB.GUI_wbnnev551gwxy!App\"\n\n# Uninstall when done\nGet-AppxPackage -Name \"YASB.GUI\" | Remove-AppxPackage\n```\n\n### Local Signing (Optional)\nTo test with a signed MSIX locally, create a self-signed certificate:\n```powershell\n# Create a self-signed certificate (run once)\n$cert = New-SelfSignedCertificate -Type Custom -Subject \"CN=YourName\" `\n  -KeyUsage DigitalSignature -FriendlyName \"YASB GUI Dev\" `\n  -CertStoreLocation \"Cert:\\CurrentUser\\My\" `\n  -TextExtension @(\"2.5.29.37={text}1.3.6.1.5.5.7.3.3\")\n\n# Export to PFX (set a password)\n$pwd = ConvertTo-SecureString -String \"YourPassword\" -Force -AsPlainText\nExport-PfxCertificate -Cert $cert -FilePath \"dev-cert.pfx\" -Password $pwd\n\n# Trust the certificate (required to install signed packages)\nImport-Certificate -FilePath (Export-Certificate -Cert $cert -FilePath \"dev-cert.cer\") `\n  -CertStoreLocation \"Cert:\\LocalMachine\\TrustedPeople\"\n\n# Sign the MSIX\n\u0026 \"C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe\" sign `\n  /fd SHA256 /a /f \"dev-cert.pfx\" /p \"YourPassword\" \"msix\\yasb-gui-0.0.2-x64.msix\"\n\n# Install the signed MSIX\nAdd-AppxPackage -Path \"msix\\yasb-gui-0.0.2-x64.msix\"\n```\n\n\u003e **Note:** Update the Publisher in `build_msix.py` to match your certificate's CN if signing locally.\n\n---\n\n## Support the Project\n\nIf you find YASB GUI useful, consider supporting its development:\n\n[![GitHub Sponsors](https://img.shields.io/badge/Sponsor-GitHub-ea4aaa?logo=github)](https://github.com/sponsors/amnweb)\n[![Ko-fi](https://img.shields.io/badge/Support-Ko--fi-ff5e5b?logo=ko-fi)](https://ko-fi.com/amnweb)\n\nYour support helps maintain and improve the project.","funding_links":["https://github.com/sponsors/amnweb","https://ko-fi.com/amnweb"],"categories":["📑 Apps List"],"sub_categories":["🆕 Newly Added Apps!"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famnweb%2Fyasb-gui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famnweb%2Fyasb-gui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famnweb%2Fyasb-gui/lists"}