The dbus package

[ Tags: benchmark, desktop, gpl, library, network ] [ Propose Tags ]

D-Bus is a simple, message-based protocol for inter-process communication, which allows applications to interact with other parts of the machine and the user's session using remote procedure calls.

D-Bus is a essential part of the modern Linux desktop, where it replaces earlier protocols such as CORBA and DCOP.

This library is an implementation of the D-Bus protocol in Haskell. It can be used to add D-Bus support to Haskell applications, without the awkward interfaces common to foreign bindings.

Example: connect to the session bus, and get a list of active names.

{-# LANGUAGE OverloadedStrings #-}

import Data.List (sort)
import DBus
import DBus.Client

main = do
    client <- connectSession
    -- Request a list of connected clients from the bus
    reply <- call_ client (methodCall "/org/freedesktop/DBus" "org.freedesktop.DBus" "ListNames")
        { methodCallDestination = Just "org.freedesktop.DBus"
    -- org.freedesktop.DBus.ListNames() returns a single value, which is
    -- a list of names (here represented as [String])
    let Just names = fromVariant (methodReturnBody reply !! 0)
    -- Print each name on a line, sorted so reserved names are below
    -- temporary names.
    mapM_ putStrLn (sort names)
$ ghc --make list-names.hs
$ ./list-names


Versions 0.10, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.6, 0.10.7, 0.10.8, 0.10.9,,, 0.10.10, 0.10.11, 0.10.12, 0.10.13
Dependencies base (==4.*), bytestring, cereal, containers, libxml-sax, network, parsec, random, text, transformers, unix, vector, xml-types [details]
License GPL-3
Author John Millikin <>
Maintainer Andrey Sverdlichenko <>, John Millikin <>
Category Network, Desktop
Home page
Source repository head: git clone
Uploaded Wed Apr 12 05:14:51 UTC 2017 by blaze
Distributions Arch:0.10.13, Debian:0.10.11, Fedora:0.10.12, LTSHaskell:0.10.13, NixOS:0.10.13, Tumbleweed:0.10.13
Downloads 10266 total (104 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-04-12 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees