{"id":20066278,"url":"https://github.com/ossobv/xpaste","last_synced_at":"2025-05-05T18:32:35.528Z","repository":{"id":45738636,"uuid":"71976441","full_name":"ossobv/xpaste","owner":"ossobv","description":"Paste text into X11/Wayland windows that don't work with selections","archived":false,"fork":false,"pushed_at":"2023-04-24T11:16:40.000Z","size":104,"stargazers_count":9,"open_issues_count":2,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-10-12T03:09:17.258Z","etag":null,"topics":["cli","copy-paste","wayland","x11"],"latest_commit_sha":null,"homepage":"","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/ossobv.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-26T07:14:19.000Z","updated_at":"2023-12-05T20:59:41.000Z","dependencies_parsed_at":"2023-01-23T11:00:16.277Z","dependency_job_id":null,"html_url":"https://github.com/ossobv/xpaste","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/ossobv%2Fxpaste","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ossobv%2Fxpaste/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ossobv%2Fxpaste/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ossobv%2Fxpaste/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ossobv","download_url":"https://codeload.github.com/ossobv/xpaste/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224461886,"owners_count":17315116,"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":["cli","copy-paste","wayland","x11"],"created_at":"2024-11-13T13:55:45.841Z","updated_at":"2024-11-13T13:55:46.507Z","avatar_url":"https://github.com/ossobv.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"xpaste - paste text into X windows that don't work with selections\n==================================================================\n\n.. image:: https://bettercodehub.com/edge/badge/ossobv/xpaste\n\nSYNOPSIS\n--------\n\n::\n\n    xpaste \u003c\u003cEOF\n    This text will be pasted into a window of your choosing.\n    EOF\n\n\nDESCRIPTION\n-----------\n\n*Some applications refuse to work with any of the three selection\nbuffers that X/X11/Xorg has: the* **middle-mouse** *selection,*\n**secondary** *selection and the* **CTRL-(SHIFT-)V** *clipboard\nselection.*\n\nIf you have to insert long or difficult to type text (generated\npasswords), not being able to *paste* can be troublesome.\n\nxpaste will read the text to paste from standard input, keep it in\nmemory and wait for you to press ENTER.  When you do, it pastes the held\ntext into the newly focused window.\n\nSee this *before/after* example where the username is pasted into the\nSuperMicro ipmiview Java application that doesn't accept \"paste\" input\nthrough the middle-mouse or CTRL-V:\n\n.. image:: ./xpaste.png\n\nThe pasting of text happens through \"faked\" keypress events.  And as you\ncan see from the example, it works.\n\n**NOTE: xpaste now works with Wayland as well: it uses /dev/uinput to\nattach a virtual keyboard.**\n\n\nNOTES\n-----\n\nUsers on *Wayland* experiencing ``PermissionError: [Errno 13] Permission\ndenied: '/dev/uinput'`` should add a *udev rule* in\n``/etc/udev/rules.d/40-uinput.rules``::\n\n    KERNEL==\"uinput\", SUBSYSTEM==\"misc\", TAG+=\"uaccess\", OPTIONS+=\"static_node=uinput\"\n\nAnd run ``udevadm trigger`` once. Afterwards their user should appear in\nthe ``getfacl /dev/uinput`` output as ``user:someuser:rw-``.\n\n\nCOPYRIGHT\n---------\n\nCopyright (C) 2016,2018,2020,2022  Walter Doekes, OSSO B.V.\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\n\nSEE ALSO\n--------\n\nxsel(1), crikey(1)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fossobv%2Fxpaste","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fossobv%2Fxpaste","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fossobv%2Fxpaste/lists"}