-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Bring back attention flash on GNU/Linux #3582
Comments
Sadly, we received reports of pretty extreme window manager behaviors related to this simple call. We decided to turn it off because off the wide range of potential interpretations. |
Thanks for the response. Signal desktop is basically unusable, in i3, without these flashes. Can we please put this behind a flag or setting, compile-time or run-time, so that those of us who need it can have it? Or can we have a more generic approach and run a command on flash (which the user can specify)? I just need some way to know when a new message comes in. |
@jeaye You don't have anything registered to handle Signal Desktop notifications? |
@scottnonnenberg Apparently not, since I've never seen any. Seeing some desktop notifs would certainly help, since it's better than no visual indication at all. However, I don't think those notifs would flash the window the same way, to trigger my window manager to highlight that desktop as needing attention. So, if I miss the notif (AFK) and come back to work, I have no idea about the new message. |
Seconded, signal-desktop is unusable without the flash: I do use desktop notifications, but as @jeaye noted they only show up for a small amount of time and therefore do not solve the "received a message while AFK" situation. |
Saw this issue, kept an eye on it and seeing that it got closed I feel that I should say something. So: Seconded, I've got the same problem. More or less guessing if someone wrote, or relying on my phone when I'm using a desktop application sort of backwards. ( |
I believe what occurs is that the _NET_WM_STATE_DEMANDS_ATTENTION property is set, as described in the spec. |
I agree with a lot of these comments. Now when I come back to my computer, there is no indication if I've missed messages. FWIW the previous behaviour worked fine with KDE/Kwin. For anyone looking for a quick fix, you can just patch the file as follows:
|
Yep, this is a quick fix to re-enable. Clearly people are vocal about this being an issue. @scottnonnenberg-signal What do you say about opening this back up and coming to terms with how we can address it, either by re-enabling by default or behind a flag or config? |
i also just noticed this after a recent upgrade, and i agree that this makes signal-desktop pretty unusable for me (since i have no other way of seeing that i have new messages if the signal window is on a different desktop). |
Can we get this back through some configuration at least? When I started using signal, the first thing I did was opening the PR for urgency hints on linux (#1820). Without it, using signal on the desktop became a real hassle, I need to check the window frequently to see if there are new messages. I do not use any notification daemon, because I found them to be way too interruptive and so I solely rely on urgency hints.
@scottnonnenberg Do you know what exactly happened or which window managers are affected? I do not know what "extreme" means in this case, because urgency hints work quite well normally. I would be willing to help if I had more information. |
In one case 'extreme' meant pulling a user from one desktop to another, where Signal Desktop was. A disruption we weren't interested in causing for anyone. But we are considering a change given that so many of you have reached out. Maybe the right decision is to have it on by default for Linux then something like a command-line option to turn it off. |
Indeed, that is an extreme situation which warrants attention. It's also, I'd bet, quite the edge case and doesn't render Signal neigh unusable on Linux for everyone like the current solution does (I've found this issue also applies to GNOME, which rules in many more affected users). I would agree that it seems we should still enable this flash by default and allow those users with extreme situations to disable it. Thanks, @scottnonnenberg-signal! |
Thanks @scottnonnenberg-signal! I appreciate how receptive you are to your users!
That's obviously a bad situation for that user. However I seems like that's probably more an issue with their window manager. For example with KDE/kwin, there's an option to change "focus stealing prevention" along a range from None, Low, Medium, High, Extreme. My understanding is that you can intentionally set the WM to pull you to the desktop requiring attention, but you can tweak it yourself. Presumably the affected user's WM should have a similar setting too. |
Thank you for your response, that sounds awesome! Indeed, the focus-stealing sounds like an extreme measure from the window manager. Looking at the standard protocol (https://tronche.com/gui/x/icccm/sec-4.html), it seems to be quite vague what the window manager should do, but I think raising the window is a very intrusive way of interpreting this flag:
|
Is this the correct Issue to follow for updates even though it's closed? Would like to know when it's related to a commit or even a release. |
If you're running the beta, please update and let us know what you think! f790694 |
It's working great for me on Arch Linux and i3wm. However, it always worked fine for me. Someone with one of the "problematic" window managers should chime in maybe. |
In many GNU/Linux setups, drawing attention when a notification arrives causes the Signal window to steal focus immediately and interrupt the user from what they were doing before the notification arrived. GNOME Shell is the most prominent example of this behavior, but there are likely other cases as well. Suddenly stealing focus on external events like this can even pose a security problem in some cases, e.g. if the user is in the middle of a typing a sudo password on one monitor while a notification arrives and focuses Signal on another monitor. See #4452 for more information. Disabling attention drawing entirely for Linux is also problematic because some users rely on it as the sole indication of a new message, as seen in #3582 and #3611. Commit f790694 improved the situation by adding a hidden "--disable-flash-frame" command-line argument, but this argument is undocumented and manually adding command-line arguments to the application's .desktop file is not user-friendly. This commit adds a settings option for whether to draw attention when a new notification arrives to make it easy for all Linux users to obtain the appropriate behavior without relying on an undocumented command-line argument. Fixes #4452.
In many GNU/Linux setups, drawing attention when a notification arrives causes the Signal window to steal focus immediately and interrupt the user from what they were doing before the notification arrived. GNOME Shell is the most prominent example of this behavior, but there are likely other cases as well. Suddenly stealing focus on external events like this can even pose a security problem in some cases, e.g. if the user is in the middle of a typing a sudo password on one monitor while a notification arrives and focuses Signal on another monitor. See #4452 for more information. Disabling attention drawing entirely for Linux is also problematic because some users rely on it as the sole indication of a new message, as seen in #3582 and #3611. Commit f790694 improved the situation by adding a hidden "--disable-flash-frame" command-line argument, but this argument is undocumented and manually adding command-line arguments to the application's .desktop file is not user-friendly. This commit adds a settings option for whether to draw attention when a new notification arrives to make it easy for all Linux users to obtain the appropriate behavior without relying on an undocumented command-line argument. Fixes #4452.
@ForeverNooob Can you talk about what change you'd like to see? To set expectations, given that the option is now off by default, it's unlikely that we'll make any further changes here. |
Well, this issue describes precisely what is broken now (again).
It would be helpful to understand which train of thought led to the functionality being changed (again). |
Our desire was to notify users of new messages via notifications, not 'stealing focus,' something that often resulted in a 'Signal is Ready' notification before our real notification would show. It sounds like you really want that 'draw attention' behavior to work (in a way that it's not working today), because that's your intended method of being notified that there's a new message? |
I'm running i3wm so for me personally it was pretty annoying finding out that notifications weren't turning the workspace icon into a red color and being able to switch to it using a shortcut that I usually use for this purpose. I would have loved to see that option not being turned off by default, but as I've said it resulted in a minor annoyance and (perhaps an over-hastily made) comment from me on this issue :) |
Bug Description
Recently, Signal stopped flashing when I receive a message in i3wm. The change in the source is pretty clear here, showing what happened:
Signal-Desktop/main.js
Line 547 in f0896b5
Steps to Reproduce
Actual Result:
No visual indicator or flash is shown.
Expected Result:
The window flash will trigger i3 to highlight that window/desktop number.
Screenshots
Platform Info
Signal Version: 1.27.2-1 (from AUR)
Operating System: Arch Linux
Linked Device Version: 4.46.2 (Android)
Link to Debug Log
The text was updated successfully, but these errors were encountered: