xshbar // speedie's website

speedie's website

🏠 Home πŸ’Ύ Projects πŸ“˜ Blog πŸ“• Guides πŸ“§ Email 🐧 Dotfiles πŸ“° RSS πŸ’°Donate


Customizable xsetroot bar designed to be used with window managers.




xshbar must be used with a window manager that supports xsetroot and xsetroot must be installed. First install xsetroot and then make sure your window manager supports xsetroot.

Once you're sure it does, add xshbar & to ~/.xinitrc

Now follow Basic Editing

Basic Editing

In order to use xshbar, it needs to have something to print. With xshbar this is done using plugins. You don't needto use plugins but they make your life way easier.

xshbar no longer comes with plugins so if you want a plugin, you will have to download some.

Plugins can be found later down this wpage.

cd ~/.config/xshbar

and then you will be able to see all xshbar configuration files. Let's say we want xshbar to display our hostname. (There is a plugin but this is without using one)

If this is the case, edit 'prn' and change the contents of the XSHBAR_CORE_DISPLAY variable. For example to view the hostname, it should contain $(cat /etc/hostname).

Basically you can also print the output of a command by using $(echo foo). Many plugins rely on this feature. Plugins really exist to save system resources and make the process easier.

How to use plugins

Plugins are extremely powerful in xshbar. With xshbar you can display anything you could imagine with enough effort. You can of course write your own but xshbar already has a repository of user-made plugins written for it.

You can find user-made plugins later down this page.

Before you can use the variables user-made plugins provide, you need to enable them. You could think of this as #include in C or the source

To do this, make sure your plugins are in ~/.config/xshbar/plugins.use. This directory contains all user-made plugins.

Now, all you need to do is enable them. Edit your xshbar script. If you used make install to install it, it should be in /usr/bin.

Once you're in the file, you'll want to add a plugin inside the XSHBAR_IMPORT function. For example, to add a plugin named testplugin.plugin, add the following line:

. $PLUGDIR/testplugin.plugin


Finally, look at the plugin and determine what variables it provides. These can be used in the 'prn' file we edited earlier.

User-made plugins

You can find a bunch of plugins here.



xshbar is licensed under the GNU GPLv3 license. The GitHub repository contains a LICENSE file which you can read if you're not sure what terms apply to your usage of this software.


Please be very careful and look through plugins before adding them to plugins.use. Some plugins may be malicious and delete or steal user data or break your system.

Support this project

To support this project, please consider donating. You don't have to but it would be greatly appreciated!

You can send Monero to this address: