# 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.