Skip to content

Latest commit

 

History

History
125 lines (84 loc) · 4.22 KB

README.md

File metadata and controls

125 lines (84 loc) · 4.22 KB

BuildStatus

This is the 2.0 Branch of monky. 2.0 has a couple of breaking changes, please look at the bottom for a summary.

monky is an application to feed status bars (like dzen2/i3bar) with a lines to display.

If you have any more questions or suggestions, come and join us (or rather me) on freenode at #monky.

Install

Sources

  • Clone and cd into repo directory

Cabal

  • cabal install
  • binary is installed into ~/.cabal/bin

Stack

  • stack install cabal-install
  • stack init --solver
  • stack build
  • Run via stack: stack exec --stack-yaml /path/to/repo/stack.yaml monky

Package managers

Gentoo

  • layman -a haskell
  • emerge -av dev-haskell/monky

How to

  • Install (well that's obvious)
  • Run monky once to create example in ~/.monky
  • Edit the example until it fits your needs

How do I configure this, which modules exist?

Documentation generated with haddock.

Why does this config look like programming?

Because it is Haskell. The idea for this configuration style is taken shamelessly from xmonad.

Don't worry, you don't have to know haskell to build a simple configuration. And it enables those who know haskell to build whatever they like.

Why should I use a statusbar

It looks sleek with tiling window managers, e.g. xmonad.

Notes

The unicode glyphs used by UTF8/I3 outputs are rather obscure and may not be provided by your fonts.

For dzen

The default examples use .xbm files. They have been build with the nice icon pack from sm4tik. (This is hosted in the awesome wiki because the original source disappeared).

Copy them into ~/.monky/xbm/.

For the fancy clock example you will also need the .xbm files in this repo.

Examples:

Ongy-PC config

Ongy-PC-NEW config

Ongy-Laptop config

2.0 branch

Laptop-2.0 config

This is from ONE screenshot. i3bar is running in a Xephyr which runs on the same DISPLAY as dzen2 and terminal. from top to bottom: dzen2, urxvt, i3bar. This example demonstrates the new output modes (and guessOutput). It also showes, that horizontal bars only really work in dzen. Also terminal is missing colorization. PC-variaty config started

2.0 breaking changes

  • startLoop needs a seconds argument. Modules will be in monky.Outputs
  • pack was split into pollPack and evtPack
  • Module was split in PollModule and EvtModule for polling and event based
  • Examples use newtype wrappers. Orphan instances are now discouraged
  • Memory/CPU/Time have been merged, new get* functions are used to choose mode
  • Prepend has been moved
  • the executable that's compiled by monky has been renamed to monky.exe to avoid confusion

General changes

  • monky is now more modular and has an internal output datatype
  • monky moved to Data.Text from (text) over String
  • the event system has been simplified
  • config file does not have to import monky.* anymore, monky.Example.* is enough

Why monky for status generation

    • On my machine, monky tends to use less cpu time than others, which is relevant for laptops
    • monky takes a fair amount of disk space (ghc dependency) and has larger binaries (mostly ghc RTS)

Why use monky instead of conky?

    • monky is contained in a single process
    • monky does not have a dependency on X
    • monky can not render it's own output

Why use this not i3-status

    • monkys configuration is more powerfull
    • monky works better over the network
    • monky has the better modules (somewhat subjective)
  • o both support multiple output modes with little to no config edits.
    • i3-status works better with i3bar (e.g. short texts)
    • i3-status may be easier to configure