Zebar lets you create customizable and cross-platform desktop widgets.
Installation โข Intro โข FAQ โข Contributing โ
Downloads for Windows, MacOS, and Linux are available in the latest release.
For building locally, follow the instructions here.
When Zebar is first launched, a set of default widget configs are generated to %userprofile%/.glzr/zebar
. This includes various examples and templates to get you started with creating your own widgets.
To create a new widget, simply copy its config file into the %userprofile%/.glzr/zebar
directory.
Widgets are powered by native webviews (similar to Electron, but less resource heavy). Every widget has its own config file and a corresponding HTML file for the markup and styling of the window. This is an ordinary HTML file, so any frontend framework (React, Angular, Vue, etc.) can be used.
Zebar exposes various system information (refered to as "providers") which can be used and displayed by your frontend. This includes stats like CPU usage, battery info, various window manager integrations, and lots more.
Q: Help! On Windows, Zebar is failing to start?
In some cases, updating to the latest Microsoft Webview2 version is needed (download).
Through the zebar
NPM package, Zebar exposes various system information via reactive "providers". Providers are a collection of functions and variables that can change over time.
Option | Description | Option type | Default value |
---|---|---|---|
refreshInterval |
How often this provider refreshes in milliseconds. | number |
5000 |
Option | Description | Option type | Default value |
---|---|---|---|
refreshInterval |
How often this provider refreshes in milliseconds. | number |
5000 |
Variable | Description | Return type | Supported OS |
---|---|---|---|
frequency |
TODO | number |
|
usage |
TODO | number |
|
logicalCoreCount |
TODO | number |
|
physicalCoreCount |
TODO | number |
|
vendor |
TODO | string |
Option | Description | Option type | Default value |
---|---|---|---|
formatting |
Formatting of the current date into a custom string format. Affects the output of formatted . Refer to table of tokens for available date/time tokens. Examples: - 'yyyy LLL dd' -> 2023 Feb 13 - "HH 'hours and' mm 'minutes'" -> 20 hours and 55 minutes |
string |
EEE d MMM t |
timezone |
Either a UTC offset (eg. UTC+8 ) or an IANA timezone (eg. America/New_York ). Affects the output of formatted .A full list of available IANA timezones can be found here. |
string |
local |
locale |
An ISO-639-1 locale, which is either a 2-letter language code (eg. en ) or a 4-letter language + country code (eg. en-gb ). Affects the output of formatted .A full list of ISO-639-1 locales can be found here. |
string |
|
refreshInterval |
How often this provider refreshes in milliseconds. | number |
1000 |
No config options.
Option | Description | Option type | Default value |
---|---|---|---|
refreshInterval |
How often this provider refreshes in milliseconds. | number |
60000 |
Option | Description | Option type | Default value |
---|---|---|---|
refreshInterval |
How often this provider refreshes in milliseconds. | number |
3600000 |
Variable | Description | Return type | Supported OS |
---|---|---|---|
address |
TODO | string |
|
approxCity |
TODO | string |
|
approxCountry |
TODO | string |
|
approxLatitude |
TODO | number |
|
approxLongitude |
TODO | number |
Option | Description | Option type | Default value |
---|---|---|---|
refreshInterval |
How often this provider refreshes in milliseconds. | number |
5000 |
Variable | Description | Return type | Supported OS |
---|---|---|---|
usage |
TODO | number |
|
freeMemory |
TODO | number |
|
usedMemory |
TODO | number |
|
totalMemory |
TODO | number |
|
freeSwap |
TODO | number |
|
usedSwap |
TODO | number |
|
totalSwap |
TODO | number |
Option | Description | Option type | Default value |
---|---|---|---|
refreshInterval |
How often this provider refreshes in milliseconds. | number |
5000 |
Variable | Description | Return type |
---|---|---|
received |
Received bytes per second. | number |
transmitted |
Transmitted bytes per second. | number |
Option | Description | Option type | Default value |
---|---|---|---|
refreshInterval |
How often this provider refreshes in milliseconds. | number |
5000 |
Variable | Description | Return type | Supported OS |
---|---|---|---|
layout |
Current keyboard layout, for example 'en-US'. | string |
No config options.
Option | Description | Option type | Default value |
---|---|---|---|
latitude |
Latitude to retrieve weather for. If not provided, latitude is instead estimated based on public IP. | number | undefined |
undefined |
longitude |
Longitude to retrieve weather for. If not provided, longitude is instead estimated based on public IP. | number | undefined |
undefined |
refreshInterval |
How often this provider refreshes in milliseconds. | number |
3600000 |
Variable | Description | Return type | Supported OS |
---|---|---|---|
isDaytime |
TODO | string |
|
status |
TODO | WeatherStatus |
|
celsiusTemp |
TODO | number |
|
fahrenheitTemp |
TODO | number |
|
windSpeed |
TODO | number |