# dont-fuck-with-paste
Annoying login window that doesn't allow you to paste your 128-char long password?
`dfwp` to the rescue!
`dfwp` uses `keyboard.write()` to simulate pasting.
https://github.com/user-attachments/assets/3bbf4ec0-981d-42ed-ae7b-f17d9c664d12
Demo: using `dfwp` to deal with trading software's unpastable login text fields.
- [dont-fuck-with-paste](#dont-fuck-with-paste)
- [Installation](#installation)
- [pipx](#pipx)
- [pip](#pip)
- [Usage](#usage)
- [On the Command Line](#on-the-command-line)
- [Invoking `dfwp` without A Terminal](#invoking-dfwp-without-a-terminal)
- [Develop](#develop)
- [Credits](#credits)
## Installation
Requires Python>=3.10, <4.0.
### pipx
This is the recommended installation method.
```
$ pipx install dont-fuck-with-paste
```
### [pip](https://pypi.org/project/dont-fuck-with-paste/)
```
$ pip install dont-fuck-with-paste
```
## Usage
### On the Command Line
Either `dfwp` or `dont-fuck-with-paste` works.
```plain
$ dfwp -h
usage: dfwp [-h] [-t TEXT] [-S] [-V]
Uses keyboard.write() to simulate pasting
options:
-h, --help show this help message and exit
-t TEXT, --text TEXT Text to simulate pasting, uses copied text if not provided (default: None)
-S, --no-strip Do not strip leading/trailing whitespace (default: False)
-V, --version show program's version number and exit
```
### Invoking `dfwp` without A Terminal
You can install the tool using `pipx install dont-fuck-with-paste` and use software like Alfred / Keyboard Maestro / Raycast to invoke the simulated pasting by running `dfwp` or `~/.local/bin/dfwp` with a keyboard shortcut or keyword.
## Develop
```
$ git clone https://github.com/tddschn/dont-fuck-with-paste.git
$ cd dont-fuck-with-paste
$ poetry install
```
## Credits
The naming was inspired by a browser extension with a similar name.
Raw data
{
"_id": null,
"home_page": "https://github.com/tddschn/dont-fuck-with-paste",
"name": "dont-fuck-with-paste",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "keyboard, utility, pasting, clipboard, gui, automation",
"author": "Teddy Xinyuan Chen",
"author_email": "45612704+tddschn@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/ea/d4/e07b12b2de66c3bc857946101cfd59d34376a08921d966b8967769e10bee/dont_fuck_with_paste-0.1.7.tar.gz",
"platform": null,
"description": "# dont-fuck-with-paste\n\nAnnoying login window that doesn't allow you to paste your 128-char long password? \n`dfwp` to the rescue!\n\n`dfwp` uses `keyboard.write()` to simulate pasting.\n\nhttps://github.com/user-attachments/assets/3bbf4ec0-981d-42ed-ae7b-f17d9c664d12\n\nDemo: using `dfwp` to deal with trading software's unpastable login text fields.\n\n- [dont-fuck-with-paste](#dont-fuck-with-paste)\n - [Installation](#installation)\n - [pipx](#pipx)\n - [pip](#pip)\n - [Usage](#usage)\n - [On the Command Line](#on-the-command-line)\n - [Invoking `dfwp` without A Terminal](#invoking-dfwp-without-a-terminal)\n - [Develop](#develop)\n - [Credits](#credits)\n\n## Installation\n\nRequires Python>=3.10, <4.0.\n\n### pipx\n\nThis is the recommended installation method.\n\n```\n$ pipx install dont-fuck-with-paste\n```\n\n### [pip](https://pypi.org/project/dont-fuck-with-paste/)\n\n```\n$ pip install dont-fuck-with-paste\n```\n\n## Usage\n\n### On the Command Line\n\nEither `dfwp` or `dont-fuck-with-paste` works.\n\n```plain\n$ dfwp -h\n\nusage: dfwp [-h] [-t TEXT] [-S] [-V]\n\nUses keyboard.write() to simulate pasting\n\noptions:\n -h, --help show this help message and exit\n -t TEXT, --text TEXT Text to simulate pasting, uses copied text if not provided (default: None)\n -S, --no-strip Do not strip leading/trailing whitespace (default: False)\n -V, --version show program's version number and exit\n```\n\n### Invoking `dfwp` without A Terminal\n\nYou can install the tool using `pipx install dont-fuck-with-paste` and use software like Alfred / Keyboard Maestro / Raycast to invoke the simulated pasting by running `dfwp` or `~/.local/bin/dfwp` with a keyboard shortcut or keyword.\n\n## Develop\n\n```\n$ git clone https://github.com/tddschn/dont-fuck-with-paste.git\n$ cd dont-fuck-with-paste\n$ poetry install\n```\n\n## Credits\n\nThe naming was inspired by a browser extension with a similar name.",
"bugtrack_url": null,
"license": "MIT",
"summary": "Uses keyboard.write() to simulate pasting",
"version": "0.1.7",
"project_urls": {
"Bug Tracker": "https://github.com/tddschn/dont-fuck-with-paste/issues",
"Homepage": "https://github.com/tddschn/dont-fuck-with-paste",
"Repository": "https://github.com/tddschn/dont-fuck-with-paste"
},
"split_keywords": [
"keyboard",
" utility",
" pasting",
" clipboard",
" gui",
" automation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8d5255020da1bb4ea4ba2af526d822cc8de4f02f68305afb340e69280bceedb9",
"md5": "873e76b9f6fb5620f372766da84d6132",
"sha256": "2a4d779948c957076db179b2a63168343adcd3d888d6931420be49982b8df070"
},
"downloads": -1,
"filename": "dont_fuck_with_paste-0.1.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "873e76b9f6fb5620f372766da84d6132",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 4263,
"upload_time": "2024-08-06T17:31:06",
"upload_time_iso_8601": "2024-08-06T17:31:06.906625Z",
"url": "https://files.pythonhosted.org/packages/8d/52/55020da1bb4ea4ba2af526d822cc8de4f02f68305afb340e69280bceedb9/dont_fuck_with_paste-0.1.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ead4e07b12b2de66c3bc857946101cfd59d34376a08921d966b8967769e10bee",
"md5": "6a9588a942775f65978e968ab1006f6c",
"sha256": "3a7f9b1cf50b4c7f35fe347edbd6a9081b0955649ebe4f86f07d6391b85fca1c"
},
"downloads": -1,
"filename": "dont_fuck_with_paste-0.1.7.tar.gz",
"has_sig": false,
"md5_digest": "6a9588a942775f65978e968ab1006f6c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 3237,
"upload_time": "2024-08-06T17:31:08",
"upload_time_iso_8601": "2024-08-06T17:31:08.174709Z",
"url": "https://files.pythonhosted.org/packages/ea/d4/e07b12b2de66c3bc857946101cfd59d34376a08921d966b8967769e10bee/dont_fuck_with_paste-0.1.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-06 17:31:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tddschn",
"github_project": "dont-fuck-with-paste",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "dont-fuck-with-paste"
}