helloSystem / hello

Desktop system for creators with a focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!
2.31k stars 57 forks source link

Ensure Qt, Gtk, WxWidgets, Electron apps look indistinguishable #14

Open probonopd opened 4 years ago

probonopd commented 4 years ago

Ensure Qt, Gtk, WxWidgets, Electron apps look indistinguishable

Screenshot: Inkscape (Gtk) AppImage on the left, Scribus (Qt) AppImage on the right, on Xubuntu

unify

kettle-7 commented 3 years ago

There's a Qt theme called gtk. That's how Xfce does it. Making a GTK theme for Qt would be harder, but there's nothing saying we can't. KDE made a Breeze Qt theme and a Breeze GTK theme, the only issue with those is that they are flat and boring.

probonopd commented 3 years ago

That's what was used to produce the above. But we don't want to rely on anything Gtk in helloSystem. So we'd need the reverse - a backend for Gtk that uses Qt to render the widgets. Does it exist?

kettle-7 commented 3 years ago

Not sure, BUT it might work without GTK, only having the theme there... I'm not sure how it's implemented, and don't have access to a system with Qt and no GTK.

kettle-7 commented 3 years ago

If that does work, I found a nice theme to look at that isn't flat and boring but isn't Humanity with all of the orange. Mint-X

Mint X from Linux Mint and Fedora Cinnamon spin. One thing it does well is blend the gradient of the titlebar and the toolbar without client-side decorations, which seems like a strange mystery.

kettle-7 commented 3 years ago

On the note of WxWidgets, that uses Qt bindings by default, and can be configured to use GTK. So it'll fit in with one or the other.

kettle-7 commented 3 years ago

Fedora greeted me with nearly 500 updates!

probonopd commented 3 years ago

Again, that plugin uses Gtk for Qt apps but we want to use Qt for Gtk apps.

kettle-7 commented 3 years ago

I could try making a GTK theme that looks like our Qt one...

Unfortunately it doesn't look like there's a way to make GTK copy Qt's styles, so the best I can do is a GTK theme that looks like our Qt one but will continue to look like our old Qt one if our Qt one changes.

probonopd commented 3 years ago

I could try making a GTK theme that looks like our Qt one...

...optimal would be not one that looks like, but one that uses Qt to render the widgets. So that no matter how you style Qt, GTK apps would look the same. But I guess it's a lot of work if it has not be done by anyone yet?

kettle-7 commented 3 years ago

The other option is making new headers that bind to the relevant Qt functions...