Skip to content

Releases: glzr-io/zebar

v1.6.0

27 Jul 19:18
Compare
Choose a tag to compare

Installers are available at the bottom of the release notes.

Also download either the attached start.bat (for Windows) or start.sh script (for MacOS & Linux). Run the script after install to launch the default bar, which will create a config file located at %userprofile%/.glzr/zebar/config.yaml.

🎉 New features

  • Big improvements to the sample config.
    • Focus workspace on click via GlazeWM workspace buttons.
    • Show GlazeWM binding modes + tiling direction
    • Style improvements
  • Generate sample JS script to %userprofile%/.glzr/zebar/script.js on first run.
  • Improve whitespace handling in template engine.
  • Update GlazeWM provider to v3, with new properties added to the glazewm provider.

🛠️️ Internal changes

  • Reorder GH release assets.
  • Skip signing if azuresigntool is not installed.
  • Improvements to GH workflows.

To update to the latest sample config, delete the old config.yaml file and regenerate it via the start script below.


Big thanks to @lars-berger for contributing to this release 💛

v1.5.1

23 Jul 21:52
Compare
Choose a tag to compare

Installers are available at the bottom of the release notes.

Also download either the attached start.bat (for Windows) or start.sh script (for MacOS & Linux). Run the script after install to launch the default bar, which will create a config file located at %userprofile%/.glzr/zebar/config.yaml.

🐛 Bug fixes

  • Added code signing for Windows. The MSI installers and the underlying .exe's are now digitally signed.
    • This should help with the Windows Defender smartscreen warnings that some people were facing. It will take a bit of time before reputation is built up, so there's still a chance that a smartscreen is initially shown.

🛠️️ Internal changes

  • Fix cargo dependency caching in CI/CD workflows.

Big thanks to @lars-berger for contributing to this release 💛

v1.5.0

23 Jul 21:49
Compare
Choose a tag to compare

Installers are available at the bottom of the release notes.

Also download either the attached start.bat (for Windows) or start.sh script (for MacOS & Linux). Run the script after install to launch the default bar, which will create a config file located at %userprofile%/.glzr/zebar/config.yaml.

🎉 New features

  • Add system tray icon with menu options to kill Zebar and open the config directory.
  • Kill the process if all windows have been closed.

📘 Docs improvements

  • Remove readme section for GlazeWM bar migration.

🛠️️ Internal changes

  • Add code signing via CI/CD.

Big thanks to @lars-berger for contributing to this release 💛

v1.4.0

22 Jul 13:26
Compare
Choose a tag to compare

Installers are available at the bottom of the release notes.

Also download either the attached start.bat (for Windows) or start.sh script (for MacOS & Linux). Run the script after install to launch the default bar, which will create a config file located at %userprofile%/.glzr/zebar/config.yaml.

