{"id":28915860,"url":"https://github.com/darwincereska/xswitcher","last_synced_at":"2026-05-05T17:31:23.644Z","repository":{"id":297453866,"uuid":"996805783","full_name":"darwincereska/xswitcher","owner":"darwincereska","description":"Automatic keyboard layout switcher for linux","archived":false,"fork":false,"pushed_at":"2025-06-19T07:58:48.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-19T08:43:14.742Z","etag":null,"topics":["cli","go","golang","keyboard","keyboard-layout","linux","linux-app","software","steam","terminal","xorg"],"latest_commit_sha":null,"homepage":"","language":"Go","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/darwincereska.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":"2025-06-05T13:44:49.000Z","updated_at":"2025-06-19T08:02:23.000Z","dependencies_parsed_at":"2025-06-05T15:24:22.606Z","dependency_job_id":"bdddc1a5-c2ad-419d-b4bb-8f782dad4428","html_url":"https://github.com/darwincereska/xswitcher","commit_stats":null,"previous_names":["darwincereska/xswitcher"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/darwincereska/xswitcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darwincereska%2Fxswitcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darwincereska%2Fxswitcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darwincereska%2Fxswitcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darwincereska%2Fxswitcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darwincereska","download_url":"https://codeload.github.com/darwincereska/xswitcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darwincereska%2Fxswitcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32660143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cli","go","golang","keyboard","keyboard-layout","linux","linux-app","software","steam","terminal","xorg"],"created_at":"2025-06-21T23:06:27.348Z","updated_at":"2026-05-05T17:31:23.626Z","avatar_url":"https://github.com/darwincereska.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XSwitcher\n\n**Auto-switch keyboard layouts based on the active application.**\n\n**XSwitcher** is a lightweight CLI tool that launches programs using different keyboard layouts depending on what you're working on. Great for bilingual users, coders, or anyone who needs to switch layouts on the fly.\n\n## ✨ Features\n\n- 🔁 Automatically switches between **main** and **secondary** layouts\n- ⚙️ Simple config file for layout preferences\n- 🧠 Stays out of your way—just run and focus\n\n## 📦 Installation\n\n1. Clone the repository:\n\n``` bash\ngit clone https://darwincereska/xswitcher.git\n```\n\n2. Enter the folder:\n\n``` bash\ncd xswitcher\n```\n\n#### Arch Linux:\n\n1. Install dependencies:\n``` bash\nmake install-arch-deps\n```\n\n2. Install package:\n``` bash\nmakepkg -si\n```\n\n#### Other Distros:\n\n``` bash\nmake install \n```\n\n#### MacOS:\n\n Make sure you have [Homebrew](https://brew.sh) installed\n\n1. Add my [brew tap](https://github.com/darwincereska/homebrew-software):\n\n``` bash\nbrew tap darwincereska/software\n```\n\n2. Install app:\n\n``` bash\nbrew install xswitcher\n```\n\n## Uninstall\n\n#### Linux:\n\n``` bash\nmake uninstall\n```\n\n#### MacOS:\n\n``` bash\nbrew uninstall xswitcher\n```\n\n## Usage\n\n1. Initialize the config file `(~/.config/xswitcher.yml)`:\n\n``` bash\nxswitcher --init\n```\n\n2. Change the layouts that fit the **setxkbmap** usage:\n\n``` yaml\n# xswitcher.yml\nlayouts:\n  main: \"us\" # Layout you use\n  secondary: \"us colemak\" # Layout the app switches to\n```\n\n3. Run the program:\n\n``` bash\nxswitcher \u003ccommand\u003e [args...]\n```\n\n## Compatibility\n\n- Works with Steams `%command%` launch option:\n``` bash\nxswitcher %command%\n```\n- Supports Environment Variables\n- Works with any app that constantly runs. It will not work with apps such as **VSCode** due to that it makes a new process every time\n\n## The Future\n\nI plan on adding support for macos and windows using their given api.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarwincereska%2Fxswitcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarwincereska%2Fxswitcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarwincereska%2Fxswitcher/lists"}