-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
Titlebar shows buttons for unavailable actions #28647
Comments
In Settings > Advanced > Window Title Bar, there is a "Use Qt window frame" checkbox. This renders a different titlebar, but it also renders buttons for unavailable actions. |
Somewhat tangential: only the Qt titlebar implementation actually renders the title. |
It follows |
The log shows that the compositor is already informing telegram of its capabilities. Why query an external service for compositor capabilities?
One need to write a custom implementation to expose this GNOME-specific setting via the portal API.
|
|
Qt is informed of these capabilities and then doesn't let applications query them? I think this is worth reporting upstream, what do yo think? The XDG settings portal doesn't allow a user to configure settings. It merely relays configurations exposed by separate "portal implementation" daemons. If I wanted to expose a GNOME and KDE already include a daemon that exposes this and other custom settings, but I hope you'll understand that this is ridiculously over-engineered, considering the value is already being passed by the compositor to the client. |
As far as I'm aware, they don't have the goal of wrapping each and every native API... That's what they told when I was asking APIs for various Wayland things.
I reported it ~2 years ago: https://bugreports.qt.io/browse/QTBUG-104630
You can use xdg-desktop-portal-gtk and set the value via gsettings. That's what KDE does. |
Well, it's not the same as I explained. The compositor could support all those actions but the user may want to have only close button for example (the GNOME's default). It also provides the order and the side of the buttons. |
There's still no API even for xdg-positioner and the only way to position menus is via global positioning which is a way bigger & older thing and leads to various bugs with menus, what do you want about some capabiliities most people don't even know about... |
Qt's API is a lowest common denominator, mostly copying WinAPI. |
Thanks for the references.
I've noticed this pattern with dozens of bugs in applications that cannot be fixed due to limitations in Qt. Each of these bugs in not a big deal, but together, they result in an experience of hitting on bug after another, continuously. |
I'm doubt any other toolkit provides API for this particular issue, btw. |
Firefox doesn't render minimise or maximise buttons on the top right corner; it only renders the close button. I don't run any other application which renders its own titlebar. All other applications rely on compositor decorations, even Qt6 applications like audacious, or nheko. Only Telegram renders its own bar. BTW: the non-Qt window frame renders a titlebar with no title. Is this also part of the same issue? |
It's because it uses |
It's just how the designer drew it on mockup. |
Steps to reproduce
In my case, I am reproducing this on swaywm, which can run nested on another compositor.
Expected behaviour
The titlebar should not show buttons for actions that have been reported as unavailable by the compositor.
Actual behaviour
The titlebar shows buttons for actions that have been reported as unavailable by the compositor.
Operating system
Alpine Linux (Edge)
Version of Telegram Desktop
telegram-desktop-5.7.2-r1
Installation source
Other (unofficial) source
Crash ID
n/a
Logs
Logs with
WAYLAND_DISPLAY=1
indicate that telegram-desktop is being informed of capabilities:The
8
here is the size of the array in bytes. There is a single item in this array, the int323
, which meansfullscreen
.The text was updated successfully, but these errors were encountered: