{"id":22525413,"url":"https://github.com/wdbm/spin","last_synced_at":"2025-06-22T22:03:04.465Z","repository":{"id":12895118,"uuid":"15572035","full_name":"wdbm/spin","owner":"wdbm","description":"a small utility to assist in setting usage modes of laptop-tablet devices","archived":false,"fork":false,"pushed_at":"2020-02-06T05:16:23.000Z","size":56,"stargazers_count":57,"open_issues_count":2,"forks_count":26,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-05-14T14:07:44.635Z","etag":null,"topics":["laptop-tablet-devices","multiprocessing","pyqt","thinkpad"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/wdbm.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}},"created_at":"2014-01-01T23:44:26.000Z","updated_at":"2025-02-08T06:49:41.000Z","dependencies_parsed_at":"2022-08-27T09:50:09.316Z","dependency_job_id":null,"html_url":"https://github.com/wdbm/spin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wdbm/spin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdbm%2Fspin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdbm%2Fspin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdbm%2Fspin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdbm%2Fspin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wdbm","download_url":"https://codeload.github.com/wdbm/spin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdbm%2Fspin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260831430,"owners_count":23069466,"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":["laptop-tablet-devices","multiprocessing","pyqt","thinkpad"],"created_at":"2024-12-07T06:10:05.815Z","updated_at":"2025-06-22T22:02:59.436Z","avatar_url":"https://github.com/wdbm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spin\n\na small utility to assist in setting usage modes of laptop-tablet devices\n\n# features\n\n- automatic palm rejection when using stylus\n- automatic disable/enable of touchpad and nipple when device toggled between laptop and tablet states\n- manual control of display orientation and input devices\n\n# setup\n\nThis utility requires X11.\n\nInstall PyQt5. On Ubuntu 16.04 LTS, run the following:\n\n```Bash\nsudo apt install python-qt5\n```\n\nOn Ubuntu 18.04 LTS, run the following:\n\n```Bash\nsudo apt install pyqt5-dev pyqt5-dev-tools\n```\n\nNow install spin by running the following:\n\n```Bash\nsudo pip install python_spin\n```\n\nTo set up globally a Linux desktop launcher with icon, execute the following:\n\n```Bash\nsudo wget --content-disposition -N -P /usr/share/icons/ https://raw.githubusercontent.com/wdbm/spin/master/python_spin/static/spin.svg\n\nsudo wget --content-disposition -N -P /usr/share/applications/ https://raw.githubusercontent.com/wdbm/spin/master/python_spin/static/spin.desktop\n```\n\n# quick start\n\nThis utility can be run in its default graphical mode or in a non-graphical mode. The graphical mode is engaged by running\n\n```Bash\nspin\n```\n\nwhile the non-graphical mode is engaged by using the option `--no_GUI`:\n\n```Bash\nspin --no_GUI\n```\n\nThere are other options which are described by `spin --help`.\n\nBy default, this utility disables the touchscreen on detecting the stylus in proximity and it changes between the laptop and tablet modes on detecting toggling between the laptop and tablet usage configurations. These default behaviours are provided by both the graphical and non-graphical modes of this utility. This utility should be initiated in the laptop usage configuration.\n\n# compatibility\n\n|**computer model**|**operating system and setup**|**comment**                                     |\n|------------------|------------------------------|------------------------------------------------|\n|ThinkPad S1 Yoga  |Ubuntu 16.04 (X11, Unity)     |working                                         |\n|ThinkPad S120 Yoga|Ubuntu 16.04 (X11, Unity)     |working                                         |\n|ThinkPad Yoga 14  |Ubuntu 16.04 (X11, Unity)     |possibly working with some reduced functionality|\n|ThinkPad Yoga P40 |Ubuntu 16.04 (X11, Unity)     |possibly working                                |\n\n# acceleration control\n\nThere is an experimental acceleration control included which is deactivated by default. It can be activated by selecting the appropriate button in the graphical mode.\n\n# future\n\nUnder consideration is state recording in order to avoid execution of unnecessary commands and better handling of subprocesses.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwdbm%2Fspin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwdbm%2Fspin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwdbm%2Fspin/lists"}