mirror of
https://github.com/theupriser/steamify-cachyos-live-iso.git
synced 2026-10-02 15:10:26 +02:00
feat: bake packagechooserq module into the ISO, fix Steamify page styling
packagechooserq is excluded from cachyos-calamares-next's own build, so its .so + module.desc are added straight into airootfs (matching the module built against the current cachyos-calamares-next). Also: - SteamifyPage.qml: border-only row highlight (was a translucent teal fill that made white text unreadable), themed page background (was falling through to Calamares' default white), a sub-option "└" marker, more right padding so the row border clears the scrollbar. - calamares-online.sh: also write items.json next to Items.qml, so packagechooserq's prettyStatus() can show the Summary step's choice as labels instead of raw, comma-joined ids.
This commit is contained in:
1 parent
71c2ef0459
commit
eb58ef24b4
4 files changed
+29
-6
No files matched your search
BIN
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
# AUTO-GENERATED metadata file
|
||||
# Syntax is YAML 1.2
|
||||
---
|
||||
type: "viewmodule"
|
||||
name: "packagechooserq"
|
||||
interface: "qtplugin"
|
||||
load: "libcalamares_viewmodule_packagechooserq.so"
|
||||
@@ -73,6 +73,9 @@ EOF
|
||||
cat "$tmp"
|
||||
printf '\n}\n'
|
||||
} | sudo tee "$sqml/Items.qml" > /dev/null
|
||||
# Same rows, plain JSON: packagechooserq's prettyStatus() override
|
||||
# reads this to show the Summary step's choice as labels, not ids.
|
||||
sudo cp "$tmp" "$sqml/items.json"
|
||||
fi
|
||||
rm -f "$tmp"
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@ Item {
|
||||
SystemPalette { id: pal; colorGroup: SystemPalette.Active }
|
||||
readonly property color accent: "#00CED1"
|
||||
|
||||
Rectangle { anchors.fill: parent; color: pal.window }
|
||||
|
||||
// Only what can be set up here (Steamify leaves out the rest).
|
||||
readonly property var rows: Items.rows.filter(function (r) { return r.selectable; })
|
||||
property var want: ({})
|
||||
@@ -56,7 +58,11 @@ Item {
|
||||
for (var i = 0; i < rows.length; i++)
|
||||
if (rows[i].kind === "toggle" && want[rows[i].id]) on.push(rows[i].id);
|
||||
if (want.gaming && boot === "desktop") on.push("boot");
|
||||
return on.length ? on.join(",") : "none";
|
||||
// ", " (not ","): Calamares' packagechooser Summary step shows this
|
||||
// value raw ("Install option: <value>"); steamify-install still
|
||||
// parses it fine (${choice//,/ } + bash word-splitting collapses
|
||||
// the extra space).
|
||||
return on.length ? on.join(", ") : "none";
|
||||
}
|
||||
onWantChanged: config.packageChoice = choice()
|
||||
onBootChanged: config.packageChoice = choice()
|
||||
@@ -102,12 +108,12 @@ Item {
|
||||
readonly property var it: modelData
|
||||
readonly property bool vis: page.shown(it)
|
||||
readonly property bool selected: vis && index === page.sel
|
||||
width: list.width - 12
|
||||
width: list.width - 25
|
||||
height: vis ? 52 : 0
|
||||
visible: vis
|
||||
radius: 4
|
||||
color: selected ? Qt.rgba(page.accent.r, page.accent.g, page.accent.b, 0.18) : pal.base
|
||||
border.width: 1
|
||||
color: pal.base
|
||||
border.width: selected ? 2 : 1
|
||||
border.color: selected ? page.accent : Qt.rgba(pal.windowText.r, pal.windowText.g, pal.windowText.b, 0.15)
|
||||
|
||||
MouseArea {
|
||||
@@ -118,9 +124,16 @@ Item {
|
||||
}
|
||||
RowLayout {
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: row.it.parent ? 32 : 12
|
||||
anchors.leftMargin: row.it.parent ? 12 : 12
|
||||
anchors.rightMargin: 12
|
||||
spacing: 12
|
||||
spacing: 8
|
||||
Label {
|
||||
visible: !!row.it.parent
|
||||
text: "└"
|
||||
color: pal.text
|
||||
opacity: 0.6
|
||||
font.pointSize: 11
|
||||
}
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 0
|
||||
|
||||
Reference in new issue
Block a user