Releases: glzr-io/zebar
v1.7.0
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 MSI flag for optionally adding GlazeWM starter files (for use with 3rd-party installers).
🛠️️ Internal changes
- Add verbose Tauri build logs.
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.6.1
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
- CSP fix to allow local JS scripts to be loaded.
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.6.0
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
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
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
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 fromnetdev
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
.
- Rework the
- 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
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
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
🎉 New features
- Add
global_styles
property on window; removeroot_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
🎉 New features
self
provider uses element context (#18).- Add
monitors
andopen
cli commands (#10). - Add
self
andmonitors
providers (#13). - Add monitor scale factor to monitor cli.
- Async initialization of providers (#14).
- Change
always_on_top
toz_order
; allow setting to always on bottom. - Change config directory.
- Change default class name from
bar
towindow
. - Change element class name to accept an array.
- Create providers for
cpu
,memory
,host
,network
, andbattery
(#9). - Expose
isLoading
variable from providers. - Implement
ip
andweather
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 forcargo 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 ofgetChildIds
. - 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 ofcargo run
.
Big thanks to @lars-berger for contributing to this release 💛