From 8cff913f43281bb09ffbea0ccd70935a52d4b21f Mon Sep 17 00:00:00 2001 From: micielski <73398428+micielski@users.noreply.github.com> Date: Fri, 5 Jul 2024 17:12:23 +0000 Subject: [PATCH 1/2] fix: resize not triggering render (#57) --- rm-shared/src/action.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/rm-shared/src/action.rs b/rm-shared/src/action.rs index 56cfa1a..af86c06 100644 --- a/rm-shared/src/action.rs +++ b/rm-shared/src/action.rs @@ -92,6 +92,7 @@ pub fn event_to_action( } keymap.get(&(key.code, key.modifiers)).cloned() } + Event::Resize(_, _) => Some(A::Render), _ => None, } } From f5c14ade8d09eed6295cd88e163b5360ce85c3a1 Mon Sep 17 00:00:00 2001 From: micielski <73398428+micielski@users.noreply.github.com> Date: Sat, 6 Jul 2024 11:55:24 +0000 Subject: [PATCH 2/2] docs: revamp README (#56) --- README.md | 63 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index ee920eb..1bff434 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,62 @@ + + +**Rustmission** + +Performant TUI client for Transmission daemon capable of managing hundreds of torrents. +It boasts a rich feature set that surpasses many other clients, offering a seamless torrenting experience :3 + + +#
-

Rustmission

+

- TUI for the Transmission daemon -

- -

- ⚠️ I DO NOT PIRATE MOVIES. THE TORRENTS YOU SEE IN THIS IMAGE ARE SAMPLE DATA FABRICATED BY ARTIFICIAL INTELLIGENCE. I DO NOT CONDONE PIRACY, AND I WOULD NEVER, EVER DO SUCH THING + ⚠️ Torrents you see are just samples fabricated by AI. Piracy is not something we tolerate here at Intuis.

## Features -- **Built-in Search**: Seamlessly search for magnets directly. This is a killer feature of Rustmission. -- **Async Rust**: Utilizes Rust's async/await syntax for efficient, non-blocking IO operations. -- **Basic Operations**: Allows to add, pause, remove, fuzzy filter your torrents. +- **Basic operations**: Allows to add, pause, remove, fuzzy filter your torrents. +- **Built-in magnet search**: Search for magnets without leaving your terminal. +- **Asynchronous**: UI is always responsive. +- **RSS**: Fetch torrents automatically with a cronjob using `--fetch-rss` + +## Requirements + +- Running [Transmission](https://github.com/transmission/transmission) daemon and its IP address +- [Nerd Fonts](https://www.nerdfonts.com/) ## Installation + + Packaging status + + To install Rustmission, ensure you have Rust and Cargo installed on your system, and then run: ```bash cargo install rustmission ``` -or with Nix: +or with Nix ( :heart: [@0x61nas](https://github.com/0x61nas) ): ```bash -nix run . +nix-shell -p rustmission ``` -or with Brew: +or with Brew ( :heart: [@aidanaden](https://github.com/aidanaden) ): ```bash brew install intuis/tap/rustmission ``` ## Usage -Launch Rustmission in your terminal to initialize the configuration and make adjustments as needed. Subsequently, run Rustmission again. For a list of keybindings, press '?'. +Run `rustmission` in your terminal to initialize the config and make adjustments as needed. Subsequently, run `rustmission` again. For a list of keybindings, press `?` or `F1`. ## Configuration -Rustmission stores its configuration in a TOML file located at ~/.config/rustmission/config.toml by default. You can modify this file to -set the daemon's IP address. +Rustmission stores its configuration in a TOML file located at `~/.config/rustmission/config.toml` by default. You can modify this file to +set the daemon's address. ```toml [general] @@ -53,18 +68,28 @@ auto_hide = false # It can also be a hex, e.g. "#3cb371" accent_color = "LightMagenta" -# If enabled, shows various keybindings throughout the program at the cost of a -# little bit cluttered interface. +# If enabled, shows various keybindings throughout the program at the cost of +# a little bit cluttered interface. beginner_mode = true +# If enabled, hides header row of torrents tab +headers_hide = false + [connection] url = "http://CHANGE_ME:9091/transmission/rpc" # REQUIRED! # If you need username and password to authenticate: # username = "CHANGE_ME" # password = "CHANGE_ME" + +# Refresh timings (in seconds) +torrents_refresh = 5 +stats_refresh = 10 +free_space_refresh = 10 ``` +There's also a self-documenting keymap config located at `~/.config/rustmission/keymap.toml` with sane defaults. + ## Alternatives - [Transgression](https://github.com/PanAeon/transg-tui) - [tremc](https://github.com/tremc/tremc) @@ -72,5 +97,5 @@ url = "http://CHANGE_ME:9091/transmission/rpc" # REQUIRED! - [stig](https://github.com/rndusr/stig) ## Contributing - -Contributions are welcome! If you'd like to contribute to Rustmission, please fork the repository, make your changes, and submit a pull request! +If you'd like to contribute make sure you fork [this repo](https://github.com/intuis/rustmission) and submit a PR! +If you want to implement something major, create an issue first so it can be discussed.