{"id":21651163,"url":"https://github.com/ItsZariep/GXCapIndicator","last_synced_at":"2025-07-17T19:31:25.247Z","repository":{"id":243120252,"uuid":"811529418","full_name":"ItzSelenux/GXCapIndicator","owner":"ItzSelenux","description":"Simple and universal Cap/Num lock key indicator in the tray","archived":false,"fork":false,"pushed_at":"2024-09-17T23:30:55.000Z","size":22,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-19T01:45:12.851Z","etag":null,"topics":["appindicator","ayatana-appindicator","caps-lock","evdev","indicator","num-lock","tray","udev","wayland"],"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/ItzSelenux.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}},"created_at":"2024-06-06T19:20:01.000Z","updated_at":"2024-09-17T23:30:58.000Z","dependencies_parsed_at":"2024-06-06T21:12:11.605Z","dependency_job_id":"7faa354f-0d3e-4f2e-9c5e-b3dcceeb5dd9","html_url":"https://github.com/ItzSelenux/GXCapIndicator","commit_stats":null,"previous_names":["itzselenux/gxcapindicator"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ItzSelenux%2FGXCapIndicator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ItzSelenux%2FGXCapIndicator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ItzSelenux%2FGXCapIndicator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ItzSelenux%2FGXCapIndicator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ItzSelenux","download_url":"https://codeload.github.com/ItzSelenux/GXCapIndicator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226293570,"owners_count":17601740,"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":["appindicator","ayatana-appindicator","caps-lock","evdev","indicator","num-lock","tray","udev","wayland"],"created_at":"2024-11-25T07:46:54.363Z","updated_at":"2025-07-17T19:31:19.912Z","avatar_url":"https://github.com/ItzSelenux.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GXCapIndicator\n\n\u003cimg src=\"https://raw.githubusercontent.com/ItzSelenux/ItzSelenux.github.io/main/res/projects/gxcapindicator.svg\" alt=\"GXCapIndicator Logo\" width=\"111px\" /\u003e\n\n**GXCapIndicator** is a simple tool for indicating the status of Caps Lock and Num Lock keys in the system tray.\n\n## Features\n\n- [x] Monitor Caps Lock and Num Lock keys\n- [x] Toggle Caps Lock and Num Lock with an on-screen button\n- [x] Hideable indicators\n- [x] Adjustable update rate\n- [x] Wayland support (with `Evdev`)\n\n## Installation\n\nTo build GXCapIndicator, choose the backend you want to use:\n\n### With Evdev Backend\n\n```ini\nmake\n```\n\n### With X11 Backend\n\n```ini\nmake WITHX11=1\n```\n\n## Backend Differences\n\nGXCapIndicator supports two backends for fetching key status: X11 and Evdev. Each backend has its own capabilities and limitations.\n\n### X11 Backend\n- Uses `XkbGetState` to fetch the key status.\n- Checks cannot be done in real time without generating high CPU usage.\n- Some options are not available:\n  - **Initial Visual State**: Cannot set the initial visual state of Caps Lock/Num Lock (unnecessary with XkbGetState).\n  \n### Evdev Backend\n- Uses `libinput_event_get_keyboard_event` to fetch the key status.\n- Checks can be real time without high CPU Usage\n- Some options are not available:\n  - **Update Rate**: Cannot change update rate because polling intercepts events (and is not really necessary because there is no CPU usage penalty).\n  - **Toggle**: Can't be implemented without root access.\n\n## Configuration\n\nYou can configure GXCapIndicator with the integrated GUI (`settings` in indicator menu) or by editing` $HOME/.config/gxcapindicator` using the following options:\n\n| Item        | Description                          | Possible Values | Default Value | Example     | Scope   |\n|-------------|--------------------------------------|-----------------|---------------|-------------|---------|\n| `showcap`   | Enables the Caps Lock key indicator  | `0`, `1`        | `1`           | `showcap=1` | All     |\n| `shownum`   | Enables the Num Lock key indicator   | `0`, `1`        | `1`           | `shownum=1` | All     |\n| `updrate`   | Sets the update rate                 | (Number)        | `0`           | `updrate=0` | X11     |\n| `vcapstate` | Sets the initial visual state of Caps Lock | `0`, `1`   | `0`           | `vcapstate=0` | Evdev   |\n| `vnumstate` | Sets the initial visual state of Num Lock  | `0`, `1`   | `0`           | `vnumstate=0` | Evdev   |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FItsZariep%2FGXCapIndicator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FItsZariep%2FGXCapIndicator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FItsZariep%2FGXCapIndicator/lists"}