{"id":16981307,"url":"https://github.com/ktwrd/rustgrab","last_synced_at":"2025-04-12T02:20:31.580Z","repository":{"id":239772006,"uuid":"799948945","full_name":"ktwrd/rustgrab","owner":"ktwrd","description":"Screenshot Utility made in Rust","archived":false,"fork":false,"pushed_at":"2024-05-22T07:09:38.000Z","size":59906,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-23T07:49:36.871Z","etag":null,"topics":["linux","rust","screenshot-utility","sharex"],"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/ktwrd.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","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":"2024-05-13T12:16:32.000Z","updated_at":"2024-06-03T16:45:21.809Z","dependencies_parsed_at":"2024-05-22T07:44:12.205Z","dependency_job_id":null,"html_url":"https://github.com/ktwrd/rustgrab","commit_stats":null,"previous_names":["ktwrd/rustgrab"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktwrd%2Frustgrab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktwrd%2Frustgrab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktwrd%2Frustgrab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktwrd%2Frustgrab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ktwrd","download_url":"https://codeload.github.com/ktwrd/rustgrab/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505921,"owners_count":21115354,"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":["linux","rust","screenshot-utility","sharex"],"created_at":"2024-10-14T02:05:05.838Z","updated_at":"2025-04-12T02:20:31.550Z","avatar_url":"https://github.com/ktwrd.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rustgrab\nScreenshot Utility made in Rust for ex-ShareX Users.\n\n**Note:** This is a fork of [ShareXin](https://github.com/sharexin/sharexin)\n\n# Table of contents\n* [Requirements](#requirements)\n* [Features](#features)\n* [Desktop support](#desktop-support)\n    * [Tested on](#tested-on)\n* [How to Use](#how-to-use)\n* [Language support](#language-support)\n* [Changelog](#changelog)\n\n## Requirements\n* `rustc` 1.78.0 (Rust 2021)\n* `feh` (only need if `spectacle` is not installed or using GNOME)\n* `xclip` for copying non-png files.\n\n## Features\n* Takes screenshots\n* Uploads to ~~Twitter, Mastodon~~, XBackbone, Google Cloud Storage, and Imgur\n* Saves screenshots to your Pictures\n* Notifications\n* ~~GTK Dialog for entering a message with a tweet or toot~~ Planning to be re-written with [fltk-rs](https://crates.io/crates/fltk).\n\n## Desktop support\n- GNOME desktop **(with `gnome-screenshot`)**\n- KDE Plasma desktop **(with `spectacle`)**\n- Budgie desktop\n- Cinnamon desktop\n- Unity desktop\n- Generic X11 DE **(with `scrot`)**\n\nScreenshot handling is done with [screenshot-rs](https://crates.io/crates/screenshot-rs).\n#### Tested on\n- Debian Trixie w/ KDE 5 (2024/05/16)\n\n## How to Use\n\n### Google Cloud Storage\nTo use the Google Cloud Storage target, you must have the following;\n- `gcloud` CLI installed\n- An existing Google Cloud Storage Bucket\n\nIf you wish to not use a service account, you can easily create credentials with `gcloud auth application-default login`, which will create credentials for the current project that you're authenticated as.\n\nOnce you've done that, set your `gcs_config` property in your config to the following;\n```json\n{\n    \"use_default\": false,\n    \"auth_cfg_location\": \"/home/myuser/.config/gcloud/application_default_credentials.json\",\n    \"bucket\": \"my_bucket_name\",\n    \"relative_path\": \"upload/$rand\",\n    \"public_url_base\": null\n}\n```\n\nOnce you've modified your config, you can now change your default target to `GoogleCloudStorage` so rustgrab will upload to your Google Cloud Storage bucket by default.\n\n**Note** `public_base_url` will default to `https://storage.googleapis.com/$bucket_name` where `$bucket_name` is the value of `bucket` in `gcs_config`.\n\n## Language support\n* English\n* Français (French) by [@Eleoryth](https://twitter.com/Eleoryth)\n* Español (Spanish)\n* Esperanto\n* 简体中文 (Simplified Chinese)\n* 繁體中文 (Traditional Chinese)\n* 日本語 (Japanese)\n*  한국어 (Korean)\n* Deutsch (German) by [@qwertxzy](https://twitter.com/qwertxzy)\n* Polski (Polish) by [@Michcioperz](https://twitter.com/Michcioperz)\n* Português (Portuguese) by [@pillgp](https://twitter.com/pillgp)\n\nWhen changes have been made to the locale files, run `generate_include.js` in the locale folder. This will generate `src/locale_content.rs`.\n\n# Changelog\n#### [0.8] - 2024-06-05\n- Add GUI for editing `~/.config/rustgrab/config.json`. Made with [fltk-rs](https://crates.io/crates/fltk).\n- Add ability to write to the config file.\n- Remove dependency `egui`\n- Set the content type when uploading files to Google Cloud Storage and XBackbone.\n- ***Breaking Change***\n  * Change Type of `default_screenshot_type` in `UserConfig` to `LScreenshotType`\n\n#### [0.7.7] - 2024-05-18\n- Update localization files\n- Fix \\\u003cbr\u003e being shown in message boxes\n- Fix error messages not being displayed properly in message boxes\n- Move logic for including localization files to it's own file.\n\n#### [0.7.6] - 2024-05-17\n- Update README\n- Show message boxes as Alerts instead of Yes/No.\n- Display Error Codes properly on app exit.\n- Google Cloud Storage\n    - Make `public_url_base` optional. Will default to `https://storage.googleapis.com/$bucket`.\n    - Show notification when uploading.\n- Fix clipboard not being set properly on Linux.\n\n#### [0.7.5] - 2024-05-15\n- Add support for Google Cloud Storage\n- Fix some bugs with copying to clipboard\n\n#### [0.7.4] - 2024-05-15\n- Remove support for Twitter and Mastodon.\n- Drop gtk/gdk/dio dependency.\n- Add support for post-upload actions.\n- **Note** manual file will be out-of-date until the codebase refactor is complete (est. v0.8 maybe)\n\n#### [0.7.3] - 2024-05-12\n- Update dependencies\n- Flatpak/Application ID renamed to pet.kate.rustgrab (from io.github.ShareXin)\n- Renamed ShareXin to rustgrab\n- **[Forked by ktwrd](https://github.com/ktwrd/rustgrab)**\n\n\n**Old changelog content can be found in [Changelog.md](Changelog)**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fktwrd%2Frustgrab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fktwrd%2Frustgrab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fktwrd%2Frustgrab/lists"}