diff --git a/Cargo.lock b/Cargo.lock index 1b5b983..7fb1187 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1620,7 +1620,7 @@ dependencies = [ [[package]] name = "rm-config" -version = "0.4.3" +version = "0.5.0" dependencies = [ "anyhow", "crossterm", @@ -1637,7 +1637,7 @@ dependencies = [ [[package]] name = "rm-shared" -version = "0.4.3" +version = "0.5.0" dependencies = [ "chrono", "crossterm", @@ -1727,7 +1727,7 @@ dependencies = [ [[package]] name = "rustmission" -version = "0.4.3" +version = "0.5.0" dependencies = [ "anyhow", "base64", diff --git a/Cargo.toml b/Cargo.toml index 310fe9c..48c1038 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ members = [ ] [workspace.package] -version = "0.4.3" +version = "0.5.0" edition = "2021" authors = ["Remigiusz Micielski "] repository = "https://github.com/intuis/rustmission" @@ -14,8 +14,8 @@ homepage = "https://github.com/intuis/rustmission" license = "GPL-3.0-or-later" [workspace.dependencies] -rm-config = { version = "0.4", path = "rm-config" } -rm-shared = { version = "0.4", path = "rm-shared" } +rm-config = { version = "0.5", path = "rm-config" } +rm-shared = { version = "0.5", path = "rm-shared" } magnetease = "0.3" anyhow = "1" diff --git a/changelogs/0.5.0.md b/changelogs/0.5.0.md index 20a43c0..acac780 100644 --- a/changelogs/0.5.0.md +++ b/changelogs/0.5.0.md @@ -1,4 +1,9 @@ -# Breaking changes +# Rustmission 0.5.0 + +If you don't know what Rustmission is, it's a performant and a featureful TUI for Transmission written in Rust. +This release contains many new features, like sorting, multiple selections and more. + +## Breaking changes In `~/.config/rustmission/keymap.toml` under torrents_tab section replace: ``` { on = "d", action = "DeleteWithoutFiles" }, @@ -11,18 +16,24 @@ with: This is due to that Rustmission now asks specifically whether to delete a torrent with files or not. -# MULTIPLE SELECTIONS! +## MULTIPLE SELECTIONS! ![image](https://github.com/user-attachments/assets/c6571806-d912-4425-a2c9-56e0ff98ec32) You can now press `Space` in torrents tab list in order to select multiple torrents. This is useful when you have to delete or move multiple torrents all at once. -# SORTING! +## SORTING! ![image](https://github.com/user-attachments/assets/05f89c82-10a7-4588-b2b0-3440378a11d9) -Just press `H` or `L` (that's a big H and L respectively) and see the magic happen +Just press `H` or `L` (that's a big H and L respectively) and see the magic happen. +If you have a keymap already, you must update it and bind `MoveToColumnLeft` and `MoveToColumnRight` actions under the `[general]` section in order to make us of this feature like so: + +``` + { on = "H", action = "MoveToColumnLeft" }, + { on = "L", action = "MoveToColumnRight" }, +``` -# CATEGORIES WITH DEFAULT DIRECTORIES! +## CATEGORIES WITH DEFAULT DIRECTORIES! Just define one in your `~/.config/rustmission/categories.toml` (which will be automatically generated with some commented-out examples) like this: @@ -45,22 +56,46 @@ If you want to, you can set a category for an already existing torrent using `c` ![image](https://github.com/user-attachments/assets/f27fefeb-b242-43c6-890e-e1e2ec80d0f3) Autocompletion works so you can press TAB/CTRL-F/right and it will auto-complete! -`TOOD:` after pressing enter this damn program should ask me whether to move this torrent to the category's default dir or not, but it's not doing that -# YOU CAN NOW SEARCH NYAA.SI FOR MAGNETS! +After that, you'll be asked to if you want to move the torrent too: + +![image](https://github.com/user-attachments/assets/5748052d-f48d-476b-b05c-a6c559527647) + +If you want to make use of this feature and you have your own keymap already, you have to bind `ChangeCategory` action in `keymap.toml` under `[torrents_tab]` like so: + +``` + { on = "c", action = "ChangeCategory" }, +``` + +## YOU CAN NOW SEARCH NYAA.SI FOR MAGNETS! ![image](https://github.com/user-attachments/assets/91e9f14d-991f-4c61-a9c3-3ff5887bdac8) Also improvements to the code were made so that new search providers can be added more easily. Though the `magnetease` crate still needs some polish. -# YOU CAN NOW OPEN TORRENTS DIRECTLY WITH XDG-OPEN +If you want to be able to access providers popup, you have to bind `ShowProvidersInfo` action under the `search_tab` section like so: + +```toml +[search_tab] +keybindings = [ + { on = "p", action = "ShowProvidersInfo" } +] +``` + +## YOU CAN NOW OPEN TORRENTS DIRECTLY WITH XDG-OPEN ![image](https://github.com/user-attachments/assets/401b2337-d942-4ea0-9b2e-44e363597ce7) In the image shown, in files popup you can now press `o` in order to open selected file in your default application. You can press `o` within just the torrents tab and it will open currently highlighted torrent's directory. -# Icons are now configurable +If you want to use this feature and you have your own keymap already, you have to bind `XdgOpen` action under the `[general]` section in `keymap.toml` like so: + +``` + { on = "o", action = "XdgOpen" }, +``` + +## Icons are now configurable ![image](https://github.com/user-attachments/assets/1cac8aa1-403d-465e-938e-c9df04e81618) @@ -68,33 +103,33 @@ You can now replace these pesky nerd fonts icons if you don't have nerd fonts in You can configure them at `.config/rustmission/config.toml` under `[icons]` section. Use `rustmission print-default-config` to see the defaults. -# New details popup! +## New details popup! ![image](https://github.com/user-attachments/assets/5a9565dc-5c07-4fca-be72-1e6015d23a97) You can now press `Enter` while highlighting a torrent in torrents tab to view details about it (together with some useful hotkeys). -# Torrent errors are now being shown! +## Torrent errors are now being shown! ![image](https://github.com/user-attachments/assets/4ad34e07-1feb-4406-9890-0d38e377923c) That was actually very easy to do thanks to Ratatui (the TUI library that Rustmission uses). -# Graphs in statistics! +## Graphs in statistics! ![image](https://github.com/user-attachments/assets/c27fc0e6-b9e3-4a26-aa3f-a99cf2e42c54) Statistics popup isn't now as empty as before. -# Help popup is now much prettier! +## Help popup is now much prettier! ![image](https://github.com/user-attachments/assets/7d93bdf7-341f-4e86-9048-8023a05c083b) And also its text shouldn't take so much vertical space as it did before -# Default config printing +## Default config printing You can now type `rustmission print-default-config` or `rustmission print-default-keymap` in order to view the default config/keymap that is up to date. -# Other changes +## Other changes There have been also performance improvements related to torrents filtering and action handling so Rustmission takes less CPU cycles for itself than it did before. diff --git a/rm-main/Cargo.toml b/rm-main/Cargo.toml index 66d4fa7..7c387e6 100644 --- a/rm-main/Cargo.toml +++ b/rm-main/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "rustmission" -version = "0.4.3" -edition = "2021" description = "TUI for Transmission daemon" -repository = "https://github.com/intuis/rustmission" -homepage = "https://github.com/intuis/rustmission" -license = "GPL-3.0-or-later" +version.workspace = true +edition.workspace = true +repository.workspace = true +homepage.workspace = true +license.workspace = true [[bin]] name = "rustmission"