{"id":43921484,"url":"https://github.com/davidosomething/yanjing","last_synced_at":"2026-02-06T22:33:31.917Z","repository":{"id":53116217,"uuid":"348583405","full_name":"davidosomething/yanjing","owner":"davidosomething","description":"KWin script to resize and move windows","archived":false,"fork":false,"pushed_at":"2025-01-17T04:00:29.000Z","size":981,"stargazers_count":7,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-17T05:17:16.216Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidosomething.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-03-17T04:52:48.000Z","updated_at":"2025-01-17T04:00:30.000Z","dependencies_parsed_at":"2024-03-13T02:31:50.649Z","dependency_job_id":null,"html_url":"https://github.com/davidosomething/yanjing","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/davidosomething/yanjing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidosomething%2Fyanjing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidosomething%2Fyanjing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidosomething%2Fyanjing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidosomething%2Fyanjing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidosomething","download_url":"https://codeload.github.com/davidosomething/yanjing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidosomething%2Fyanjing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29179420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T22:12:24.066Z","status":"ssl_error","status_checked_at":"2026-02-06T22:12:09.859Z","response_time":59,"last_error":"SSL_read: 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":[],"created_at":"2026-02-06T22:33:31.199Z","updated_at":"2026-02-06T22:33:31.909Z","avatar_url":"https://github.com/davidosomething.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yanjing\n\nKWin script to resize and move windows. Like Spectacle/Rectangle on mac.\n\n## Installation\n\nAvailable in the KDE store for\n\n- [Plasma 6](https://store.kde.org/p/2136753/)\n- [Plasma 5](https://store.kde.org/p/1492899/)\n\n## Configuration\n\nYou can customize the sizes this script cycles through by setting them in your\nkwin config using this command:\n\n```sh\nkwriteconfig5 --file kwinrc --group Script-yanjing --key sizes \"50,66,34,100\"\nqdbus org.kde.KWin /KWin reconfigure\n```\n\nThis will write the sizes to your `~/.config/kwinrc` file under the\n`[Script-yanjing]` group.\nYou may need to disable and re-enable the plugin in\n`System Settings \u003e KWin Scripts` for the sizes to be read.\n\n## Commands\n\nYou can customize the shortcuts in\n\n```plain\nSystem Settings \u003e Input \u0026 Output - Keyboard \u003e Shortcuts \u003e KWin\n```\n\nDefaults:\n\n- Yanjing LEFT - `no default`\n  - Vertically maximize, flush the window to the LEFT side of the screen, or\n    resize width if already flushed.\n- Yanjing CENTER - `no default`\n  - Vertically maximize, center window horizontally, or resize width if\n    already centered. Centering allows a 2px margin of error.\n- Yanjing RIGHT - `no default`\n  - Vertically maximize, flush the window to the RIGHT side of the screen,\n    or resize width if already flushed.\n- Yanjing yMax + LEFT - `Meta+Ctrl+Shift+a`\n  - Vertically maximize, flush the window to the LEFT side of the screen, or\n    resize width if already flushed.\n- Yanjing yMax + CENTER - `Meta+Ctrl+Shift+x` -\n  - Vertically maximize, center window horizontally, or resize width if\n    already centered. Centering allows a 2px margin of error.\n- Yanjing yMax + RIGHT - `Meta+Ctrl+Shift-D`\n  - Vertically maximize, flush the window to the RIGHT side of the screen,\n    or resize width if already flushed.\n\n### Resizing logic\n\nThe window will steps through the [Sizes array](./contents/code/main.js).\nIt does so in reverse order, so as you \"shove\" the window against each edge of\nthe screen or into the center more, it shrinks. It will loop back to the\nlargest size.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidosomething%2Fyanjing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidosomething%2Fyanjing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidosomething%2Fyanjing/lists"}