{"id":23055422,"url":"https://github.com/jintwo/clipr","last_synced_at":"2026-05-05T11:31:17.352Z","repository":{"id":70352573,"uuid":"564582531","full_name":"jintwo/clipr","owner":"jintwo","description":"simple clipboard manager [https://sr.ht/~jintwo/clipr/]","archived":false,"fork":false,"pushed_at":"2025-07-20T14:59:12.000Z","size":303,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-25T21:35:14.934Z","etag":null,"topics":["clipboard","clipboard-manager","emacs","macos","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jintwo.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-11T02:40:39.000Z","updated_at":"2025-07-20T14:58:00.000Z","dependencies_parsed_at":"2024-12-16T01:12:20.002Z","dependency_job_id":"291598f9-88c7-4cfc-a367-aacb95be0538","html_url":"https://github.com/jintwo/clipr","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jintwo/clipr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jintwo%2Fclipr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jintwo%2Fclipr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jintwo%2Fclipr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jintwo%2Fclipr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jintwo","download_url":"https://codeload.github.com/jintwo/clipr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jintwo%2Fclipr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32648040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["clipboard","clipboard-manager","emacs","macos","rust"],"created_at":"2024-12-16T01:12:08.707Z","updated_at":"2026-05-05T11:31:17.334Z","avatar_url":"https://github.com/jintwo.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"Clipr - command line clipboard (pasteboard) manager\n===================================================\n\nSimple MacOS clipboard (pasteboard) manager with cli and emacs interfaces. Under development.\n\n## Running\n\n### Server\n\n```bash\ncargo run --bin clipr-daemon -- -c PATH/TO/config.toml\n```\n\n### CLI\n\n```bash\ncargo run --bin clipr-cli -- -c PATH/TO/config.toml \u003ccommand\u003e\n```\n\n#### Alias\n\n```bash\nCLIPR_CLI=\"PATH/TO/target/debug/clipr-cli\"\nCLIPR_CONFIG=\"PATH/TO/config.toml\"\n\nalias c=\"$CLIPR_CLI -c $CLIPR_CONFIG\"\n```\n\n### Emacs module\n\n```bash\ncargo build --lib clipr-emacs\ncp target/debug/libclipr.dylib \u003cemacs-load-path\u003e/clipr-mode/clipr.so\ncp clipr-emacs/src/clipr-mode.el \u003cemacs-load-path\u003e/clipr-mode/\n```\n\n```elisp\n;; Usage example\n(use-package clipr-mode\n  :load-path \"PATH/TO/clipr-mode\"\n  :bind (:map global-map ((\"C-c c\" . clipr-show)))\n  :custom\n  (clipr-config-path \"PATH/TO/config.toml\"))\n```\n\n#### Keys\n\n##### List mode\n\n\u003ckbd\u003eg\u003c/kbd\u003e - refresh\n\n\u003ckbd\u003eRET\u003c/kbd\u003e - select and close\n\n\u003ckbd\u003ed\u003c/kbd\u003e - delete entry\n\n\u003ckbd\u003eq\u003c/kbd\u003e - close\n\n\u003ckbd\u003e+\u003c/kbd\u003e - add tag\n\n\u003ckbd\u003e-\u003c/kbd\u003e - delete tag\n\n\u003ckbd\u003ef\u003c/kbd\u003e - set filter by tag\n\n\u003ckbd\u003ec\u003c/kbd\u003e - clear filter\n\n\u003ckbd\u003ej\u003c/kbd\u003e - jump to tag\n\n\u003ckbd\u003eS\u003c/kbd\u003e - save state\n\n\u003ckbd\u003eL\u003c/kbd\u003e - load state\n\n\u003ckbd\u003eE\u003c/kbd\u003e - edit entry\n\n##### Edit mode\n\n\u003ckbd\u003eC-c C-c\u003c/kbd\u003e - save entry (will be added as new one ;) )\n\n\u003ckbd\u003eC-c C-k\u003c/kbd\u003e - quit edit mode\n\n## Tasks\n\n### General [1/7]\n\n* [/] Pinned entries (use letters!).\n      Currently there is no big difference from Tags.\n      Put it in front of list while listing ;)\n      ~~Allow set-by-pin -\u003e because pins should be unique.~~\n      ~~Convert pins to upper case.~~\n\n* [ ] Rework select\n      Use different option for specifying selection (and combinations)\n\n* [ ] Masked entries\n\n* [ ] Deadline timeout (for sensitive data)\n\n* [/] GC? (remove non tagged/pinned/persistent/old entries)\n      Ring (limited size)?\n\n* [/] Limited size. Only after proper implementation of pinned entries.\n\n* [ ] LaunchD plist\n\n* [X] Save state on quit\n\n* [ ] GUI/global menu (tag-based folders?)\n\n### Refactoring [1/5]\n\n* [X] Switch to LINKED-LIST + SET (or w/o). Looks like it will be a lot easier to reorder entries.\n\n* [ ] Split/simplify command handling\n\n* [ ] Maybe actor-like stuff isn't necessary there?\n\n* [ ] More rusty (try to specify lifetimes + remove all .clone)\n\n* [ ] Reduce dependencies\n\n### Emacs [1/3]\n\n* [X] Use removal by range / remove selection in clipr-mode\n\n* [ ] Emacs UI display current filter\n\n* [ ] Multi tag selection\n\n* [ ] Edit inplace\n\n### Bugs [1/2]\n\n* [X] If there is no changes in PB we still allocating NSString\n\n* [ ] After cleanup memory usage doesn't goes down\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjintwo%2Fclipr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjintwo%2Fclipr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjintwo%2Fclipr/lists"}