Nheko-Reborn / nheko

Desktop client for Matrix using Qt and C++20.
https://nheko-reborn.github.io/
GNU General Public License v3.0
1.92k stars 201 forks source link

Support hot-switching profiles #396

Open LorenDB opened 3 years ago

LorenDB commented 3 years ago

Is your feature request related to a problem? Please describe. Currently, the only way to switch profiles is by restarting through the command line. It would be nice to have a GUI method of switching between profiles, as well as creating new profiles.

Describe the solution you'd like Clicking on your avatar in the top left corner of nheko should provide access to a profile-switching menu. Also, a /profile command should be implemented for the message input.

Additional context This could introduce some interesting problems. The original purpose of profiles was to allow developers to keep a stable window open while running a development window simultaneously. Introducing hot-switchable profiles may break that.

Currently, there are some strange things that happen when the profile is changed in the UserSettings. One that I can think of off the top of my head: the room list, instead of switching to the appropriate list of rooms, adds a duplicate of each room to the list. This is by no means the only bug related to hot-switching profiles.

Note: I am opening this issue with the intent of working on it sooner or later (unless somebody else fixes it first).

Suggestions on how this should be implemented are welcome.

Seirdy commented 2 years ago

Fluffychat and Mirage have implemented a very usable mutli-account setup. I've used Fluffychat's version quite a bit, and I especially like getting push notifications on both accounts together.

I think that an account switcher resembling the space switcher that lets us see avatars and unread-badges for all accounts at once would be good to have on desktop, where more screen space is available. Hiding multi-accounts behind a menu makes more sense on mobile.

JackJeisly commented 1 year ago

I like the way Fluffychat implements this. Or in the XMPP messengers Pidgin, Psi, Gajim. I think any of these options would be good. Matrix provides pretty decent privacy, so the multi-account feature is just must have.