taffybar: A desktop bar similar to xmobar, but with more GUI

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

A somewhat fancier desktop bar than xmobar. This bar is based on gtk2hs and provides several widgets (including a few graphical ones). It also sports an optional snazzy system tray.

Changes in v0.3.0:

  • A new pager (System.Taffybar.TaffyPager) from José A. Romero L. This pager is a drop-in replacement for the dbus-based XMonadLog widget. It communicates via X atoms and EWMH like a real pager. It even supports changing workspaces by clicking on them. I recommend this over the old widget.

  • Added an MPRIS2 widget (contributed by Igor Babuschkin)

  • Ported to use the newer merged dbus library instead of dbus-client/dbus-core (contributed by CJ van den Berg)

  • Finally have the calendar widget pop up over the date/time widget (contributed by José A. Romero)

  • GHC 7.6 compatibility

  • Vertical bars can now have dynamic background colors (suggested by Elliot Wolk)

  • Bug fixes

Changes in v0.2.1:

  • More robust strut handling for multiple monitors of different sizes (contributed by Morgan Gibson)

  • New widgets from José A. Romero (network monitor, fs monitor, another CPU monitor)

  • Allow the bar widget to grow vertically (also contributed by José A. Romero)

Changes in v0.2.0:

  • Add some more flexible formatting options for the XMonadLog widget (contributed by cnervi).

  • Make the PollingLabel more robust with an exception handler for IOExceptions

  • Added more documentation for a few widgets

Changes in v0.1.3:

  • Depend on gtk 0.12.1+ to be able to build under ghc 7.2

  • Fix the background colors in the calendar so that it follows the GTK theme instead of the bar-specific color settings

  • Fix the display of non-ASCII window titles in the XMonad log applet (assuming you use the dbusLog function)

  • Add a horrible hack to force the bar to not resize to be larger than the screen due to notifications or long window titles

Changes in v0.1.2:

  • Readable widget for freedesktop notifications

  • Fixed a few potential deadlocks on startup

  • Use the GTK+ rc-file styling system for colors instead of hard coding them


[Skip to Readme]

Modules

[Index]

  • System
    • Information
      • System.Information.Battery
      • System.Information.CPU
      • System.Information.CPU2
      • System.Information.DiskIO
      • System.Information.EWMHDesktopInfo
      • System.Information.Memory
      • System.Information.Network
      • System.Information.StreamInfo
      • System.Information.X11DesktopInfo
    • System.Taffybar
      • System.Taffybar.Battery
      • System.Taffybar.CPUMonitor
      • System.Taffybar.DiskIOMonitor
      • System.Taffybar.FSMonitor
      • System.Taffybar.FreedesktopNotifications
      • Hooks
        • System.Taffybar.Hooks.PagerHints
      • System.Taffybar.LayoutSwitcher
      • System.Taffybar.MPRIS
      • System.Taffybar.MPRIS2
      • System.Taffybar.NetMonitor
      • System.Taffybar.Pager
      • System.Taffybar.SimpleClock
      • System.Taffybar.Systray
      • System.Taffybar.TaffyPager
      • System.Taffybar.Weather
      • Widgets
        • System.Taffybar.Widgets.Graph
        • System.Taffybar.Widgets.PollingBar
        • System.Taffybar.Widgets.PollingGraph
        • System.Taffybar.Widgets.PollingLabel
        • System.Taffybar.Widgets.Util
        • System.Taffybar.Widgets.VerticalBar
      • System.Taffybar.WindowSwitcher
      • System.Taffybar.WorkspaceSwitcher
      • System.Taffybar.XMonadLog

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6, 1.0.0, 1.0.1, 1.0.2, 2.0.0, 2.1.0, 2.1.1, 2.1.2, 3.0.0, 3.1.0, 3.1.1, 3.1.2, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.3.0, 4.0.0, 4.0.1, 4.0.2
Dependencies base (>3 && <5), cairo, containers, dbus (>=0.10.1 && <1.0), dyre (>=0.8.6), filepath, gtk (>=0.12.1), gtk-traymanager (>=0.1.2 && <0.2), HStringTemplate, HTTP, mtl (>=2), network, old-locale, parsec (>=3.1), process, split (>=0.1.4.2), stm, text, time, transformers (>=0.3.0.0), utf8-string, X11 (>=1.5.0.1), xdg-basedir, xmonad, xmonad-contrib [details]
License BSD-3-Clause
Author Tristan Ravitch
Maintainer travitch@cs.wisc.edu
Category System
Home page http://github.com/travitch/taffybar
Source repo head: git clone git://github.com/travitch/taffybar.git
Uploaded by TristanRavitch at 2013-09-29T04:10:27Z
Distributions Debian:3.2.2, NixOS:4.0.1
Reverse Dependencies 1 direct, 0 indirect [details]
Executables taffybar
Downloads 21054 total (114 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for taffybar-0.3.0

[back to package description]

This is a desktop information bar intended for use with XMonad and similar window managers. It is similar in spirit to xmobar; it is different in that it gives up some simplicity for a reasonable helping of eye candy. This bar is based on GTK+ (via gtk2hs) and uses fancy graphics where doing so is reasonable and useful.

The bar is configured much like XMonad. It uses ~/.config/taffybar/taffybar.hs as its configuration file. This file is just a Haskell program that invokes the real main function with a configuration object. The configuration file basically just specifies which widgets to use, though any arbitrary Haskell code can be executed before the bar is created.

There are some generic pre-defined widgets available:

  • Graph (modeled after the graph widget in Awesome)
  • Vertical bar (also similar to a widget in Awesome)
  • Periodically-updating labels, graphs, and vertical bars

There are also several more specialized widgets:

  • Battery widget
  • Textual clock
  • Freedesktop.org notifications (via dbus)
  • MPRIS1 and MPRIS2 widgets
  • Weather widget
  • XMonad log widget (listens on dbus instead of stdin)
  • System tray

TODO

An incomplete list of things that would be cool to have:

  • xrandr widget (for dealing changing clone/extend mode and orientation)
  • Better behavior when adding/removing monitors (never tried it)
  • Make MPRIS more configurable