{"id":23892302,"url":"https://github.com/itszariep/gxcapindicator","last_synced_at":"2025-04-10T12:07:51.211Z","repository":{"id":243120252,"uuid":"811529418","full_name":"ItsZariep/GXCapIndicator","owner":"ItsZariep","description":"Simple and universal Cap/Num lock key indicator in the tray","archived":false,"fork":false,"pushed_at":"2025-03-15T22:27:16.000Z","size":38,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T05:17:39.546Z","etag":null,"topics":["appindicator","ayatana-appindicator","caps-lock","evdev","indicator","num-lock","tray","udev","wayland"],"latest_commit_sha":null,"homepage":"https://codeberg.org/ItsZariep/GXCapIndicator","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ItsZariep.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":"2025-03-15T22:26:55.000Z","dependencies_parsed_at":"2024-06-06T21:12:11.605Z","dependency_job_id":"7faa354f-0d3e-4f2e-9c5e-b3dcceeb5dd9","html_url":"https://github.com/ItsZariep/GXCapIndicator","commit_stats":null,"previous_names":["itzselenux/gxcapindicator","itszariep/gxcapindicator"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ItsZariep%2FGXCapIndicator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ItsZariep%2FGXCapIndicator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ItsZariep%2FGXCapIndicator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ItsZariep%2FGXCapIndicator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ItsZariep","download_url":"https://codeload.github.com/ItsZariep/GXCapIndicator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248217077,"owners_count":21066633,"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":"2025-01-04T13:40:01.750Z","updated_at":"2025-04-10T12:07:51.181Z","avatar_url":"https://github.com/ItsZariep.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"}