dbus: A client library for the D-Bus IPC system.
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 :1.0 :1.1 :1.10 :1.106 :1.109 :1.110 ca.desrt.dconf org.freedesktop.DBus org.freedesktop.Notifications org.freedesktop.secrets org.gnome.ScreenSaver
Modules
[Index] [Quick Jump]
Downloads
- dbus-1.3.6.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 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.9.1, 0.10.9.2, 0.10.10, 0.10.11, 0.10.12, 0.10.13, 0.10.14, 0.10.15, 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.2.8, 1.2.9, 1.2.10, 1.2.11, 1.2.12, 1.2.13, 1.2.14, 1.2.15.1, 1.2.16, 1.2.17, 1.2.18, 1.2.19, 1.2.21, 1.2.22, 1.2.23, 1.2.24, 1.2.25, 1.2.26, 1.2.27, 1.2.28, 1.2.29, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.3.8, 1.3.9 |
---|---|
Dependencies | base (>=4.16 && <5), bytestring (<0.13), cereal (<0.6), conduit (>=1.3.0 && <1.4), containers (<0.7), deepseq (<1.6), exceptions (<0.11), filepath (<1.5), lens (<5.4), network (>=3.2 && <3.3), parsec (<3.2), random (<1.3), split (<0.3), template-haskell (>=2.18 && <2.22), text (<2.2), th-lift (<0.9), transformers (<0.7), unix (<2.9), vector (<0.14), xml-conduit (>=1.9.0.0 && <1.10.0.0), xml-types (<0.4) [details] |
License | Apache-2.0 |
Author | John Millikin <john@john-millikin.com> |
Maintainer | Andrey Sverdlichenko <blaze@rusty.zone> |
Category | Network, Desktop |
Home page | https://github.com/rblaze/haskell-dbus#readme |
Source repo | head: git clone https://github.com/rblaze/haskell-dbus |
Uploaded | by blaze at 2024-06-25T20:30:26Z |
Distributions | Arch:1.3.1, Debian:1.2.16, Fedora:1.2.29, LTSHaskell:1.3.3, NixOS:1.3.3, Stackage:1.3.9, openSUSE:1.3.3 |
Reverse Dependencies | 26 direct, 3 indirect [details] |
Downloads | 50259 total (408 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2024-06-25 [all 1 reports] |