Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ctrl, Shift or Alt + Click on a channel #406

Closed
3 tasks done
cometkim opened this issue Dec 29, 2016 · 14 comments
Closed
3 tasks done

Ctrl, Shift or Alt + Click on a channel #406

cometkim opened this issue Dec 29, 2016 · 14 comments

Comments

@cometkim
Copy link
Collaborator

I confirm (by marking "x" in the [ ] below):


Summary
A child window is opened when I click on channel with holding on Crtl/Shift/Alt.
image

Steps to reproduce

  1. Just hold on pushing one key of Ctrl, Shift and Alt.
  2. Click on any channel

Expected behavior
I'm not sure what is the expected behavior... it seems not a designed.

In a case, my customer like this behavior to show many channels in a view.
And I like to use this when I open admin console

Observed behavior
Channel is opened as a new child window.

As a child of child is also possible.

Grandchild window is destroyed when its parent is destroyed.

@yuya-oc
Copy link
Contributor

yuya-oc commented Dec 31, 2016

The behavior is not by design, new windows should not appear. In this case, some functionality added by the desktop app would be lost (e.g. unread count, context menu, etc).

@jasonblais jasonblais added Hackfest null and removed Hackfest null labels Dec 31, 2016
@jasonblais
Copy link
Contributor

While I agree the current behaviour isn't correct, propose we take a moment to consider what would a webapp user expect to happen if they hold any of the three keys (CTRL, SHIFT or ALT) and click on a link (whether a URL in a message or a channel on left-hand sidebar).

Similarly, what would a desktop app user on Slack, Skype or HipChat expect?

@jasonblais
Copy link
Contributor

After looking at the webapp experience and the experience in other desktop apps, it would make sense not to open a new window, I agree. I would just expect it to open the channel on the window itself.

There were cases (e.g. Slack) where holding down the CTRL key and clicking on a channel name opened a new browser tab for it, but I didn't find that obvious as it brings the user away from the desktop app.

By the way, I just tried this on the test build in #415, and holding down CTRL, SHIFT or ALT and clicking on a channel name does nothing. So I'm not sure if the issue has been resolved.


In a case, my customer like this behavior to show many channels in a view. And I like to use this when I open admin console

That's something we can consider looking at in the future, which is multiple views of the desktop app. But as @yuya-oc mentions this loses some functionality like unread indicators, so it's better not to do so for now.

@jasonblais jasonblais added this to the v3.7.0 milestone Feb 21, 2017
@jasonblais jasonblais changed the title Ctrl, Shift or Alt + Click on a channel [Help Wanted] Ctrl, Shift or Alt + Click on a channel Feb 26, 2017
@jasonblais jasonblais changed the title [Help Wanted] Ctrl, Shift or Alt + Click on a channel Ctrl, Shift or Alt + Click on a channel Mar 22, 2017
@jasonblais
Copy link
Contributor

jasonblais commented Mar 22, 2017

Before we implement this --

I've heard many people would actually like to have multiple Mattermost windows open, so they can have several conversations simultaneously.

So I'm not sure if we should turn this into a "feature" where you can have multiple windows open. We'd of course need to design the user experience carefully so that it makes sense, and also fix issues where you lose functionality on the child pages (like the mention counts).

@jasonblais
Copy link
Contributor

@jasonblais jasonblais modified the milestones: Unscheduled, v3.7.0/3.8.0 Mar 29, 2017
@jasonblais
Copy link
Contributor

I've moved this to Unscheduled milestone for now --> we're getting lots of feedback where people would like to have multiple Mattermost windows open.

So we'll want to revisit the design here and carefully evaluate what we want to do here

@jasonblais
Copy link
Contributor

jasonblais commented Apr 30, 2017

We've been getting an increasing interest towards a Windows docking/tiling system, where you can have multiple chats open within the same app window.

The idea is similar to a tiling window manager

image


I've looked into it a little more and found that there used to be a dockable framework based on Electron, but it had to be closed sourced due to copyright and licensing issues: https://discuss.atom.io/t/my-dockable-framework-based-on-electron/16459

image

There is a second tiling system for Electron, but it's an unfinished project: https://github.com/rhysd/Tilectron

Would be curious if anyone knew of an existing framework for Electron that allowed a tiling window manager?

@yuya-oc
Copy link
Contributor

yuya-oc commented Apr 30, 2017

I wondered something like Chrome's tab system. I feel Docking panel is appropriate when there is many kind of panels. But we have only one kind.
Anyway we would need a little complex management in code. :)

@jasonblais jasonblais modified the milestones: v3.10.0, Unscheduled May 12, 2017
@jasonblais
Copy link
Contributor

@yuya-oc Would this be feasible with the current framework, and if so, how much work would you estimate it would be?

We would probably only need to support four tiles at first, equal sized. We can get more fancy later.

PS: Of course, design work will also be needed, e.g. how do you switch between channels (or teams) in the panel view.

@yuya-oc
Copy link
Contributor

yuya-oc commented May 30, 2017

@jasonblais Does "this" mean docking tiles? or tab system?

For docking tiles:
Especially we need to change the way to layout webview. (I will do that as a prior work for #457)
Currently it assumes only one panel and is not applicable for four tiles.

For tab system:
Currently no because almost of codes assumes only one main window. I feel we need following works:

  1. Expand the code base to consider multiple main windows.
  2. Add drag&drop events to control tabs between windows.

@jasonblais
Copy link
Contributor

Thanks @yuya-oc

I think a docking tile system would be a good start, similar to a windows tiling manager: https://en.wikipedia.org/wiki/Tiling_window_manager

It sounds like this could be feasible to look into after some of the prior work for #457

@arkayy
Copy link

arkayy commented Jul 6, 2017

You can add tabs with multiple servers or teams to a single window which makes managing them much easier. This can be achieved (at least in Windows and OSX) by going to File>Settings>Add new server. Copy the team url to the new server and give it a descriptive name. Tada!
mattermost tabs

@jasonblais
Copy link
Contributor

Thanks @arkayy for participating in the discussion! Much appreciated :)

@jasonblais
Copy link
Contributor

@yuya-oc Server changes have been made to hide the URL on internal links. In particular, channels on the left-hand sidebar are now considered as buttons on the desktop app (you can try it out on pre-release.mattermost.com).

As a result, clicking CTRL/ALT/SHIFT and a channel on the sidebar no longer opens a new app window. Hence, closing this issue as resolved.

We can later open a new ticket for a Windows docking/tiling system, but this is beyond the scope of the original ticket.

@yuya-oc yuya-oc removed this from the v4.2.0 milestone Apr 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants