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" },
{ on = "D", action = "DeleteWithFiles" },
with:
{ on = "d", action = "Delete"},
This is due to that Rustmission now asks specifically whether to delete a torrent with files or not.
MULTIPLE SELECTIONS!
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!
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 use of this feature like so:
{ on = "H", action = "MoveToColumnLeft" },
{ on = "L", action = "MoveToColumnRight" },
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:
[[categories]]
icon = "[M]"
default_dir = "/mnt/Music/Classical"
color = "Green"
Whenever you'll be adding a new torrent, Rustmission will ask you for a category and its directory will be set to the category's default:
If you want to, you can set a category for an already existing torrent using c
:
Autocompletion works so you can press TAB/CTRL-F/right and it will auto-complete!
After that, you'll be asked to if you want to move the torrent too:
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!
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.
If you want to be able to access providers popup, you have to bind ShowProvidersInfo
action under the search_tab
section like so:
[search_tab]
keybindings = [
{ on = "p", action = "ShowProvidersInfo" }
]
YOU CAN NOW OPEN TORRENTS DIRECTLY WITH XDG-OPEN
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.
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
You can now replace these pesky nerd fonts icons if you don't have nerd fonts installed.
You can configure them at .config/rustmission/config.toml
under [icons]
section.
Use rustmission print-default-config
to see the defaults.
New details popup!
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!
That was actually very easy to do thanks to Ratatui (the TUI library that Rustmission uses).
Graphs in statistics!
Statistics popup isn't now as empty as before.
Help popup is now much prettier!
And also its text shouldn't take so much vertical space as it did before
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
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.
Install rustmission 0.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/intuis/rustmission/releases/download/v0.5.0/rustmission-installer.sh | sh
Install prebuilt binaries via Homebrew
brew install intuis/tap/rustmission
Download rustmission 0.5.0
File | Platform | Checksum |
---|---|---|
rustmission-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
rustmission-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
rustmission-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
What's Changed
- feat: add progress status for moving torrents by @aidanaden in #66
- refactor: action handling by @micielski in #58
- feat: visually handle torrents with errors by @micielski in #71
- fix: update rows number after torrents update by @micielski in #72
- feat: make help scrollable by @micielski in #73
- feat: (xdg-)open torrents, files by @micielski in #75
- perf: make filtering go faster by @micielski in #77
- feat: support for multiple search providers (nyaa.si!) by @micielski in #81
- refactor: make config static by @micielski in #86
- refactor: structure the project better by @micielski in #87
- fix: various config issues by @micielski in #88
- feat: print config by @CouldBeFree in #90
- feat: configurable icons by @micielski in #89
- feat: impl scrolling events by @micielski in #91
- feat: display torrent errors by @micielski in #94
- chore: update deps by @micielski in #95
- ui: improve popups buttons by @micielski in #96
- ui: make switching tabs more intuitive by @micielski in #97
- feat: categories/labels by @micielski in #98
- feat: torrent details popup by @micielski in #99
- feat: sorting by @micielski in #100
- chore: update deps by @micielski in #104
- ui: improve help popup by @micielski in #105
- refactor: move help popup logic into config by @micielski in #107
- feat: barcharts in statistics by @micielski in #108
- fix: make size human readable in details by @micielski in #110
- feat!: use only one key for deletion by @micielski in #111
- feat: multiple selections by @micielski in #112
- fix: being stuck in filtering bar by @micielski in #113
- ui: improve how default task looks by @micielski in #114
- ux: better config message when initializing by @micielski in #116
- feat: move dir when changing category by @micielski in #117
- release: 0.5.0 by @micielski in #118
New Contributors
- @CouldBeFree made their first contribution in #90
Full Changelog: v0.4.3...v0.5.0