# xbar
**Repository Path**: mirrors_sindresorhus/xbar
## Basic Information
- **Project Name**: xbar
- **Description**: Simplifies BitBar app plugin creation
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-11-12
- **Last Updated**: 2026-05-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# xbar
> Simplifies [xbar](https://github.com/matryer/xbar) app plugin creation
Create your plugin using a nice API instead of having to manually construct a big string.
*Requires xbar v2 or later.*
## Install
```sh
npm install xbar
```
## Usage
```js
#!/usr/bin/env node
import xbar, {separator, isDarkMode} from 'xbar';
xbar([
{
text: '❤',
color: isDarkMode ? 'white' : 'red',
dropdown: false
},
separator,
{
text: 'Unicorns',
color: '#ff79d7',
submenu: [
{
text: ':tv: Video',
href: 'https://www.youtube.com/watch?v=9auOCbH5Ns4'
},
{
text: ':book: Wiki',
href: 'https://en.wikipedia.org/wiki/Unicorn'
}
]
},
separator,
'Ponies'
]);
```
Create a file with the above code in the xbar plugins directory and make sure to `chmod +x filename.js` it. [Read more.](https://github.com/matryer/xbar#installing-plugins)
**Note:** You need to either have a `package.json` file with `{"type": "module"}` or use the `.mjs` extension instead of `.js`.
*Change `node` in `#!/usr/bin/env node` to the path of your Node.js binary. This is a [known issue](https://github.com/matryer/xbar/issues/36) in xbar.*
## API
### xbar(items, options?)
#### items
Type: `Array`
An item can be a string with the text or an object with the text in a `text` property and any of the `options`. The text can be multiple lines, but for the first item, only the first line will be shown in the menubar.
##### submenu
Type: `Array`
It will add a submenu to the current item. A submenu is composed of an array of items.
#### options
Type: `object`
You can use any of the [supported options](https://github.com/matryer/xbar-plugins/blob/main/CONTRIBUTING.md#plugin-api).
Applies to all items unless overridden in the item.
### separator
Add a separator.
### isDarkMode
Type: `boolean`
Check whether dark mode is enabled.
### isXbar
Type: `boolean`
Check whether the script is running from xbar.