<div align="center">
<img src="https://raw.githubusercontent.com/james4ever0/swm/main/logo/logo.png" alt="logo" width="200"/>
<h1>Scrcpy Window Manager</h1>
</div>
## Use cases
- Use your phone at work
- Share data between PC and Android device
- Bring your work wherever you go
- Experience something like Samsung Dex
- A more ergonomic way of using your Android phone
- Boost productivity by multi-tasking on Android
## Requirements
Your Android version must be 10.0 or higher.
USB debugging (ADB) must be enabled.
Your phone need to be rooted, and `com.android.shell` must have root permission.
## Features
- Multi-window, multi-application support
- Fuzzy search interface for managing apps, sessions, input methods, etc.
- Session persistance
- Config file customization
- PC-side UTF-8 input method support
## Installation
Using `pip`:
```bash
pip install swm-android
```
## Command line
```
SWM - Scrcpy Window Manager
Usage:
swm init
swm [options] repl
swm [options] healthcheck
swm [options] adb [<adb_args>...]
swm [options] scrcpy [<scrcpy_args>...]
swm [options] app run <query> [no-new-display] [<init_config>]
swm [options] app list [with-last-used-time] [with-type] [update]
swm [options] app search [with-type] [index]
swm [options] app most-used [<count>]
swm [options] app config show-default
swm [options] app config list
swm [options] app config (show|edit) <config_name>
swm [options] app config copy <source_name> <target_name>
swm [options] ime list
swm [options] ime (switch|activate|deactivate) <query>
swm [options] ime search
swm [options] ime switch-to-previous
swm [options] session list [last-used]
swm [options] session search [index]
swm [options] session restore [session_name]
swm [options] session delete <query>
swm [options] session edit <query>
swm [options] session save <session_name>
swm [options] session copy <source> <target>
swm [options] device list [last-used]
swm [options] device search [index]
swm [options] device select <query>
swm [options] device name <device_id> <device_alias>
swm [options] baseconfig show [diagnostic]
swm [options] baseconfig show-default
swm [options] baseconfig edit
swm --version
swm --help
Options:
-h --help Show this screen.
--version Show version.
-c --config=<config_file>
Use a config file.
-v --verbose Enable verbose logging.
-d --device=<device_selected>
Device name or ID for executing the command.
--debug Debug mode, capturing all exceptions.
Environment variables:
SWM_CACHE_DIR
SWM managed cache directory on PC, which stores the main config file
SWM_CLI_SUGGESION_LIMIT
Maximum possible command suggestions when failed to parse user input
ADB Path to ADB binary (overrides SWM managed ADB)
SCRCPY Path to SCRCPY binary (overrides SWM managed SCRCPY)
FZF Path to FZF binary (overrides SWM managed FZF)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/james4ever0/swm",
"name": "swm-android",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6.0",
"maintainer_email": null,
"keywords": null,
"author": "James Brown",
"author_email": "randomvoidmail@foxmail.com",
"download_url": "https://files.pythonhosted.org/packages/3c/4a/012fee79076d097eb5aebc89cd74134f97d3080975a58ce340098bcafa16/swm_android-0.3.3.1.1.1.tar.gz",
"platform": null,
"description": "\n\n<div align=\"center\">\n<img src=\"https://raw.githubusercontent.com/james4ever0/swm/main/logo/logo.png\" alt=\"logo\" width=\"200\"/>\n\n<h1>Scrcpy Window Manager</h1>\n</div>\n\n## Use cases\n\n- Use your phone at work\n- Share data between PC and Android device\n- Bring your work wherever you go\n- Experience something like Samsung Dex\n- A more ergonomic way of using your Android phone\n- Boost productivity by multi-tasking on Android\n\n## Requirements\n\nYour Android version must be 10.0 or higher.\n\nUSB debugging (ADB) must be enabled.\n\nYour phone need to be rooted, and `com.android.shell` must have root permission.\n\n## Features\n\n- Multi-window, multi-application support\n- Fuzzy search interface for managing apps, sessions, input methods, etc.\n- Session persistance\n- Config file customization\n- PC-side UTF-8 input method support\n\n## Installation\n\nUsing `pip`:\n\n```bash\npip install swm-android\n```\n\n\n## Command line\n\n```\nSWM - Scrcpy Window Manager\n\nUsage:\n swm init\n swm [options] repl\n swm [options] healthcheck\n swm [options] adb [<adb_args>...]\n swm [options] scrcpy [<scrcpy_args>...]\n swm [options] app run <query> [no-new-display] [<init_config>]\n swm [options] app list [with-last-used-time] [with-type] [update]\n swm [options] app search [with-type] [index]\n swm [options] app most-used [<count>]\n swm [options] app config show-default\n swm [options] app config list\n swm [options] app config (show|edit) <config_name>\n swm [options] app config copy <source_name> <target_name>\n swm [options] ime list\n swm [options] ime (switch|activate|deactivate) <query>\n swm [options] ime search\n swm [options] ime switch-to-previous\n swm [options] session list [last-used]\n swm [options] session search [index]\n swm [options] session restore [session_name]\n swm [options] session delete <query>\n swm [options] session edit <query>\n swm [options] session save <session_name>\n swm [options] session copy <source> <target>\n swm [options] device list [last-used]\n swm [options] device search [index]\n swm [options] device select <query>\n swm [options] device name <device_id> <device_alias>\n swm [options] baseconfig show [diagnostic]\n swm [options] baseconfig show-default\n swm [options] baseconfig edit\n swm --version\n swm --help\n\nOptions:\n -h --help Show this screen.\n --version Show version.\n -c --config=<config_file>\n Use a config file.\n -v --verbose Enable verbose logging.\n -d --device=<device_selected>\n Device name or ID for executing the command.\n --debug Debug mode, capturing all exceptions.\n\nEnvironment variables:\n SWM_CACHE_DIR\n SWM managed cache directory on PC, which stores the main config file\n SWM_CLI_SUGGESION_LIMIT\n Maximum possible command suggestions when failed to parse user input\n ADB Path to ADB binary (overrides SWM managed ADB)\n SCRCPY Path to SCRCPY binary (overrides SWM managed SCRCPY)\n FZF Path to FZF binary (overrides SWM managed FZF)\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Android window manager using Scrcpy on PC",
"version": "0.3.3.1.1.1",
"project_urls": {
"Homepage": "https://github.com/james4ever0/swm"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "db585c1c20a25dc5e39f376666d59823d78e1e4cb6b3ad743a8b0f884020d437",
"md5": "c9935668724c40b52ef821f66277ad32",
"sha256": "1b0dbe57955a4b670ed2861a7ef2c72070ef947b256ebbe07b81a5e02e05365d"
},
"downloads": -1,
"filename": "swm_android-0.3.3.1.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c9935668724c40b52ef821f66277ad32",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6.0",
"size": 33495,
"upload_time": "2025-07-10T12:48:25",
"upload_time_iso_8601": "2025-07-10T12:48:25.553393Z",
"url": "https://files.pythonhosted.org/packages/db/58/5c1c20a25dc5e39f376666d59823d78e1e4cb6b3ad743a8b0f884020d437/swm_android-0.3.3.1.1.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3c4a012fee79076d097eb5aebc89cd74134f97d3080975a58ce340098bcafa16",
"md5": "555270fd4706862d70f43351ce97a2dd",
"sha256": "8a9edd09c25992f00b55f1e83576903a0c23c64901ecb11249eac0c40db5c216"
},
"downloads": -1,
"filename": "swm_android-0.3.3.1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "555270fd4706862d70f43351ce97a2dd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 34541,
"upload_time": "2025-07-10T12:48:27",
"upload_time_iso_8601": "2025-07-10T12:48:27.083539Z",
"url": "https://files.pythonhosted.org/packages/3c/4a/012fee79076d097eb5aebc89cd74134f97d3080975a58ce340098bcafa16/swm_android-0.3.3.1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-10 12:48:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "james4ever0",
"github_project": "swm",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "omegaconf",
"specs": []
},
{
"name": "docopt",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "PyYAML",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "tinydb",
"specs": []
},
{
"name": "pyperclip",
"specs": []
},
{
"name": "pyautogui",
"specs": []
}
],
"lcname": "swm-android"
}