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

Copyright(c) José A. Romero L.
LicenseBSD3-style (see LICENSE)
MaintainerJosé A. Romero L. <escherdragon@gmail.com>
Stabilityunstable
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

System.Taffybar.TaffyPager

Contents

Description

This module provides a drop-in replacement for the XMonadLog widget that allows to:

  • click on a workspace label to switch to that workspace,
  • left-click on the layout label to switch to the next layout, and right-click to switch to the first layout,
  • click on the window title to pop-up a list of all the currently open windows that can be clicked to switch to any of them,

All its interactions with the windows manager are performed via EWMH hints and X11 events.

This widget is actually only a convenience wrapper around a Pager, a WorkspaceSwitcher, a LayoutSwitcher and a WindowSwitcher. If you are looking for more advanced configurations (like having components displayed separately, or using only part of them), consult directly the documentation for each of the components.

Synopsis

Usage

This widget requires that two hooks be installed in your xmonad.hs configuration: EwmhDesktops from the XMonadContrib project, and the one provided in the System.Taffybar.Hooks.PagerHints module:

import XMonad.Hooks.EwmhDesktops (ewmh)
import System.Taffybar.Hooks.PagerHints (pagerHints)
main = do
  xmonad $ ewmh $ pagerHints $ defaultConfig
...

That's all: no log hooks, no urgency hooks, no DBus client. Once you've configured xmonad.hs, you can use the widget in your taffybar.hs file:

import System.Taffybar.TaffyPager
main = do
  let pager = taffyPagerNew defaultPagerConfig

now you can use pager as any other Taffybar widget.

taffyPagerNew :: PagerConfig -> IO Widget Source

Create a new TaffyPager widget.

data PagerConfig Source

Structure contanining functions to customize the pretty printing of different widget elements.

Constructors

PagerConfig 

Fields

activeWindow :: String -> String

the name of the active window.

activeLayout :: String -> String

the currently active layout.

activeWorkspace :: String -> String

the currently active workspace.

hiddenWorkspace :: String -> String

inactive workspace with windows.

emptyWorkspace :: String -> String

inactive workspace with no windows.

visibleWorkspace :: String -> String

all other visible workspaces (Xinerama or XRandR).

urgentWorkspace :: String -> String

workspaces containing windows with the urgency hint set.

widgetSep :: String

separator to use between desktop widgets in TaffyPager.

defaultPagerConfig :: PagerConfig Source

Default pretty printing options.