The wild-bind package

[ Tags: bsd3, library, userinterface ] [ Propose Tags ]

Dynamic key binding framework. See

[Skip to Readme]


Change log
Dependencies base (>=4.6 && <5.0), containers (>=0.5.0 && <0.6), text (>=1.2.0 && <1.3), transformers (>=0.3.0 && <0.6) [details]
License BSD3
Author Toshio Ito <>
Maintainer Toshio Ito <>
Category UserInterface
Home page
Bug tracker
Source repository head: git clone
Uploaded Mon Jan 1 05:16:01 UTC 2018 by debugito
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 738 total (345 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-01-01 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for wild-bind-

[back to package description]


WildBind is a dynamic and programmable key binding framework. See for WildBind in general.

Architecture and Terminology

WildBind consists of FrontEnd and Binding.

(user) --input-> |   desktop env.    |---[FrontEnd]---[Binding]
                 |                   |                    |
                 | (front-end state) |             (back-end state)
  • A FrontEnd interfaces with a desktop environment. It reads input from the user and the state of the desktop environment. The state is called "front-end state". FrontEnd passes those two kinds of data to Binding.
  • A Binding binds actions to input symbols. Optionally it has its own state, which is called "back-end state".

wild-bind Packages

  • wild-bind: WildBind core data types and functions. This package defines FrontEnd, Binding and other common types. Although WildBind is mainly targeted to number pads, its core is independent of any input types or desktop environments.
  • wild-bind-x11: A FrontEnd implementation for X11 desktop environments.
  • wild-bind-indicator: A GUI that describes current Binding to the user.
  • wild-bind-task-x11: A bundle package that combines all packages above. End users should use this package first.


Toshio Ito <debug.ito at>