🎉 New features

  • GlazeWM and Komorebi providers update on window move/resize (#43).
  • Hidden window style in default start.bat script.
  • Improve error messages; show error dialog on CSS build errors.
  • Improve network provider error handling (#44).
  • Leave new-line characters as-is when parsing templates.
  • Prevent multiple dialogs from being open at the same time.
  • Prevent the dock icon from showing on MacOS.
  • Remove SCSS support, since it's essentially redundant with native CSS nesting.
  • Rename show_in_taskbar -> shown_in_taskbar. Add alias for old name.
  • Rework network provider using netdev crate; add signal strength + SSID on Windows (#36).
    • Rework the network provider to primarily retrieve info from netdev crate, which is cross-platform functional. This means breaking changes to the available variables.
    • Add WiFi signal strength, connection status, and SSID on on Windows using netsh.
  • Run custom scripts on element events (#62).

🐛 Bug fixes

  • Add updated CSP policy.
  • Avoid deadlock when refreshing + emitting for a provider simultaneously.
  • Fix broken Nerdfont icon in network sample config.
  • Prevent duplicate subscriptions to provider emissions.
  • Update GlazeWM workspaces on focus changes; order workspaces by number (#34).

📘 Docs improvements

  • Fix Komorebi example in readme (#35).

🛠️️ Internal changes

  • Change installation directory on Windows.
  • Drop 32-bit Windows support; add 64-bit Windows ARM.
  • Enable devtools in release mode.
  • Rename installers in GH release.
  • Set version number on build.
  • Upgrade to latest Tauri v2 beta.

Big thanks to @CtByte ,@matthewtapps, @LGUG2Z, @lars-berger, and @ashwinjadhav818 for contributing to this release 💛

v1.3.0

01 Mar 18:38
Compare
Choose a tag to compare

Downloads are available at the bottom of the release notes. Use the .msi installer on Windows, .dmg on MacOS, and .deb or .AppImage on Linux.

Also download either the attached start.bat (for Windows) or start.sh script (for MacOS & Linux). Run the script after install to launch the default bar, which will create a config file located at %userprofile%/.glzr/zebar/config.yaml.

🎉 New features

  • Add komorebi provider (#32).
  • Send cached provider output if within a minimum refresh interval (#31).

📘 Docs improvements

  • Fix broken links in readme.
  • Update readme regarding start script.
  • Update readme with GlazeWM ignore rule.

🛠️️ Internal changes

  • Upgrade to Tauri v2 beta (#29).

Big thanks to @lars-berger for contributing to this release 💛

v1.2.1

17 Feb 08:43
Compare
Choose a tag to compare

The first proper release of Zebar 🎉

Downloads are available at the bottom of the release notes. Use the .msi installer on Windows, .dmg on MacOS, and .deb or .AppImage on Linux.

Also download either the attached start.bat (for Windows) or start.sh script (for MacOS & Linux). Run the script after install to launch the default bar, which will create a config file located at %userprofile%/.glzr/zebar/config.yaml.

If you want to replace the GlazeWM bar, modify the following GlazeWM config options (at %userprofile%/.glaze-wm/config.yaml):

gaps:
  # Add more spacing at the top.
  outer_gap: '45px 20px 20px 20px'

bar:
  # Disable the built-in GlazeWM bar.
  enabled: false
  
window_rules:
  # Ignore the bar window.
  - command: "ignore"
    match_process_name: "/Zebar/"

v1.2.0

17 Feb 08:05
Compare
Choose a tag to compare

🎉 New features

  • Add global_styles property on window; remove root_styles from global config.
  • Add isCharging variable to battery provider.
  • Add usage variable to memory provider.
  • Add additional weather statuses.
  • Add debug logs to incoming provider variables.
  • Add memory usage indicator to sample config.
  • Add sample start scripts to config dir (#26).
  • Disable window shadows (causes issues with transparency on Windows).
  • Improve error handling; show error dialogs (#27).
  • Improve sample config (add weather, battery, cpu, logo).
  • Improve templating error messages.
  • Lower refresh interval of battery provider to 5s.
  • Make global property of config optional.
  • Minor style changes to sample config.
  • Remove element type prefix from ids.
  • Rename root element mounted during render.
  • Return time till full + empty in milliseconds.
  • Set parsed global scss/css styles.
  • Simplify rendering of template elements; remove references to slot feature.
  • Tweak battery charging icon in sample config.

🐛 Bug fixes

  • Correctly hide window from taskbar based off config value.
  • Parsed tokens weren't being cached properly.
  • Prevent running on_start repeatedly on provider refresh.
  • Reactivity issue with redrawing window on config changes.
  • Show battery charging icon correctly.

📘 Docs improvements

  • Add note for contributors regarding dev script on Windows.
  • Add provider variables + configs to readme (#23).

🛠️️ Internal changes

  • Add GPL-3.0 license.
  • Attempt to download a specific bundle artifact.
  • Change product name in Tauri config.
  • Correct pattern to match bundle artifacts.
  • Custom Wix installer template (#24).
  • Fix client-only build step; add permissions for PR title check (#25).
  • Fix release action (#21).
  • Remove pattern to match bundle artifacts.
  • Remove turbo; replace with recursive/parallel pnpm calls.
  • Remove unimplemented providers.
  • Rename config property refresh_interval_ms -> refresh_interval.
  • Rename workspaces variable on glazewm provider.
  • Temporarily remove semantic-release step.
  • Update all npm dependencies to latest (#22).

Big thanks to @lars-berger for contributing to this release 💛

v1.1.0

04 Feb 08:24
Compare
Choose a tag to compare

🎉 New features

  • self provider uses element context (#18).
  • Add monitors and open cli commands (#10).
  • Add self and monitors providers (#13).
  • Add monitor scale factor to monitor cli.
  • Async initialization of providers (#14).
  • Change always_on_top to z_order; allow setting to always on bottom.
  • Change config directory.
  • Change default class name from bar to window.
  • Change element class name to accept an array.
  • Create providers for cpu, memory, host, network, and battery (#9).
  • Expose isLoading variable from providers.
  • Implement ip and weather providers in Rust (#16).
  • Improve provider error handling (#15).
  • Provider suspense (#11).
  • Remove context functions; remove transforms when rendering.
  • Rename date_time provider -> date; add full implementation.
  • Set position + size twice to account for cross-monitor moves.
  • Set z-order above menu bar on macos when always_on_top.
  • Store map of window labels and corresponding open window args; add command for getting args.
  • Use logical position when positioning windows.

🐛 Bug fixes

  • Correctly resolve sample config resource after tauri v2 upgrade.
  • For error on multiple windows on w10.
  • Import invoke from @tauri-apps/api/core.
  • Successfully emit window open args to first instance.

📘 Docs improvements

  • Add contributing info.
  • Add to guide for creating new provider.

🛠️️ Internal changes

  • Add .prettierignore; add check for cargo fmt.
  • Add GitHub actions workflows (#20).
  • Add install step to release.
  • Add pnpm setup prior to running semantic-release.
  • Avoid requiring provider state to be a mutex.
  • Bump .nvmrc to node 20.
  • Change how monitors are fetched client-side.
  • Consume GLZR style guide (#19).
  • Create ProviderType ts type.
  • Create TS enum for ProviderType.
  • Dependency related fixes.
  • Formatting in ARCHITECTURE.md.
  • Move out shared emit_open_args fn.
  • Publish with pnpm package manager.
  • Remove context dir.
  • Remove getChildConfigs in favor of getChildIds.
  • Remove templates dir.
  • Remove CSS modules VSCode recommended extension.
  • Remove separation between config + options.
  • Remove unused util getRandomWithoutCollision.
  • Remove unused variable configs.
  • Rename getElementVariables -> getElementProviders.
  • Set max print width to 75 in prettier + rustfmt configs (#17).
  • Update to tauri v2 alpha.
  • Use tauri dev command instead of cargo run.

Big thanks to @lars-berger for contributing to this release 💛