telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
25.94k stars 5.14k forks source link

lost chat focus after closing window #2541

Closed Geobert closed 7 years ago

Geobert commented 7 years ago

Steps to reproduce

  1. have a chat displayed
  2. close window
  3. reopen

    Expected behaviour

before, the chat was still focused

Actual behaviour

no chat is focused anymore

Configuration

Operating system: Win 10

Version of Telegram Desktop: 0.10.15 alpha

john-preston commented 7 years ago

Yes, I've changed that. Closing the window or locking it with a passcode closes the current chat. It is more consistent -- you really close the window, so it is closed. When you open the app from tray it should be more like creating a new chat window, like Google Chrome handles the window close even when the app is still launched. If you need the chat (or any of the window content) you don't close the window, you minimize it instead.

stek29 commented 7 years ago

@john-preston #2477 ?

stemar94 commented 7 years ago

@john-preston Isn't that the feature of close to tray? If you want to have it "clean" you just had to hit ESC, and that's really all one had to do. Now you are forced to waste a tab in your task bar for the messaging client you know is open all the time anyway. And for example when using multiple working spaces in Linux Mint Cinnamon I really enjoyed closing Telegram and being able to click the notification of the new incoming message without being dragged to the working space, where Telegram is open. Also if you close to tray you are forced to always select the chat again you were using.

I really don't get the benefit of this change, and at least for me it only makes things worse.

verokarhu commented 7 years ago

Could this be a configurable setting? Personally I only have a single channel I use and thus this feature just adds a tedious extra click when I have to select the channel. Keeping the window minimized pollutes the alt+tab list.

kipusoep commented 7 years ago

Wow this is annoying, please revert it or make is configurable.

stemar94 commented 7 years ago

@john-preston any reaction?

xpg934 commented 7 years ago

@john-preston please make this configurable. very annoying, really.

kathampy commented 7 years ago

Close to Tray should be able to restore the state perfectly. It should not even unload resources. The restore should be instant and exactly like how it was. Look at a complex app like Outlook.

axpro commented 7 years ago

Please make it configurable, many people have one primary chat they use extensively. If you check any mail app (outlook, mac mail) you'll see that the selected mail stays selected when closing the window because they are not really windows or tabs, they are a list of messages in the primary window.

Thanks

syabro commented 7 years ago

@john-preston A bunch of users telling that it's not convenient and it's being ignored :/

matiaskorhonen commented 7 years ago

@john-preston Please revisit this. This is really super inconvenient.

nighthawk469 commented 7 years ago

@john-preston @auchri

Months later this is still a major issue

Reasons to revert this change.

1. Wastes Time

First and foremost, this change adds a major delay in communication for users if they frequently close the Telegram window.

2. MacOS Conventions

This change is particularly annoying for MacOS users like myself. You recommend minimizing the Telegram window if you want to keep the conversation active, but minimizing windows is a much less common convention on MacOS than on Windows. The reason being is that a) minimizing windows on MacOS clutters the Dock, b) it has a time consuming animation and c) closing windows on MacOS doesn't quit an application like on Windows, which makes it a better way of quickly keeping your environment uncluttered instead of minimizing. It is not common to browse through minimized windows on MacOS.

3. State Of the Art

Out of the following chat applications:

ALL OF THEM display the most recent chat after closing and then reopening the application. This is what people are use to and this is what people want. By telling us to minimize the telegram window, it is making us adopt an unfamiliar convention, when this restriction really doesn't need to be here in the first place.

4. Focus On the Users

I don't understand the desire to keep the application "consistent" when it hinders the user experience. Please consider what the people using this app want, and not worry so much about keeping it "consistent".

I beg that you reimplement this, as a configurable feature at least.

nighthawk469 commented 7 years ago

@john-preston I just feel that an application for the people, should be designed for the people, not the developer.

stek29 commented 7 years ago

@nighthawk469 Well, I'm one of "people" and I like new behavior.

nighthawk469 commented 7 years ago

@stek29 @john-preston Ok that is fine, can I ask, are you a Windows user or do you leave Telegram open on a dedicated monitor? In that case it probably works fine.

But I wonder if all operating systems and users are being considered. For MacOS users where minimizing windows is not efficient, or for people who close windows frequently, it's a major inconvenience. It adds a significant delay for the added benefit of "being consistent".

