{"id":32163381,"url":"https://github.com/troydm/xmonad-dbus","last_synced_at":"2026-02-21T18:02:08.430Z","repository":{"id":42462177,"uuid":"116687457","full_name":"troydm/xmonad-dbus","owner":"troydm","description":"XMonad DBus monitor application and library to easily connect XMonad with Polybar","archived":false,"fork":false,"pushed_at":"2023-07-20T01:32:29.000Z","size":16,"stargazers_count":22,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-08T18:50:53.278Z","etag":null,"topics":["dbus","polybar","xmonad"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/troydm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-08T14:33:36.000Z","updated_at":"2024-09-27T03:04:16.000Z","dependencies_parsed_at":"2022-09-13T17:00:28.803Z","dependency_job_id":null,"html_url":"https://github.com/troydm/xmonad-dbus","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/troydm/xmonad-dbus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troydm%2Fxmonad-dbus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troydm%2Fxmonad-dbus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troydm%2Fxmonad-dbus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troydm%2Fxmonad-dbus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/troydm","download_url":"https://codeload.github.com/troydm/xmonad-dbus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troydm%2Fxmonad-dbus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29689644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T15:51:39.154Z","status":"ssl_error","status_checked_at":"2026-02-21T15:49:03.425Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dbus","polybar","xmonad"],"created_at":"2025-10-21T14:29:49.784Z","updated_at":"2026-02-21T18:02:08.424Z","avatar_url":"https://github.com/troydm.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xmonad-dbus\nxmonad-dbus is DBus monitoring solution inspired by [xmonad-log](https://github.com/xintron/xmonad-log) completely written in Haskell.\nIt allows you to easily send your status via DBus using XMonad's DynamicLog to any application that can execute custom scripts.\nIt can be used to easily display XMonad status in [polybar](https://github.com/jaagr/polybar)\n\n## Installation\n\n### With Stack\n\n```bash\n    stack build\n```\n\n### With AUR\n\nUse your favourite [AUR helper](https://wiki.archlinux.org/title/AUR_helpers) to install on ArchLinux-based distribution:\n\n```bash\n    pikaur -S xmonad-dbus-git\n```\n\n## Running\n\n```bash\n    # start xmonad-dbus, you can optionally specify a path that would be used when receiveing messages, \n    # otherwise all xmonad-dbus related messages will be received)\n    stack exec xmonad-dbus -- [path]\n    # you can manually send messages from command line too\n    stack exec xmonad-dbus -- send string\n    # and if you want to send messages only to particular path you can use sendToPath \n    stack exec xmonad-dbus -- sendToPath path string\n```\n\n## Configuring XMonad\nTo send status information from XMonad you need to add xmonad-dbus as dependency either via stack or manually when building your xmonad.hs\n\n```haskell\n    import XMonad\n    import XMonad.Hooks.DynamicLog\n    import qualified XMonad.DBus as D\n    import qualified DBus.Client as DC\n\n    -- Override the PP values as you would like (see XMonad.Hooks.DynamicLog documentation)\n    myLogHook :: DC.Client -\u003e PP\n    myLogHook dbus = def { ppOutput = D.send dbus }\n\n    main :: IO ()\n    main = do\n        -- Connect to DBus\n        dbus \u003c- D.connect\n        -- Request access (needed when sending messages)\n        D.requestAccess dbus\n        -- start xmonad\n        xmonad $ def { logHook = dynamicLogWithPP (myLogHook dbus) }\n```\n\n## Configuring polybar\nTo receive status you need to add custom/script module to your polybar config\nDon't forget to add compiled xmonad-dbus executable to your PATH\n\n    [module/xmonad]\n    type = custom/script\n    exec = xmonad-dbus\n    tail = true\n    interval = 1\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroydm%2Fxmonad-dbus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftroydm%2Fxmonad-dbus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroydm%2Fxmonad-dbus/lists"}