Skip to content

make paused chat indicator more apparent - #6123

Merged
pajlada merged 10 commits into
Chatterino:masterfrom
jacob-thompson:pause
Apr 5, 2025
Merged

pajlada merged 10 commits into
Chatterino:masterfrom
jacob-thompson:pause

Conversation

@jacob-thompson

Copy link
Copy Markdown
Contributor

fixes #2688

the paused chat indicator in its current form is a little bit difficult to see. I am suggesting:

  • adding an outline so that the indicator stands out from other widget elements such as chat timestamps
  • moving the indicator to the bottom of the widget since users' eyes are more likely to be focused on the bottom half of the widget than the top half of the widget
  • adding "Chat Paused" text next to the symbol to make the indicator bigger and easier to notice

screenshots

before
after (dark theme)
after (black theme)
after (light theme)
after (white theme)

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

Comment thread src/widgets/helper/ChannelView.cpp Outdated
auto brush = QBrush(color);

const auto widgetHeight = this->height();
const auto pausedY = widgetHeight - a - 5;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: narrowing conversion from 'int' to 'float' [bugprone-narrowing-conversions]

        const auto pausedY = widgetHeight - a - 5;
                             ^

Comment thread src/widgets/helper/ChannelView.cpp Outdated
painter.drawRect(QRectF(pausedX, pausedY, a / 4, a));

QFont font = painter.font();
font.setPixelSize(a);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: narrowing conversion from 'float' to 'int' [bugprone-narrowing-conversions]

        font.setPixelSize(a);
                          ^

Comment thread src/widgets/helper/ChannelView.cpp Outdated
if (dx != 0 || dy != 0)
{
painter.drawText(
QRectF(textX + dx, pausedY + dy, textWidth, a),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: narrowing conversion from 'int' to 'float' [bugprone-narrowing-conversions]

                        QRectF(textX + dx, pausedY + dy, textWidth, a),
                                                     ^

@Nerixyz

Nerixyz commented Mar 31, 2025

Copy link
Copy Markdown
Contributor

I don't think the indicator should be at the bottom. Considering we have "Pause chat on hover", users likely want to read the last messages. Imo, an outline around the pause icon should be fine. Or maybe just the string "paused".

@iProdigy

Copy link
Copy Markdown
Contributor

Could you experiment with a red outline around the pause icon (and no text)?

@jacob-thompson

Copy link
Copy Markdown
Contributor Author

Imo, an outline around the pause icon should be fine. Or maybe just the string "paused".

I think if anything the icon should stay:

screenshot

I do feel, though, that the outlined icon alone still may be difficult to notice for those with poor vision. how would you feel about also making it a touch bigger, @Nerixyz ?:

screenshot

@jacob-thompson

jacob-thompson commented Apr 1, 2025 •

Copy link
Copy Markdown
Contributor Author

Could you experiment with a red outline around the pause icon (and no text)?

certainly pops out more since red is a hot color, but I just think it looks ugly:

red outline, no text

I feel it'd look especially ugly if the outline blended with chat elements such as red chatters' names

@pajlada

pajlada commented Apr 1, 2025

Copy link
Copy Markdown
Member

To confirm previous feedback, position shouldn't change with this PR but feel free to experiment more what makes it pop out and isn't ugly

@Nerixyz

Nerixyz commented Apr 1, 2025

Copy link
Copy Markdown
Contributor

I think if anything the icon should stay:

Oh, sorry for the confusion. I meant that the icon should stay, but the text should only say paused.

I do feel, though, that the outlined icon alone still may be difficult to notice for those with poor vision.

What about adding a background similar to the tooltip, and possibly making the pause icon lighter? If we do that, we can ensure sufficient contrast on both light and dark themes:

(should probably be smaller and the lighter color shouldn't be #ffffff)

@jacob-thompson

Copy link
Copy Markdown
Contributor Author

What about adding a background similar to the tooltip, and possibly making the pause icon lighter? If we do that, we can ensure sufficient contrast on both light and dark themes

I feel this looks nice:

dark theme screenshot
light theme screenshot

in this case the icon & text are #B4B4B4

@pajlada pajlada left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not part of your changes, but the Pause icon does not handle different zoom levels well.
Would you like to fix that in this PR?

pause-0 5x-zoom
pause-2x-zoom
pause-1x-zoom

Comment thread CHANGELOG.md Outdated
@jacob-thompson
jacob-thompson requested a review from pajlada April 5, 2025 17:57
@jacob-thompson

Copy link
Copy Markdown
Contributor Author

Not part of your changes, but the Pause icon does not handle different zoom levels well. Would you like to fix that in this PR?

fixed

@pajlada pajlada left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you!

@pajlada
pajlada merged commit 3481c93 into Chatterino:master Apr 5, 2025
@jacob-thompson
jacob-thompson deleted the pause branch December 28, 2025 22:50
babicekmarek pushed a commit to babicekmarek/streamally-chatterino that referenced this pull request Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Paused chat indicator should be less discrete

4 participants