{"id":13580223,"url":"https://github.com/nik012003/ripdrag","last_synced_at":"2025-05-16T03:05:22.674Z","repository":{"id":59094939,"uuid":"535054699","full_name":"nik012003/ripdrag","owner":"nik012003","description":"Drag and Drop utilty written in Rust and GTK4","archived":false,"fork":false,"pushed_at":"2024-04-28T01:11:40.000Z","size":172,"stargazers_count":446,"open_issues_count":14,"forks_count":17,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-28T19:05:52.358Z","etag":null,"topics":["cli","drag-and-drop","gtk4","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/nik012003.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-09-10T16:29:48.000Z","updated_at":"2024-06-19T00:08:37.973Z","dependencies_parsed_at":"2024-06-19T00:08:32.805Z","dependency_job_id":"96dc3ede-ea8a-437c-b435-be06c160c57c","html_url":"https://github.com/nik012003/ripdrag","commit_stats":{"total_commits":111,"total_committers":12,"mean_commits":9.25,"dds":0.4054054054054054,"last_synced_commit":"d47d93383775edc4bca4ab109b96c38e2590a5f0"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nik012003%2Fripdrag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nik012003%2Fripdrag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nik012003%2Fripdrag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nik012003%2Fripdrag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nik012003","download_url":"https://codeload.github.com/nik012003/ripdrag/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254459088,"owners_count":22074605,"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","drag-and-drop","gtk4","rust"],"created_at":"2024-08-01T15:01:48.888Z","updated_at":"2025-05-16T03:05:17.665Z","avatar_url":"https://github.com/nik012003.png","language":"Rust","readme":"# What is ripdrag?\n![Crates.io](https://img.shields.io/crates/d/ripdrag?style=for-the-badge)\n![GitHub top language](https://img.shields.io/github/languages/top/nik012003/ripdrag?color=dea584\u0026style=for-the-badge)\n![Crates.io](https://img.shields.io/crates/v/ripdrag?style=for-the-badge)\n\nripdrag is an application that lets you drag and drop files from and to the terminal.\n\nIt's designed to be feature to feature* compatible with [dragon](https://github.com/mwh/dragon), while being written in modern Rust and GTK4.\n\nhttps://user-images.githubusercontent.com/10795335/189587471-7ed26f71-3f5e-4d8d-8048-7539e429531f.mp4\n\n*some features like --on-top can't be ported over because of limitations in gtk4\n# Use cases\n\nMany applications expect files to be dragged into them. Normally you would have to put your beloved terminal aside and open a file manager to that, but now you can just type ```ripdrag FILENAME``` and be done.\n\nUsed in combination with a fuzzy finder like [fzf](https://github.com/junegunn/fzf) - e.g. ```ripdrag $(fzf)``` - can make for an amazingly quick and painless terminal experience.\n\n# Installation\n\u003cdetails\u003e\n  \u003csummary\u003eClick to see the installation guide\u003c/summary\u003e\n\n### Install the required dependencies\n#### Ubuntu 22.04 or later\n```\nsudo apt install libgtk-4-dev build-essential curl\ncurl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh\n```\n#### Fedora\\CentOS\\RHEL \n```\nsudo dnf install cargo gdk-pixbuf2-devel pango-devel graphene-devel cairo-gobject-devel cairo-devel python2-cairo-devel gtk4-devel\n```\n#### Arch Linux\nripdrag is on the AUR: [ripdrag-git](https://aur.archlinux.org/packages/ripdrag-git)\n\nIf you want to install it manually, you need to install the requirements:\n```\nsudo pacman -Sy --needed rust gtk4 base-devel\n```\n#### MacOS\nYou need to have [homebrew](https://brew.sh) installed.\n```\nbrew install rustup gtk4\nrustup-init\n```\n#### NetBSD\nA pre-compiled binary is available from the official repositories. To install it simply run,\n```\npkgin install ripdrag\n```\n\n### Install the binary\n(Do not use sudo, if you don't want it to be installed on root)\n```\ncargo install ripdrag\n```\n### Add cargo to path\n(Not added by default)\n```\nPATH=$PATH:~/.cargo/bin\n```\n\n\u003c/details\u003e\n\n# Usage\n```\nUsage: ripdrag [OPTIONS] [PATH]...\n\nArguments:\n  [PATH]...  Paths to the files you want to drag\n\nOptions:\n  -v, --verbose                  Be verbose\n  -t, --target                   Act as a target instead of source\n  -k, --keep                     With --target, keep files to drag out\n  -r, --resizable                Make the window resizable\n  -x, --and-exit                 Exit after first successful drag or drop\n  -i, --icons-only               Only display icons, no labels\n  -d, --disable-thumbnails       Don't load thumbnails from images\n  -s, --icon-size \u003cSIZE\u003e         Size of icons and thumbnails [default: 32]\n  -W, --content-width \u003cWIDTH\u003e    Min width of the main window [default: 360]\n  -H, --content-height \u003cHEIGHT\u003e  Default height of the main window [default: 360]\n  -I, --from-stdin               Accept paths from stdin\n  -a, --all                      Show a drag all button\n  -A, --all-compact              Show only the number of items and drag them together\n  -n, --no-click                 Don't open files on click\n  -b, --basename                 Always show basename of each file\n  -h, --help                     Print help\n  -V, --version                  Print version\n```\n\n# TODO\nThere are still lots of thing to be done! Mainly:\n- clean up code\n- pacman, deb, rpm, windows and macos build scripts\n- automated builds\n\nFeel free to contribute ;)\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnik012003%2Fripdrag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnik012003%2Fripdrag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnik012003%2Fripdrag/lists"}