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
Use custom frame for main window only #4914
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to make the frames of secondary windows look inconsistent with the main window. What's the reasoning behind this change? |
windows on master already using native frame: settings, search, filters select
not changed:
Motivation:
unless user specifically setup their system to use accent colors for title bars, then it's best to respect the color settings specified by the user.
tl;dr why sacrifice superior native feel, if window doesn't draw custom buttons. Future OS updates will introduce more maintenance on custom frame, so i wanted to minimize its use to just bare minimum we need. |
I wonder if we could fix this by returning |
yeah obviously its fixable and we gonna have it working on main window either by your or mine effort. |
We use custom frame to draw extra controls in title bar on Windows. Currently few windows beside main window also use
BaseWindow::EnableCustomFrame
flag. This PR removes use of custom frame outside ofWindow.cpp
, so only main chatterino window and popup chats are left.Since Qt6.4 system theme and user preferred colors are used for title bars by default.
other changes:
BasePopup
is always enabling Qt::Dialog flag, which removes minimize/maximize buttons. This is undesired forEmotePopup
, so i added bool to disable that behavior for that single window. This is possibly breaking change for Linux WMs, so needs test, didn't want to ifdef right away.