tianbar: A desktop bar based on WebKit

[ library, mit, program, system ] [ Propose Tags ]

A desktop bar using WebKit for rendering as much as possible. Based on Taffybar.

[Skip to Readme]
Versions [faq],,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 1.2.4, 1.2.5
Dependencies aeson (==0.6.*), base (>3 && <5), blaze-html (>=0.5 && <0.8), blaze-markup (>=0.5 && <0.7), containers (==0.5.*), dbus (==0.10.*), gtk (==0.12.*), gtk-traymanager (==0.1.*), MissingH (==1.2.*), network (==2.4.*), process (==1.1.*), split (==0.2.*), text (==0.11.*), utf8-string (==0.3.*), webkit (==0.12.*), xdg-basedir (==0.2.*), xmonad, xmonad-contrib [details]
License MIT
Author Alexey Kotlyarov
Maintainer a@koterpillar.com
Category System
Home page https://github.com/koterpillar/tianbar
Source repo head: git clone git://github.com/koterpillar/tianbar.git
Uploaded by AlexeyKotlyarov at Sat Mar 15 00:21:38 UTC 2014
Distributions NixOS:1.2.5
Executables tianbar
Downloads 21991 total (1495 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-18 [all 7 reports]


  • System
    • Tianbar
      • System.Tianbar.XMonadLog


Maintainer's Corner

For package maintainers and hackage trustees

Readme for tianbar-

[back to package description]


Tianbar is a status bar for XMonad and possibly similar window managers. It is using WebKit as its rendering engine, meaning that the entire look and feel is customizable using HTML, CSS and JavaScript.

Screenshot - left part Screenshot - right part


Tianbar will show index.html from its XDG configuration directory (usually $HOME/.config/taffybar). It it up to you to create that, add styles, widgets and other behavior.


A small collection of widgets written in JavaScript is bundled with Tianbar, see scripts directory. To include them on your page, use tianbar: URL scheme, e.g. tianbar:scripts/time.js.

Currently widgets require jQuery and RequireJS, and neither of those is distributed with Tianbar -- you will have to obtain them manually.

XMonad integration

XMonad status widget works by listening on DBus for messages sent by the provided logHook, see System.Tianbar.XMonadLog documentation for details.


  • AJAX requests from Tianbar are not subject to the same origin policy. This makes it easier to interact with various Web services. You can also make requests to the local files, for example, to extract CPU activity statistics from /proc/stat.
  • HTML5 geolocation API does not work. A shim, which uses freegeoip.net, is provided instead.
  • Interaction with the displayed Web page is limited. For example, text fields are not active if there are other windows on the screen.


The project is essentially a fork of Taffybar, stripped down of Haskell configuration and widgets and not yet having achieved functional parity with it.