{"id":21409773,"url":"https://github.com/emvaized/kde-snap-assist","last_synced_at":"2025-03-22T12:07:09.811Z","repository":{"id":54101191,"uuid":"522041053","full_name":"emvaized/kde-snap-assist","owner":"emvaized","description":"KWin script for KDE Plasma which suggests other window thumbnails on snap","archived":false,"fork":false,"pushed_at":"2024-09-23T05:00:07.000Z","size":25981,"stargazers_count":128,"open_issues_count":7,"forks_count":8,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-21T15:11:42.946Z","etag":null,"topics":["kde","kde-plasma","kwin","kwin-script","linux","tiling-window-manager"],"latest_commit_sha":null,"homepage":"https://store.kde.org/p/1875687","language":"JavaScript","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/emvaized.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":null,"patreon":null,"open_collective":null,"tidelift":null,"community_bridge":null,"liberapay":"emvaized","issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"ko_fi":"emvaized"}},"created_at":"2022-08-06T19:54:47.000Z","updated_at":"2025-03-19T11:18:41.000Z","dependencies_parsed_at":"2024-11-22T17:45:15.756Z","dependency_job_id":null,"html_url":"https://github.com/emvaized/kde-snap-assist","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emvaized%2Fkde-snap-assist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emvaized%2Fkde-snap-assist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emvaized%2Fkde-snap-assist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emvaized%2Fkde-snap-assist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emvaized","download_url":"https://codeload.github.com/emvaized/kde-snap-assist/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244952800,"owners_count":20537474,"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":["kde","kde-plasma","kwin","kwin-script","linux","tiling-window-manager"],"created_at":"2024-11-22T17:33:37.535Z","updated_at":"2025-03-22T12:07:09.774Z","avatar_url":"https://github.com/emvaized.png","language":"JavaScript","funding_links":["https://liberapay.com/emvaized","https://ko-fi.com/emvaized","https://liberapay.com/emvaized/donate"],"categories":[],"sub_categories":[],"readme":"# \u003csub\u003e\u003cimg src=\"https://github.com/emvaized/kde-snap-assist/blob/main/assets/logo.png\" height=\"48\" width=\"48\"\u003e\u003c/sub\u003e KDE Snap Assist\n\n[![KDE Store](https://img.shields.io/badge/KDE%20Store-download-blue?logo=KDE)](https://store.kde.org/p/1875687)\n[![GitHub Release](https://img.shields.io/github/v/release/emvaized/kde-snap-assist?color=limegreen)](https://github.com/emvaized/kde-snap-assist/releases)\n\n\n\u003e [!NOTE]\\\n\u003e **⚠️ Only Plasma 5 is supported for now! Plasma 6 port is being [worked on](https://github.com/emvaized/kde-snap-assist/issues/47#issuecomment-2307760205)**\n\nThis KWin script for KDE Plasma suggests other window thumbnails on snap. It tries to replicate the famous Windows 10/11 feature of the same name.\n\nAssist can be shown by dragging a window to the screen edge, as well as via default keyboard shortcuts (\u003ckbd\u003esuper\u003c/kbd\u003e + arrows).\nYou can select the window with mouse, as well as with arrow keys + \u003ckbd\u003eEnter\u003c/kbd\u003e. \nTo dismiss the assist, hit \u003ckbd\u003eEscape\u003c/kbd\u003e key, press the close button or click anywhere on the empty area. \nScript also supports quarter and triple tiling: you can switch layouts with the \u003ckbd\u003eTab\u003c/kbd\u003e key or using the button in corner.\n\nIdeas, suggestions, bugs reports and contributions to the project are welcome!\n\n## Support\nThis project is in need of your support! If you enjoy it and want to keep it going on, please consider supporting by making a small donation using one of the services below! \n\n\u003ca href=\"https://ko-fi.com/emvaized\"\u003e\u003cimg src=\"https://cdn.prod.website-files.com/5c14e387dab576fe667689cf/64f1a9ddd0246590df69ea0b_kofi_long_button_red%25402x-p-800.png\" alt=\"Support on Ko-fi\" height=\"40\"\u003e\u003c/a\u003e \u0026nbsp;\u0026nbsp; \u003ca href=\"https://liberapay.com/emvaized/donate\"\u003e\u003cimg alt=\"Donate using Liberapay\" src=\"https://liberapay.com/assets/widgets/donate.svg\" height=\"40\"\u003e\u003c/a\u003e \u0026nbsp;\u0026nbsp; \u003ca href=\"https://emvaized.github.io/donate/bitcoin/\"\u003e\u003cimg src=\"https://github.com/emvaized/emvaized.github.io/blob/main/donate/bitcoin/assets/bitcoin-donate-button.png?raw=true\" alt=\"Donate Bitcoin\" height=\"40\" /\u003e\u003c/a\u003e\n\n## Screenshot\n![screenshot_snapassist](./assets/screenshot.png)\n\n## Manual Installation\nIn order to install this script manually from GitHub, you'd need to:\n- Delete current version of script and re-login to KDE Plasma\n- Download the code as .zip (green \"Code\" button \u003e \"Download as ZIP\"), and rename file to .kwinscript extension\n- Use the \"Install from file\" button in System settings \u003e Windows manager \u003e KWin scripts\n- Re-login to Plasma again (or restart KWin) to make sure the script is installed\n\nThere is also experimental [2.0-dev](https://github.com/emvaized/kde-snap-assist/releases/tag/v.2.0-dev2) version, which you could help to test!\n\n## Snap Groups\n\nSince version `1.4`, there are also experimental *snap group* features:\n- Minimize/restore snapped windows together ([demo](./assets/demos/snap%20groups/minimize-together.gif))\n- Raise snapped windows together ([demo](./assets/demos/snap%20groups/raise-together.gif))\n- On close snapped window, try to fill the area ([demo](./assets/demos/snap%20groups/fill-on-close.gif))\n- Try to fit snapped window in group behind ([demo](./assets/demos/snap%20groups/fit-in-group-behind.gif))\n\nWhen you enable any of these options in the script settings, it will start tracking windows snapped via the script. Group of snapped windows is remembered once you fill the layout using the assist. Window is no longer considered snapped once it was closed or moved manually using the mouse (sometimes you need to do it twice to break it from the group). Snap groups are not persistent, and should be recreated after each reboot.\n\n\n## Compatibility notes\n\n#### Compatibility with [Window Gap](https://github.com/nclarius/tile-gaps)\n\n- Since version 1.2, there's an option \"Snap detect tolerance\" in the script settings, which basically defines how much window's size and position can differ to still be detected as \"snapped\" by the script. If you use some external scripts which constantly modify windows size and position, you may want to set it to `15px` or `25px`, so that Snap Assist could detect your snaps.\n\n#### Compatibility with [Exquisite](https://www.pling.com/p/1852610)\n\n- Most of default layouts are supported out the box. You may also like to enable \"Hide after tiling a window\" in Exquisite's settings for the smoothest workflow. Over time, support for custom layouts will expand, possibly with ability to edit them.\n\n#### Compatibility with [Sticky Window Snapping](https://www.pling.com/p/1112552)\n\n- Fully compatible. Highly recommended to be used in conjunction with Snap Assist!\n\n#### Compatibility with diagonal keyboard shortcuts\n\n- Version 1.4 introduces an option \"Delay before showing the assist\", which gives some time to execute 'diagonal' shortcuts (\u003ckbd\u003esuper\u003c/kbd\u003e + \u003ckbd\u003e↑\u003c/kbd\u003e + \u003ckbd\u003e→\u003c/kbd\u003e) before Assist gets shown. The default value is `100ms`.\n\n\n## Troubleshooting\n- To apply the new settings, you may need to re-enable the script or restart KWin. The same is recommended if you switch from one version of the script to another\n- Assist will not show if you have no other windows matching the conditions set in the script settings. For example, by default the script does not show windows from other screens — so, if you have only one window on the current screen, assist will not show\n- Script settings button is not visible, or complains that \"Plugin doesn't provide configuration file in the expected location\" — this is a known KWin's bug, not related to the script. Make sure your system is up-to-date, as it seems to be fixed now. If it doesn't help, you can also try to install the script [manually](https://github.com/emvaized/kde-snap-assist#manual-installation)\n- KWin crashes after sleep — it was reported [here](https://github.com/emvaized/kde-snap-assist/issues/35) that you may need to install `pygdbmi` library to fix the crash after sleep\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femvaized%2Fkde-snap-assist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femvaized%2Fkde-snap-assist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femvaized%2Fkde-snap-assist/lists"}