- Replace hardcoded color with Kirigami.Theme.*
- Replace search bar with Kirigami.Search
I tried to use PlasmaCore.Theme but this didn't work. I think a blurred background would look nicer but I didn't find how to do it.
I tried to use PlasmaCore.Theme but this didn't work. I think a blurred background would look nicer but I didn't find how to do it.
Note the shutdown/logout button with a wrong color
No Linters Available |
No Unit Test Coverage |
Buildable 15957 | |
Build 15975: arc lint + arc unit |
Current (?) one for comparison (from Kubuntu 18.04 since the one from Neon Unstable crashes for me)
I agree that the search as it currently is is inconsistent with how we display search fields anywhere else but it does fit with the rest of the dashboard. The overall style of the dashboard is pretty unique imo (for better or worse). So imo keeping the current search would be fine for now.
Other than that +1 for the color change. I'm using Breeze and the dashboard with its white text on dark background always looked out of place to me.
I agree that a blurred background would most likely look very nice.
The reason it's transparent is because the clear color of the buffer is set to the background color when it's changed [1][2].
This worked before probably because the Color was (0, 0, 0). For transparent windows we need to set it to Qt::transparent[3] and enable an alpha buffer[4].
diff --git a/applets/kicker/plugin/dashboardwindow.cpp b/applets/kicker/plugin/dashboardwindow.cpp index 6665e8df7..cc6b70c32 100644 --- a/applets/kicker/plugin/dashboardwindow.cpp +++ b/applets/kicker/plugin/dashboardwindow.cpp @@ -32,6 +32,8 @@ DashboardWindow::DashboardWindow(QQuickItem *parent) : QQuickWindow(parent ? par , m_visualParentWindow(nullptr) { setClearBeforeRendering(true); + setDefaultAlphaBuffer(true); + setColor(Qt::transparent); setFlags(Qt::FramelessWindowHint); setIcon(QIcon::fromTheme(QStringLiteral("plasma"))); @@ -100,8 +102,6 @@ QColor DashboardWindow::backgroundColor() const void DashboardWindow::setBackgroundColor(const QColor &c) { if (color() != c) { - setColor(c); - emit backgroundColorChanged(); } }
[1] https://cgit.kde.org/plasma-desktop.git/tree/applets/kicker/plugin/dashboardwindow.cpp#n103
[2]https://doc.qt.io/qt-5/qquickwindow.html#color-prop
[3]https://doc.qt.io/qt-5/qquickwidget.html#details (see Limitations)
[4]https://doc.qt.io/qt-5/qquickwindow.html#setDefaultAlphaBuffer
What I'm seeing is that this could result in poor visibility of action buttons.
They should use text color.
I would also think a bit more about using Kirigami.SearchField -> it's not used in Kickoff and it's not properly themable (the same way PlasmaComponents.TextField is).
It also looks too small.
As a general concept, are we sure this makes sense? This is an overlay dashboard. It seems like it's supposed to always be dark. Making it respect the color scheme produces a result that, to be honest, I don't think works. The proposed light theme version has a background that's eyeball-searingly bright.
Is there a problem with keeping this a hardcoded dark-only UI?