tsujan / Kvantum

A Linux SVG-based theme engine for Qt and KDE
1.56k stars 146 forks source link

Some plasmashell dialogs are not transparent #333

Closed veggero closed 5 years ago

veggero commented 5 years ago

Even though dialogs from any app are working normally, dialogs created by plasmashell seems to have no transparency. Is this because of kde, kvantum, or have I done something wrong? Why do certain dialogs works, and some other doesn't?

Dialogs in image are: 1) Right click on background > Configure Desktop 2) Configure Desktop > Get New Wallpapers 3) Add Widget > New Widget > Download Widget 4) Dolphin for comparison

plasmashell_dialogs

tsujan commented 5 years ago

Because they're written in an abomination called QML (maybe, good for mobile phones). For some reason, KDE devs fell in love with it in Plasma5.

veggero commented 5 years ago

Would it be a good idea creating a bug report on bugs.kde.org asking for being able to set transparency in QML? Especially since, from what I understant, that would make kvantum themes work even with kirigami apps such as System Settings.

tsujan commented 5 years ago

Bug report? The problem isn't limited to translucency and KDE devs are in a funny state of denial. See https://www.reddit.com/r/kde/comments/9p8uwm/open_a_friendly_and_constructive_discussion_about/ . I quote myself from there:

"Ordinary users tell me this or that KDE config window has this or that problem although they don't see any problem in Dolphin or Qt apps; then I have to explain why I can't do anything because of QML."

KDE invented Breeze to hide these issues.

tsujan commented 5 years ago

KDE devs may even misuse my above comment in my own github page to accuse me of emotional tone and justify their denial, as they did there. So, if I were you, I'd never report anything about QML to them; it's their taboo.

veggero commented 5 years ago

I see your point. Since QML seems 'here to stay', with goods and bads (and I do really think there are many 'bads' here), maybe they'll react better trying to ask something on the lines of "can you do this little change for it to be compatible with kvantum?". But on the other side, I have no clue of what such 'little change' could be (does QML support colorschemes with alpha? How could kvantum support those?) so maybe I'm just waiting your time. But I really think kvantum is an important piece of kde :-/

tsujan commented 5 years ago

so maybe I'm just waiting your time

No, you aren't.

QtQuick (QML) has its own style, different from QWidget (C++). KDE devs try to make QtQuick apps have the same style as QWidget apps have, namely QStyle, because if they don't do so, the users will see the inconsistency in the KDE look easily. They ignore/overlook/deny the fact that it isn't possible without sacrificing so many good things in QStyle. Their poor style engine, Breeze, doesn't make use of the full power of QStyle and they close their eyes to the rest of the world.

If you activate a complex enough Kvantum theme and compare the styles of a Qt/C++ app and a QML/QtQuick app with each other, you'll see a lot of differences -- not just in translucency. That's because forcing QStyle on QtQuick was wrong in the first place: QtQuick isn't made for being styled by QStyle.

One of posts in the reddit page says, "Ignoring the style issues, developing simple UIs with QML is much simpler (in terms of man hours) than with widgets..." So, even according to them, they ignore such issues intentionally to code more easily. Suddenly, coding in C++/Qt has become difficult for them! I don't think they tell the truth.

kbroulik commented 5 years ago

fwiw the Get Hot New Stuff dialogs are not written in QML

tsujan commented 5 years ago

In the version I have, they aren't and they have window translucency but the wallpaper dialog is in QML and doesn't have translucency.

What KDE devs put into their codes isn't my concern. What I care for is providing a correct widget style for Qt widgets inside correct codes -- every programmer can ruin QStyle in his/her code.

varlesh commented 5 years ago

More and more modules and apps migrate to QML on KDE... (Muon Discover, Elisa Player, some dialogs on Plasma Desktop and etc...) It's very bad news for us and Kvantum for Plasma Desktop. I think on future we lost all modules on QWidget, because KDE Devs like f*cking QML. They kill support other engines. Now better solution - migrate to LxQt Desktop

tsujan commented 5 years ago

More and more modules and apps migrate to QML on KDE.

The problem is not just in their appearance. QML/QQC requires more resources and means slower apps.

They kill support other engines.

Actually, even an elementary style like Breeze isn't very happy with them.

LXQt is and will remain based on Qt widgets; no QML in LXQt: https://github.com/lxqt/lxqt/issues/1433#issuecomment-516556436

kbroulik commented 5 years ago

Can you stop spreading your FUD, please. Also, Qt is working on improving/merging the QStyle situation with widgets vs QML in Qt 6.

tsujan commented 5 years ago

@kbroulik

First of all, here is my place.

Also, Qt is working on improving/merging the QStyle situation with widgets vs QML in Qt 6.

Second, please talk about things that you have the slightest knowledge of -- at least when you talk here; in other places, you could freely be a fan boy.

kbroulik commented 5 years ago

Second, please talk about things that you have the slightest knowledge of

Good that this is literally what I am doing: https://www.qt.io/blog/2019/08/07/technical-vision-qt-6

Money quote: "We also aim to bring a unified theming/styling engine to Qt 6, which will allow us to get a native look & feel on Desktop and mobile platforms to both Qt Widgets and Qt Quick."

tsujan commented 5 years ago

Yes, also KDE devs pretended to users that it was possible, while they knew what was in the code.

tsujan commented 5 years ago

Most people quote other people when it comes to QML/QQC2, without taking a look into codes and without knowing what QStyle is and what it is not.

DADA30000 commented 6 days ago

that's just sad