{"id":20957321,"url":"https://github.com/abcdesktopio/openbox","last_synced_at":"2026-05-13T23:37:00.800Z","repository":{"id":103037157,"uuid":"330784986","full_name":"abcdesktopio/openbox","owner":"abcdesktopio","description":"abcdesktop patch for openbox window manager","archived":false,"fork":false,"pushed_at":"2023-01-27T09:48:00.000Z","size":1432,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-19T23:46:44.534Z","etag":null,"topics":["c","openbox","sigusr2","window-manager"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abcdesktopio.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":"2021-01-18T20:56:11.000Z","updated_at":"2023-01-25T15:48:57.000Z","dependencies_parsed_at":"2023-03-13T15:09:37.050Z","dependency_job_id":null,"html_url":"https://github.com/abcdesktopio/openbox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abcdesktopio%2Fopenbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abcdesktopio%2Fopenbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abcdesktopio%2Fopenbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abcdesktopio%2Fopenbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abcdesktopio","download_url":"https://codeload.github.com/abcdesktopio/openbox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243352034,"owners_count":20276916,"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":["c","openbox","sigusr2","window-manager"],"created_at":"2024-11-19T01:31:32.601Z","updated_at":"2025-10-24T02:35:55.907Z","avatar_url":"https://github.com/abcdesktopio.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openbox notify patch\n\n![patch_openbox](https://github.com/abcdesktopio/openbox/workflows/patch_openbox/badge.svg)\n\n## To get more informations\n\nPlease, read the public documentation web site:\n* [https://www.abcdesktop.io](https://www.abcdesktop.io)\n* [https://abcdesktopio.github.io/](https://abcdesktopio.github.io/)\n\n## about openbox notify patch\n\nNotify patch for openbox window manager and send to another process when a window change event occurs.\nThis patch is only required to send message (Create/Close) to the abcdesktop backend stack (spawner.js).\n\nabcdesktop use [openbox](http://openbox.org/) as X11 window manager.\n\nThis patch add notification when X11/window change :\n\nThe notify patch send signals SIGUSR1 and SIGUSR2 to a process (pid)\n\n```\n#define SIG_MANAGED_WINDOW   SIGUSR1\n#define SIG_UNMANAGED_WINDOW SIGUSR2\n```\n\n* SIGUSR1: when a new window is created\n* SIGUSR2: when a window is closed \n\nThe patch apply to the ```openbox/client.c``` file \nWhen a new window is open\n\n```\nvoid client_startup(gboolean reconfig)\n...\n  // call\n  send_signal_notify( SIG_MANAGED_WINDOW ); \n```\n\nWhen a new window is close\n\n```\nObClient *client_fake_manage(Window window)\n...\n  // call\n   send_signal_notify( SIG_UNMANAGED_WINDOW );\n```\n\nThe send_signal_notify is just a kill send to the current_pid \nn=kill( current_pid, sig );\n\n\nThe patch read the pid process in configuration file.\nThe ```rx.xml``` add new entry \n\n```\u003cnotify\u003e\u003cfilenamepid\u003ePATH TO PID FILE\u003c/filenamepid\u003e\u003c/notify\u003e```\n\nIn rc.xml\n```\n\u003cnotify\u003e\n        \u003cfilenamepid\u003e/var/run/desktop/spawner.pid\u003c/filenamepid\u003e\n\u003c/notify\u003e\n```\n\nThe pid file can change, it will be reload if kill system call failed.\nWhen spwaner process recieve SIGUSR1 or SIGUSR2, it will send a broadcast window list call, to each browser connected.\n\n\nTo build the notify patch :\n\nThe quick and dirty way, to apply patch and build the new debian package for openbox \n\u003e Change the directory name ```cd openbox-3.6.1``` with the correct name\n\n```\n# set non interactive\n# echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections\n# enable source list\n# sed -i '/deb-src/s/^# //' /etc/apt/sources.list \n# run update\n# apt update\n# install dep\napt-get install -y --no-install-recommends devscripts binutils wget\napt-get source openbox\napt-get build-dep -y openbox\nwget https://raw.githubusercontent.com/abcdesktopio/openbox/main/openbox.title.patch\ncd openbox-3.6.1\npatch -p2 \u003c ../openbox.title.patch \n# dch --local abcdesktop_sig_usr\ndch -n abcdesktop_sig_usr\n# dpkg-source --commit\nEDITOR=/bin/true dpkg-source -q --commit . abcdesktop_sig_usr\ndebuild -us -uc\ncd ..\nls -la # you should see deb file here\n# copy your new deb to the oc.user directory \n# then rebuild your oc.user image \n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabcdesktopio%2Fopenbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabcdesktopio%2Fopenbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabcdesktopio%2Fopenbox/lists"}