element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.19k stars 2k forks source link

Allow to show rooms in spaces tree and allow to hide room list panel #19140

Open rda0 opened 3 years ago

rda0 commented 3 years ago

Your use case

What would you like to do?

  1. I would like an option to show rooms in the spaces tree view.
  2. Probably in an additional option I would like to hide the room list panel to gain screen space (merging the spaces and room list panel).

Why would you like to do it?

In the past I got used to the custom tags labs feature to organize my rooms. Maybe I just don't use spaces in the right way, but I am struggling to be absolutely happy with the new spaces UI, introducing a 4 column layout (reducing actual screen space for messages).

I tried to replace the custom tags by a tree of private spaces, which is awesome. But I find myself having to constantly switch between different spaces in order to know whats going on in which rooms. If a room needs my attention I have to click twice, first on the space to reveal the room list, then on the room to show the messages.

The custom tags feature allowed to have some "group of rooms" collapsed and other more important ones expanded and immediately see if some important room needs my attention. This feature is missing now.

How would you like to achieve it?

Option 1 would just show rooms in the spaces tree view as it is done for sub-spaces. The avatar shape should allow to differentiate between the two types. If spaces are leaf-spaces the would also allow to be expanded and collapsed to show and hide rooms on demand.

Option 2 would completely merge the missing rest of the UI elements into the spaces panel and hide the room list. Home could be made expandable and contain expandable People and Rooms section that would show what normally would be shown in the room list for Home.

The only downside I see with option 2, is that People are not grouped in the spaces. They could still be shown under Home > People (for notifications) and in the right side panel to see who is a member of a space. I think the grouping of people is less important for me than grouping rooms, so I could live with this.

This is how I imagine it could look like: element_show_rooms_in_spaces_tree

This is how it looks now for reference: 2021-09-22 16_27_00-D-PHYS Element Staging _ test workers — Mozilla Firefox

Have you considered any alternatives?

Additional context

I was really hoping that spaces will replace the custom tags labs feature. Somehow I think the 3 predefined tags (Favorites, Rooms and Low priority) will not be enough for me.

CyberShadow commented 1 year ago

I filed a proposal in #24802 to provide an alternative design to the double-sidebar room navigation in Element (Web/Desktop). Since it's requesting the same thing as this issue, I'm copying the text here with the hope that it will add to future conversations.

Most IRC clients, as well as many desktop IM applications, provide navigation (for their equivalent of rooms) using a tree or tree-like control:


Convos

HexChat

IceChat

KVIrc

Miranda IM

mIRC

Pidgin

Relay

Smuxi

I think it would be great to have an option in Element to replace the double sidebars with such a navigation control. Perhaps (optimistically), it may even prove to be more popular and accessible than the current approach to navigation; especially for users of nested spaces, or users of bridges which create nested spaces, such as mautrix-discord.

Some goals for a tree-based navigation in Element could be:

Some advantages of tree-based navigation:

Some disadvantages of the double-sidebar navigation (compared to tree-based navigation):