Nheko-Reborn / nheko

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

Smooth scrolling and animations makes me dizzy #1421

Closed fuck-shithub closed 1 year ago

fuck-shithub commented 1 year ago

Describe the bug

Hello, I notice there are a bunch of unnecessary animations and smooth scrolling in this program that really drive me crazy. So I open Settings and I scroll down- AAAAHH WHAT THE FUCK WHYYYY! The smooth scrolling as I scroll literally makes me dizzy, this is insane! This is literally the worst scrolling I've seen in my life. I can't read anything while it scrolls for an eternity. So when it finally finishes scrolling after several light years, I find this option called Reduce or disable animations. I tick it hoping it fixes all issues, but what? The scrolling is still awful in settings. Absolutely unbearable! And then I click the back button in the top left corner. What the...? It fades out... I thought I ordered the program to disable animations, but instead it fucking fades on me. What is this? Please fix this, and provide us with a real option that actually disables ALL animations. No fades, nothing. Thank you for making the only C++ client with E2EE support, but it would be even better without animations.

To Reproduce

  1. Go to 'Settings'
  2. Scroll & Suffer
  3. Tick 'Reduce or disable animations'
  4. Scroll & Suffer
  5. Click back button
  6. Die

What happened?

I became dizzy and cannot read text because of the stupid smooth scrolling and stupid fades and slides. :(

Expected behavior

No animation. When I click a button, BAM! instantly snappy switch. Blazing fast switch in a single frame like a fox!

Screenshots

No response

Version

0.11.3

Operating system

Linux

Installation method

Some repository (AUR, homebrew, distribution repository, PPA, etc)

Qt version

5.15.8

C++ compiler

gcc version 12.2.1 20230121 (Gentoo 12.2.1_p20230121-r1 p10)

Desktop Environment

i3

Did you use profiles?

Relevant log output

No response

Backtrace

No response

deepbluev7 commented 1 year ago

See #1350 for why we use fade in animations. The smooth scrolling in the settings is nothing we can easily fix, but Qt6 should behave properly there.

deepbluev7 commented 1 year ago

The scrolling is a duplicate of #1364

fuck-shithub commented 1 year ago

The scrolling is a duplicate of #1364

Well I don't think it's a duplicate, because I did build against Qt 5.15.8, and the scrolling is still unbearable, literally what the bug descrtibes, but also applying for regular mouse scrolling.

See #1350 for why we use fade in animations. The smooth scrolling in the settings is nothing we can easily fix, but Qt6 should behave properly there.

The issue doesn't explain why you are using fade animations. In fact, in that issue, you say "fade in would be impossible", yet what do I see when I click the back button? A fade animation. I don't think anyone who is using a disable animations button wants to see fades. It's just like Discord if you do that. I'm generally not a fan of the style of this program as it tries to imitate modern Big Tech globohomo-style "web-apps", but at least it's still bearable using my monospace font. At least it still looks pretty minimal, which is certainly better than most Electron software out there, which have huge ass buttons nobody asked for. GTK3/4 does this as well, which is why I and many others prefer GTK2. Qt has never done any of that stupid stuff, except if you deliberately add it in yourself, like I suppose is being done here. By completely removing all animations, or making them completely disableable, you'll make this program a lot more pleasant for people like me who are not interested in deliberately slowing down our computers and input to show some stupid fancy effect. Also removing the slight round borders would be nice to have.

deepbluev7 commented 1 year ago

The issue says:

If you prefer to keep some animation in place rather than turning them off entirely, a standard replacement for slide-transitions is "fade-in" transitions where a new scene increases from 0% to 100% opacity over top the old. For example, this is what iOS does for system-level UI transitions when reduced motion is turned on.

So that's what we implemented. Nheko doesn't try to imitate anything, but it also doesn't try too hard to look like a traditional desktop app. See the README for example:

The motivation behind the project is to provide a native desktop app for Matrix that feels more like a mainstream chat app (Element, Telegram etc) and less like an IRC client.

Maybe you are looking for something like Quaternion instead?

fuck-shithub commented 1 year ago

Yeah but Quaternion doesn't support E2EE so I'm using this. But come on, it can't be that hard to provide an option to disable the fade-ins right? It would really make some people like me happy to see that.