And for what? What benefit does this change really provide you and the users? How does quote, "Being consistent" benefit users. For windows users who are used to minimizing windows, this change doesn't really make a difference, but for MacOS it is a regression not a progression.

I just ask, is this feature overall helping users or hindering them.

john-preston commented 7 years ago

@nighthawk469 You can use Cmd+H instead of Cmd+W on macOS.

My idea was that some shiny day in the future there could be tabs in the window, like in Google Chrome, and Cmd+W will then of course close the current tab until there will be left one — then the window will be like it is now and the next Cmd+W will close this last tab and you'll be left with just running program, that will show you a new blank window once you click on the dock or tray icon. That way it will be the expansion of current user experience where Cmd+W just closes this only tab.

nighthawk469 commented 7 years ago

@john-preston Yes I know about Cmd+H to hide, and I tried to get used to it but I didn't like how far H was compared to W and I didn't like having to handle the telegram window in one way, and then treat every other window a different way.

Ok I understand the tabs idea and that makes sense! To me it feels like there already is tabs as in the contacts nav on the left are basically vertical tabs.

Your window closing idea is basically how Skype is implemented right now. You can right click to close current conversations and once all chats are closed it will bring you to a home screen. The only difference though is if you close a window on Skype and you still have an active conversation, the next time you reopen the Skype window it will bring you back to your active conversation (or in your case active tab) in order to save you time. I think this way is really great because those savings in time make a big difference for people who close windows often!!!

If you want to really understand a MacOS user's workflow I can explain. The Apple recommended way of window management is not minimizing windows like Windows, but using Mission Control whereby you keep all windows open and activate a command to show all currently opened windows in a sort of grid to choose from. I use this extensively but sometimes there can be too many windows, so in order to save space on my small Macbook screen I close windows (for example Telegram Desktop, which I close after I send every message). But if every time I reopen it I need to select a conversation again, it just takes way too long.

I understand that making the application consistent like Google Chrome is kind of a nice system, but when it comes to a chat application, users just want to send a message QUICKLY. And thats why I think you should bring back the old functionality, because it is really more efficient and smoother.

I really do love this application, I think it is very beautifully designed, but this one thing makes it really hard for me to use.

stek29 commented 7 years ago

@nighthawk469 I'm macOS user with just built-in monitor. I use workspaces (or what's their marketing name) a lot, so Telegram window usually stays open somewhere on the leftmost desktop, with other messaging apps.

matiaskorhonen commented 7 years ago

The “old” behaviour (and the behaviour exhibited by WhatsApp, Messages, Skype, etc) is also what the macOS Human Interface Guidelines explicitly state as a user expectation on macOS:

Make sure windows display changeable panes as users expect. For the most part, users expect windows to reopen the pane that was open previously. Specifically, windows with changeable panes should reopen in their previous state as long as the app is open; if the user quits the app, these windows should return to their default state.

Emphasis mine.

kipusoep commented 7 years ago

Discussion aside; how hard can it be to introduce a setting for this behavior?

teilijlex commented 7 years ago

@john-preston MSN does it, a bit old school? Chrome is not chatting software though. windowslivemessenger2010_2

stek29 commented 7 years ago

iirc one of the reasons to introduce this behaviour was #622

nighthawk469 commented 7 years ago

@john-preston Any status updates on this? Are there any next steps we can take to realizing this ?

kathampy commented 7 years ago

A reason to keep this behaviour is so that it doesn't automatically mark a message as read when you open the app but don't actually read the message. Previously, I may have not actually read a message for days though the app automatically marked the last open conversation as read when it auto launched in startup.

axpro commented 7 years ago

That's the same functionality as the native mail app. You can deselect the conversation before minimizing.

kathampy commented 7 years ago

The ESC key works to deselect, but it's non-obvious. And we must be sure it actually stays deselected.

Trost123 commented 7 years ago

This thread makes me furious. Multiple people asked to make this change optional, @john-preston got 11 downvotes on his post, but the developer is ignoring the request. 😠

There is such thing as consistency. All messaging apps that I used before didn't reset selected chat on minimize to tray, we got used to this, why does this one defy it? Having telegram minimized 24\7 means you'll have it taking up space in taskbar. And this frustrates me and my self-diagnosed OCD. 💢 How hard can it be to add a checkbox in settings for this?

P.S: This is not the first time I notice such stubbornness to user feature requests.

stek29 commented 7 years ago

Feel free to make a pr adding this option if you manage to debug and fix #2358 too. Also, this behavior was requested by user in #2477.

stemar94 commented 7 years ago

Also, this behavior was requested by user in #2477.

And was then heavily requested to get reverted...

Trost123 commented 7 years ago

@stek29 Can you share a link to the commit where this behavior was first introduced? That would make developing a PR a lot easier for me. Thanks.

nighthawk469 commented 7 years ago

@Trost123 I would be willing to try and help you with this

teilijlex commented 7 years ago

I guess they can have an option in setting so people can choose to see recent chat or not when opening the app?

Trost123 commented 7 years ago

Yes, but it seems like it's too hard to implement because of bug #2358 I'm not even using unlock codes though, so that would not be a problem for me though.

amosbird commented 6 years ago

Here is a workaround for i3wm.

#!/bin/bash

if pgrep -f telegram > /dev/null
then
    if i3-msg -t get_tree | jq  '.nodes[].nodes[].nodes[] | .type == "workspace" and .name =="__i3_scratch" and .floating_nodes[].nodes[].window_properties.class == "TelegramDesktop"' | grep -q true
    then
        i3-msg '[class = TelegramDesktop] scratchpad show'
    else
        i3-msg '[class = TelegramDesktop] move scratchpad'
    fi
else
    telegram-desktop
fi
teilijlex commented 6 years ago

@amosbird

I don't get it. What is i3wm?

stemar94 commented 6 years ago

What is i3wm?

http://lmgtfy.com/?q=i3wm

teilijlex commented 6 years ago

@stemar94 also I am using mac because I am a designer. And I googled said I have to use VM because wm is not compatible with os. Have you tried that?

amosbird commented 6 years ago

@teilijlex I don't think i3wm would work in macOS.

here is an improved version:

#!/usr/bin/env bash

workspace=$(i3-msg -t get_workspaces | jq -r 'map(select(.focused))[0].name')
if pgrep -f telegram > /dev/null
then
    if i3-msg -t get_tree | jq  '.nodes[].nodes[].nodes[] | .type == "workspace" and .name =="__i3_scratch" and .floating_nodes[].nodes[].window_properties.class == "TelegramDesktop"' | grep -q true
    then
        i3-msg '[class = TelegramDesktop] scratchpad show'
    elif i3-msg -t get_tree | jq -r --arg v "$workspace" '.nodes[].nodes[].nodes[] | .type == "workspace" and .name == $v and .nodes[].nodes[].window_properties.class == "TelegramDesktop"' | grep -q true
    then
        i3-msg '[class = TelegramDesktop] move scratchpad'
    else
        i3-msg '[class = TelegramDesktop] scratchpad show'
    fi
else
    telegram-desktop
fi
Trost123 commented 6 years ago

Guys this is Github, not 4chan, this thread is meant for discussing bugs. 🤦‍ Also just noticed "wontfix" label on this bug. So basically the developers confirmed that they'll ignore all the people requesting this change, because it conflicts with their vision. Also there are tons of messengers that don't have this bug: Discord, Viber, Franz, Skype, FB Messenger. So accept it and move on.

teilijlex commented 6 years ago

@Trost123 Thanks, noted, already start using other things just curious if can use some code to fix it and customize it.

Trost123 commented 6 years ago

@teilijlex You should consider looking at Franz. You can use Telegram in it (alongside with 32 other supported chat services, such as Skype, Facebook, Slack, WhatsApp). Basically it wraps a web version of Telegram (or whatever you need) into a separate window. Web version doesn't forget who you chat with. Note that I found out about this app today, didn't have time to try it out myself yet!

UPD: A quick look at Franz repo shows that it must be buggy and abandoned by developers. Also found a better replacement for it: http://rambox.pro/

teilijlex commented 6 years ago

@Trost123 Thank you I just put a star on it on rambox GitHub, this is really cool. I did some research and like you said that rambox is much better than franz. I am using it now, I will see if I like it or not in few days. I already added LinkedIn, allo, telegram, slack, etc and so far really clean and fast, can also customize and mute things easily and have organic notification alert. And my dock gets cleaner.

github-actions[bot] commented 3 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.