{"id":13575803,"url":"https://github.com/mihirlad55/dwm-ipc","last_synced_at":"2025-04-04T23:30:36.185Z","repository":{"id":116143938,"uuid":"274224521","full_name":"mihirlad55/dwm-ipc","owner":"mihirlad55","description":"A DWM patch that allows IPC communication through a UNIX socket","archived":false,"fork":false,"pushed_at":"2021-09-26T00:39:15.000Z","size":1158,"stargazers_count":79,"open_issues_count":11,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-05T11:43:58.662Z","etag":null,"topics":["dwm","dwm-msg","ipc","patch","unix-socket"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mihirlad55.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-22T19:26:10.000Z","updated_at":"2024-09-07T01:21:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"8bb59cb0-9be3-4aa7-88e1-f9618b205fa9","html_url":"https://github.com/mihirlad55/dwm-ipc","commit_stats":null,"previous_names":[],"tags_count":103,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihirlad55%2Fdwm-ipc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihirlad55%2Fdwm-ipc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihirlad55%2Fdwm-ipc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihirlad55%2Fdwm-ipc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mihirlad55","download_url":"https://codeload.github.com/mihirlad55/dwm-ipc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266474,"owners_count":20910831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["dwm","dwm-msg","ipc","patch","unix-socket"],"created_at":"2024-08-01T15:01:04.354Z","updated_at":"2025-04-04T23:30:36.180Z","avatar_url":"https://github.com/mihirlad55.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# dwm-ipc\n![Main CI](https://github.com/mihirlad55/dwm-ipc/workflows/Main%20CI/badge.svg)\n\ndwm-ipc is a patch for dwm that implements inter-process communication through a\nUNIX socket. This allows you to query the window manager for information, listen\nfor events such as tag changes or layout changes, as well as send commands to\ncontrol the window manager from other programs/scripts.\n\n\n## Requirements\nIn order to build dwm you need the Xlib header files. The patch\nadditionally requires `yajl` which is a tiny C JSON library.\n\n\n## Applying the Patch\nThe patch can be found on the\n[Releases page](https://github.com/mihirlad55/dwm-ipc/releases). Download the\nlatest version of the patch that matches your version of dwm.\n\nThe patch is best applied after all of your other patches due to the number of\nadditions to dwm.c. The patch was designed with compatability in mind, so there\nare minimal deletions.\n\n### Tips\n- Apply the patch last after all your other patches to avoid merge conflicts\n\n\n## Patch Compatability\nAt the moment, the patch will only work on systems that implement epoll and is\nnot completely portable. Portability will be improved in the future.\n\n\n## Supported IPC Messages\nAt the moment the IPC patch supports the following message requests:\n- Run user-defined command (similar to key bindings)\n\n- Get information about available layouts\n\n- Get information about the tags available\n\n- Get the properties of all of the monitors\n\n- Get the properties of a specific dwm client\n\n- Subscribe to tag change, client focus change, layout change events, monitor\nfocus change events, and focused title change events.\n\nFor more info on the IPC protocol implementation, visit the\n[wiki](https://github.com/mihirlad55/dwm-ipc/wiki/).\n\n\n## dwm-msg\n`dwm-msg` is a cli program included in the patch which supports all of the IPC\nmessage types listed above. The program can be used to run commands, query dwm\nfor information, and listen for events. This program is particularly useful for\ncreating custom shell scripts to control dwm.\n\n\n## Related Projects\nSee [dwmipcpp](https://github.com/mihirlad55/dwmipcpp)\n\nSee [polybar dwm module \\[WIP\\]](https://github.com/mihirlad55/polybar)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmihirlad55%2Fdwm-ipc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmihirlad55%2Fdwm-ipc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmihirlad55%2Fdwm-ipc/lists"}