{"id":26928470,"url":"https://github.com/amirali511/helliwm","last_synced_at":"2025-10-08T03:25:50.805Z","repository":{"id":253683123,"uuid":"844195381","full_name":"amirali511/HelliWM","owner":"amirali511","description":"The GNU/Linux window manager project done by a student in Allame Helli High School, Tehran","archived":false,"fork":false,"pushed_at":"2024-09-20T09:51:59.000Z","size":110,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T04:20:43.983Z","etag":null,"topics":["c","libxcb","window-management","window-manager","xcb"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amirali511.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2024-08-18T17:03:59.000Z","updated_at":"2024-12-15T12:47:47.000Z","dependencies_parsed_at":"2024-08-24T12:33:16.766Z","dependency_job_id":"3386c692-542b-4115-85d7-1c74a58bfe14","html_url":"https://github.com/amirali511/HelliWM","commit_stats":null,"previous_names":["amirali511/helliwm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amirali511/HelliWM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirali511%2FHelliWM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirali511%2FHelliWM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirali511%2FHelliWM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirali511%2FHelliWM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amirali511","download_url":"https://codeload.github.com/amirali511/HelliWM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirali511%2FHelliWM/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259926928,"owners_count":22933131,"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","libxcb","window-management","window-manager","xcb"],"created_at":"2025-04-02T04:20:00.987Z","updated_at":"2025-10-08T03:25:45.764Z","avatar_url":"https://github.com/amirali511.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Documentation for HelliWM\n![](Seminar38-Poster.png)\n![](HelliWM.png)\n\n## Simple explanation\nHelliWM is a window manager built using c and xcb library, but with better options and better code and being customizable. It is built by me, Amirali Rahmani Vatan Khah, a fourteen year old boy. Hope you enjoy!\n\n## Install Dependencies\nThe dependencies used in the project are `xcb` and `xcb_cursor` as can be seen in the `meson.build` file.\n\nYou can install `xcb` from [here](https://xcb.freedesktop.org/dist/).\n\nAlso `xcb_cursor` can be installed from the libxcb-cursor or xcb-util-cursor.\n\nAlso having `awk` or `gawk`, `meson`, `ninja`, and `gcc` is required.\n\nFinally you need to install dmenu, to use as a launcher. \n\nYou can do so by their documentation for installing.\n\n## Compile the source code to run\nExecute in the source directory:\n```bash\nawk -f parser.awk\npython3 Generator.py\nmeson setup build\ncp config.h build/config.h\nninja -C build\nsudo ninja -C build install\n```\nYou can also run the `install.sh` script to install it automatically.\n\n## Running\nRun the wm by:\n```sh\nhelliwm\n```\n## Uninstalling the window manager\nRemove it by:\n```sh\nsudo ninja -C build uninstall\n```\n\n## Guides on the syntax of .WMRC\nThe first token `define` defines the indentifier word after it or the variable name.\n\nThen any definition mark such as `=` or `:` can be put to continue (any other character or word which does not include a space is also possible).\n\nFinally specify the value desired to apply and then the default value (also one value at time can be specified meaning that if you don't want to define anything and want to use the default value, `_` can be put for the value and vice versa).\n\nAlways the default value is `DEFAULT` if you cannot remember.\n\nLastly comments are defined with the syntax `% This is a comment`.\n\nAlways remember to put 2 empty lines on the end of the wmrc file and no empty lines in between.\n\n## Important note on the build file\nWrite the complete path for awk parser yourself in the build file instead of the one written by myself, it may be different for you.\n\n## WMRC fields\n`MOD` : for mod keys like alt or super or ctrl (values are XCB_MOD_MASK_1 or XCB_MOD_MASK_4 or XCB_MOD_MASK_CONTROL).\n\n`BG` : background color (values should be in hex).\n\n`BBG` : bar background color (values should be in hex).\n\n`TC` : text color (values should be in hex).\n\n`QK` : quit key (values can be in the form XK_SOMETHING like XK_Q).\n\n`LK` : launcher key (values can be in the form XK_SOMETHING like XK_S).\n\n`CK` : close key (values can be in the form XK_SOMETHING like XK_C).\n\n`TBG` : Taskbar background color (values should be in hex).\n\n## Guides on the syntax of .SHORTCUT file\nThe only point is that you have to write the program names on the first line with spaces and the corresponding shortcuts on the second line with spaces.\n\n\n## Note about dmenu\nYou still can use dmenu as a launcher, but it won't be in the correct form and thus, is not recommended.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirali511%2Fhelliwm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famirali511%2Fhelliwm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirali511%2Fhelliwm/lists"}