[plasma/union] /: input/css/breeze: Convert breeze to a proper style package
Arjen Hiemstra <[email protected]> Wed, 5 Aug 2026 10:33:24 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit e353d2dad3702672e5f16615695d5423235d83ed by Arjen Hiemstra.
Committed on 05/08/2026 at 10:24.
Pushed by ahiemstra into branch 'master'.
input/css/breeze: Convert breeze to a proper style package
We now require styles to be proper packages so let's make sure our
provided styles are.
M +1 -1 autotests/input/TestCss.cpp
M +3 -3 src/input/css/CMakeLists.txt
R +0 -0 src/input/css/styles/breeze/contents/css/application.css [from: src/input/css/styles/breeze/application.css - 100% similarity]
R +1 -1 src/input/css/styles/breeze/contents/css/bars.css [from: src/input/css/styles/breeze/bars.css - 099% similarity]
R +0 -0 src/input/css/styles/breeze/contents/css/button.css [from: src/input/css/styles/breeze/button.css - 100% similarity]
R +0 -0 src/input/css/styles/breeze/contents/css/calendar.css [from: src/input/css/styles/breeze/calendar.css - 100% similarity]
R +2 -2 src/input/css/styles/breeze/contents/css/check.css [from: src/input/css/styles/breeze/check.css - 096% similarity]
R +0 -0 src/input/css/styles/breeze/contents/css/defaults.css [from: src/input/css/styles/breeze/defaults.css - 100% similarity]
R +0 -0 src/input/css/styles/breeze/contents/css/delegate.css [from: src/input/css/styles/breeze/delegate.css - 100% similarity]
A +51 -0 src/input/css/styles/breeze/contents/css/global.css
R +0 -0 src/input/css/styles/breeze/contents/css/kirigami.css [from: src/input/css/styles/breeze/kirigami.css - 100% similarity]
R +4 -0 src/input/css/styles/breeze/contents/css/popup.css [from: src/input/css/styles/breeze/popup.css - 098% similarity]
R +0 -0 src/input/css/styles/breeze/contents/css/style.css [from: src/input/css/styles/breeze/style.css - 100% similarity]
R +0 -0 src/input/css/styles/breeze/contents/css/tables.css [from: src/input/css/styles/breeze/tables.css - 100% similarity]
R +0 -0 src/input/css/styles/breeze/contents/css/text.css [from: src/input/css/styles/breeze/text.css - 100% similarity]
R +0 -0 src/input/css/styles/breeze/contents/css/variables.css [from: src/input/css/styles/breeze/variables.css - 100% similarity]
R +0 -0 src/input/css/styles/breeze/contents/images/checkmark.svg [from: src/input/css/styles/breeze/images/checkmark.svg - 100% similarity]
R +0 -0 src/input/css/styles/breeze/contents/images/radio.svg [from: src/input/css/styles/breeze/images/radio.svg - 100% similarity]
A +13 -0 src/input/css/styles/breeze/metadata.json
https://invent.kde.org/plasma/union/-/commit/e353d2dad3702672e5f16615695d5423235d83ed
diff --git a/autotests/input/TestCss.cpp b/autotests/input/TestCss.cpp
index d9e36355..141d14a6 100644
--- a/autotests/input/TestCss.cpp
+++ b/autotests/input/TestCss.cpp
@@ -34,7 +34,7 @@ private Q_SLOTS:
auto cssInputPath = fs::path(QFINDTESTDATA("../../src/input/css/").toStdString());
- cssparser::StyleSheet styleSheet(cssInputPath / "styles"s / styleName / "style.css"s);
+ cssparser::StyleSheet styleSheet(cssInputPath / "styles"s / styleName / "contents" / "css" / "style.css"s);
styleSheet.import(cssInputPath / "defaults"s / "default.css"s);
styleSheet.parse();
diff --git a/src/input/css/CMakeLists.txt b/src/input/css/CMakeLists.txt
index 38157ac8..140f8a7c 100644
--- a/src/input/css/CMakeLists.txt
+++ b/src/input/css/CMakeLists.txt
@@ -32,6 +32,6 @@ set_target_properties(union-input-css PROPERTIES
install(TARGETS union-input-css DESTINATION ${KDE_INSTALL_PLUGINDIR}/union)
-set(_css_install_dir "${KDE_INSTALL_DATADIR}/union/css")
-install(DIRECTORY defaults DESTINATION ${_css_install_dir})
-install(DIRECTORY styles DESTINATION ${_css_install_dir})
+set(_union_data_dir "${KDE_INSTALL_DATADIR}/union")
+install(DIRECTORY defaults DESTINATION ${_union_data_dir}/css)
+install(DIRECTORY styles DESTINATION ${_union_data_dir})
diff --git a/src/input/css/styles/breeze/application.css b/src/input/css/styles/breeze/contents/css/application.css
similarity index 100%
rename from src/input/css/styles/breeze/application.css
rename to src/input/css/styles/breeze/contents/css/application.css
diff --git a/src/input/css/styles/breeze/bars.css b/src/input/css/styles/breeze/contents/css/bars.css
similarity index 99%
rename from src/input/css/styles/breeze/bars.css
rename to src/input/css/styles/breeze/contents/css/bars.css
index ad74ebdf..6d6536b8 100644
--- a/src/input/css/styles/breeze/bars.css
+++ b/src/input/css/styles/breeze/contents/css/bars.css
@@ -279,4 +279,4 @@ slider.changed {
& > tickmark.active {
background-color: var(--changed-foreground);
}
-}
\ No newline at end of file
+}
diff --git a/src/input/css/styles/breeze/button.css b/src/input/css/styles/breeze/contents/css/button.css
similarity index 100%
rename from src/input/css/styles/breeze/button.css
rename to src/input/css/styles/breeze/contents/css/button.css
diff --git a/src/input/css/styles/breeze/calendar.css b/src/input/css/styles/breeze/contents/css/calendar.css
similarity index 100%
rename from src/input/css/styles/breeze/calendar.css
rename to src/input/css/styles/breeze/contents/css/calendar.css
diff --git a/src/input/css/styles/breeze/check.css b/src/input/css/styles/breeze/contents/css/check.css
similarity index 96%
rename from src/input/css/styles/breeze/check.css
rename to src/input/css/styles/breeze/contents/css/check.css
index 663666e4..657451f3 100644
--- a/src/input/css/styles/breeze/check.css
+++ b/src/input/css/styles/breeze/contents/css/check.css
@@ -116,7 +116,7 @@ menuitem
{
&:checked indicator
{
- background-image: url("images/checkmark.svg") mask var(--checkable-indicator-active-text-color);
+ background-image: url("../images/checkmark.svg") mask var(--checkable-indicator-active-text-color);
}
}
@@ -131,7 +131,7 @@ menuitem.exclusive
&:checked > indicator
{
- background-image: url("images/radio.svg") mask var(--checkable-indicator-active-text-color);
+ background-image: url("../images/radio.svg") mask var(--checkable-indicator-active-text-color);
}
}
diff --git a/src/input/css/styles/breeze/defaults.css b/src/input/css/styles/breeze/contents/css/defaults.css
similarity index 100%
rename from src/input/css/styles/breeze/defaults.css
rename to src/input/css/styles/breeze/contents/css/defaults.css
diff --git a/src/input/css/styles/breeze/delegate.css b/src/input/css/styles/breeze/contents/css/delegate.css
similarity index 100%
rename from src/input/css/styles/breeze/delegate.css
rename to src/input/css/styles/breeze/contents/css/delegate.css
diff --git a/src/input/css/styles/breeze/contents/css/global.css b/src/input/css/styles/breeze/contents/css/global.css
new file mode 100644
index 00000000..6c8c0aa9
--- /dev/null
+++ b/src/input/css/styles/breeze/contents/css/global.css
@@ -0,0 +1,51 @@
+/*
+ * SPDX-License-Identifier: BSD-2-Clause
+ * SPDX-FileCopyrightText: 2026 Arjen Hiemstra <[email protected]>
+ */
+
+@property --color-group {
+ syntax: "<string>";
+ inherits: true;
+ initial-value: "active";
+}
+
+@property --color-set {
+ syntax: "<string>";
+ inherits: true;
+}
+
+.inactive {
+ --color-group: "inactive";
+}
+
+:disabled {
+ --color-group: "disabled";
+}
+
+[color-set="window"] {
+ --color-set: "window";
+}
+
+[color-set="button"] {
+ --color-set: "button";
+}
+
+[color-set="view"] {
+ --color-set: "view";
+}
+
+[color-set="selection"] {
+ --color-set: "selection";
+}
+
+[color-set="tooltip"] {
+ --color-set: "tooltip";
+}
+
+[color-set="complementary"] {
+ --color-set: "complementary";
+}
+
+[color-set="header"] {
+ --color-set: "header";
+}
diff --git a/src/input/css/styles/breeze/kirigami.css b/src/input/css/styles/breeze/contents/css/kirigami.css
similarity index 100%
rename from src/input/css/styles/breeze/kirigami.css
rename to src/input/css/styles/breeze/contents/css/kirigami.css
diff --git a/src/input/css/styles/breeze/popup.css b/src/input/css/styles/breeze/contents/css/popup.css
similarity index 98%
rename from src/input/css/styles/breeze/popup.css
rename to src/input/css/styles/breeze/contents/css/popup.css
index 434987c6..7c7c8771 100644
--- a/src/input/css/styles/breeze/popup.css
+++ b/src/input/css/styles/breeze/contents/css/popup.css
@@ -109,6 +109,10 @@ menuitem
}
}
+overlay {
+ background-color: rgba(0.0, 0.0, 0.0, 0.2);
+}
+
/* Menuitems are sometimes used in comboboxes instead of itemdelegates, adjust their padding to
* same as itemdelegate in those cases */
popup.combobox menuitem {
diff --git a/src/input/css/styles/breeze/style.css b/src/input/css/styles/breeze/contents/css/style.css
similarity index 100%
rename from src/input/css/styles/breeze/style.css
rename to src/input/css/styles/breeze/contents/css/style.css
diff --git a/src/input/css/styles/breeze/tables.css b/src/input/css/styles/breeze/contents/css/tables.css
similarity index 100%
rename from src/input/css/styles/breeze/tables.css
rename to src/input/css/styles/breeze/contents/css/tables.css
diff --git a/src/input/css/styles/breeze/text.css b/src/input/css/styles/breeze/contents/css/text.css
similarity index 100%
rename from src/input/css/styles/breeze/text.css
rename to src/input/css/styles/breeze/contents/css/text.css
diff --git a/src/input/css/styles/breeze/variables.css b/src/input/css/styles/breeze/contents/css/variables.css
similarity index 100%
rename from src/input/css/styles/breeze/variables.css
rename to src/input/css/styles/breeze/contents/css/variables.css
diff --git a/src/input/css/styles/breeze/images/checkmark.svg b/src/input/css/styles/breeze/contents/images/checkmark.svg
similarity index 100%
rename from src/input/css/styles/breeze/images/checkmark.svg
rename to src/input/css/styles/breeze/contents/images/checkmark.svg
diff --git a/src/input/css/styles/breeze/images/radio.svg b/src/input/css/styles/breeze/contents/images/radio.svg
similarity index 100%
rename from src/input/css/styles/breeze/images/radio.svg
rename to src/input/css/styles/breeze/contents/images/radio.svg
diff --git a/src/input/css/styles/breeze/metadata.json b/src/input/css/styles/breeze/metadata.json
new file mode 100644
index 00000000..a89417c2
--- /dev/null
+++ b/src/input/css/styles/breeze/metadata.json
@@ -0,0 +1,13 @@
+{
+ "input-type": "css",
+ "input-version": 1,
+ "name": "Breeze",
+ "description": "The Breeze style for KDE Plasma.",
+ "version": "6.8",
+ "license": "BSD-2-Clause",
+ "url": "https://invent.kde.org/plasa/union",
+ "authors": [
+ "Arjen Hiemstra",
+ "Akseli Lahtinen"
+ ]
+}