Nheko-Reborn / nheko

Desktop client for Matrix using Qt and C++20.

Home Page:https://nheko-reborn.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Default download directory, setting or remember last location

jelazual opened this issue · comments

The Problem

Currently, the default download location is always "Downloads", requiring many extra clicks to organize matrix downloads and separate them from other software's downloads.

The Solution

There are multiple solutions, and the ideal solution is probably to implement multiple of them to maximize user satisfaction across multiple preferred solutions for different users.

The first two that come to mind, and likely the easiest to implement, are fairly industry-standard among web browsers; a setting to customize the default location to be something other than "~/Downloads", and/or remembering the last used download location. The later should be an optional toggle, however.
A more robust solution might be remembering the last download location, selectable via preferences/settings, on a per software, per server, and per instance basis, so that someone can choose to have a unique download location for every chatroom they have open, to their own organizational preferences.
Another consideration, though probably an unnecessary extra step, is adding room configuration options to preconfigure a default download directory for that room. This has the advantage that a room could have a fixed download location that resets for every download, rather than requiring the user to manually click back to the default location, if they want to save something elsewhere. Depending on downloading habits, this may be preferable, though it's not as large a time/click save as the other, larger recommendations.
Additionally, customizing for filetype would also be a nice addition that would likely see benefit for particular(like me) kinds of people, perhaps as a dropdown menu for the default file configuration options, listed under the global room default location for all other filetypes, with a customizable extension field for multiple file extensions corresponding to a single customizable location, ie:


downloaddir       "~/Downloads/Matrix"                     *
dl*roomname*   "/Downloads/Matrix/*roomname*"             *
dl*roomname*-1 "~/Downloads/Matrix/*roomname*/Videos/"    avi,mpg,mkv,mp4,flv,mov,m4v,webm
dl*roomname*-2 "~/Downloads/Matrix/*roomname*/Music/"     mp3,flac,m4a,opus,webm,wav,mid,ape,ogg

as an example of how it might look in a config file.
For UI menus, I think it would be best if the additional filetype specific locations were in an unfolding/dropdown menu, with two buttons horizontally adjacent for the folder(represented by folder icon) and filetype(represented by 3dot icon), just as a suggestion.

The full recommendation may be some work and time however, and it may be faster/easier to implement a remember last location or a single global default somewhere in the UI first, and then expand later, if interested.

Alternatives

Additionally, it may be nice to have the option to also copy all media of a certain filetype when viewed in a room, for datahoarders such as myself. Maybe even auto-pack(or unpack) for common archive/compressed file types
such as
dl*roomname*-2 "~/Downloads/Matrix/*roomname*/Music" type=mp3,flac,m4a,opus,webm,wav,mid,ape,ogg options=auto,compress

Additional context

It's just nice to be able to organize files automatically instead of having to click a lot. My fingers are arthritic and failing me now. It may not be important, but I would appreciate it. ʕ ಡ ﹏ ಡ ʔ

Happens in the latest version

  • Yes, this feature is still missing.