Skip to content
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

Add support for Qt client side window decorations (CSD) #167

Open
cwmke opened this issue Apr 19, 2020 · 8 comments
Open

Add support for Qt client side window decorations (CSD) #167

cwmke opened this issue Apr 19, 2020 · 8 comments

Comments

@cwmke
Copy link

cwmke commented Apr 19, 2020

Fedora 32
Gnome 3.36.1

I noticed certain QT based apps like Gwenview, KeepassXC and the Anki flatpak don't hide their titlebars despite Hide windows titlebars being set to Always. I searched Issues but didn't find anything similar. This extension is really spectacular. Many thanks for all of your efforts. I don't know if the below log from opening Gwenview is at all related but figured it can't hurt.

QSocketNotifier: Can only be used with threads started with QThread

(gwenview:234269): Gtk-WARNING **: 10:29:46.705: Theme parsing error: colors.css:71:44: Invalid number for color value

(gwenview:234269): Gtk-WARNING **: 10:29:46.705: Theme parsing error: colors.css:72:44: Invalid number for color value

(gwenview:234269): Gtk-WARNING **: 10:29:46.705: Theme parsing error: colors.css:74:53: Invalid number for color value

(gwenview:234269): Gtk-WARNING **: 10:29:46.705: Theme parsing error: colors.css:75:53: Invalid number for color value

(gwenview:234269): Gtk-WARNING **: 10:29:46.705: Theme parsing error: colors.css:76:56: Invalid number for color value

(gwenview:234269): Gtk-WARNING **: 10:29:46.705: Theme parsing error: colors.css:77:65: Invalid number for color value
kf5.kwidgetsaddons: Invalid pixmap specified.
QTimeLine::setDuration: cannot set duration <= 0
kf5.kwidgetsaddons: Invalid pixmap specified.
QTimeLine::setDuration: cannot set duration <= 0
kf5.kwidgetsaddons: Invalid pixmap specified.
QTimeLine::setDuration: cannot set duration <= 0
kf5.kwidgetsaddons: Invalid pixmap specified.
QTimeLine::setDuration: cannot set duration <= 0
kf5.kwidgetsaddons: Invalid pixmap specified.
QTimeLine::setDuration: cannot set duration <= 0
kf5.kio.core: "Could not enter folder tags:/."
kf5.kio.core: "Could not enter folder tags:/."

And here's a couple lines from Anki's cli output.

qt: Using the 'xdg-shell' shell integration
qt: Wayland does not support QWindow::requestActivate()
@jonian jonian changed the title QT Based Application Titlebars Don't Hide [Wayland] Flatpak QT Based Application Titlebars Don't Hide Apr 19, 2020
@jonian
Copy link
Member

jonian commented Apr 19, 2020

Thanks for the report @cwmke, I can confirm that the issue is present in QT applications on Wayland installed with flatpak. Not sure I can fix it though.

I do not use flatpak, so this is not a priority issue for me and I do not have too much free time to investigate this.

I'm tagging the issue as help-wanted, in case someone can fix this.

@cwmke
Copy link
Author

cwmke commented Apr 19, 2020

Sounds good. Just to clarify for anyone interested in taking a look, I think it's QT applications in general. Gwenview was installed with the package manager; not flatpak.

@jonian
Copy link
Member

jonian commented Apr 19, 2020

@cwmke I tested only with KeepassXC (flatpak and package manager). Is there any other application that has this issue when installed through the package manager? Gwenview has a lot of KDE dependencies.

@cwmke
Copy link
Author

cwmke commented Apr 20, 2020

transmission-qt, the torrent application, installed from the repos also has the issue. I would think it has significantly less dependencies than Gwenview.

@jonian
Copy link
Member

jonian commented Apr 20, 2020

transmission-qt works without issues for me.

@jonian
Copy link
Member

jonian commented Apr 20, 2020

After some testing, I think it is an issue with all QT applications in wayland. The QT applications that do not have the issue use the xwayland backend.

@cwmke is the issue present if you start transmission with:

env QT_QPA_PLATFORM=xcb transmission-qt

@jonian jonian changed the title [Wayland] Flatpak QT Based Application Titlebars Don't Hide [Wayland] QT Based Application Titlebars Don't Hide Apr 20, 2020
@cwmke
Copy link
Author

cwmke commented Apr 20, 2020

That does the trick for hiding them. This is a good workaround for the time being. Thanks!

@jonian
Copy link
Member

jonian commented Apr 20, 2020

In case you don't know you can make that permanent by adding to /etc/environment:

QT_QPA_PLATFORM=xcb

@jonian jonian changed the title [Wayland] QT Based Application Titlebars Don't Hide [Wayland] QT based application titlebars (CSD) don't hide Apr 20, 2020
@jonian jonian changed the title [Wayland] QT based application titlebars (CSD) don't hide QT based application titlebars (CSD) don't hide Apr 20, 2020
@jonian jonian added feature and removed bug labels Apr 20, 2020
@jonian jonian changed the title QT based application titlebars (CSD) don't hide Add support for Qt client side window decorations (CSD) Apr 20, 2020
@jonian jonian pinned this issue Apr 20, 2020
@jonian jonian unpinned this issue Mar 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants