Watch
1
0
Fork
You've already forked souveraine
0

settings: register twelve pages nothing could reach

Written, deployed to the phone, absent from pages[] — the only registry.
13 to 25. Power, search, updates, VPN and saved networks were finished
all along. MonitorConfig and KdeConfig stay out: hyprctl and Plasma.

Two laptop-isms cut from GeneralConfig first — it sed'd a hyprlock.conf
nothing reads, and shelled to a hardcoded Gemini script.
This commit is contained in:
Fimeg 2026-08-16 14:02:22 -04:00
commit 89a34ad994
2 changed files with 87 additions and 38 deletions

View file

@ -10,12 +10,6 @@ import qs.modules.common.widgets
ContentPage {
forceWidth: true
Process {
id: translationProc
property string locale: ""
command: [Directories.aiTranslationScriptPath, translationProc.locale]
}
ContentSection {
icon: "volume_up"
title: Translation.tr("Audio")
@ -164,31 +158,11 @@ ContentPage {
}
}
}
ContentSubsection {
title: Translation.tr("Generate translation with Gemini")
tooltip: Translation.tr("You'll need to enter your Gemini API key first.\nType /key on the sidebar for instructions.")
ConfigRow {
MaterialTextArea {
id: localeInput
Layout.fillWidth: true
placeholderText: Translation.tr("Locale code, e.g. fr_FR, de_DE, zh_CN...")
text: Config.options.language.ui === "auto" ? Qt.locale().name : Config.options.language.ui
}
RippleButtonWithIcon {
id: generateTranslationBtn
Layout.fillHeight: true
nerdIcon: ""
enabled: !translationProc.running || (translationProc.locale !== localeInput.text.trim())
mainText: enabled ? Translation.tr("Generate\nTypically takes 2 minutes") : Translation.tr("Generating...\nDon't close this window!")
onClicked: {
translationProc.locale = localeInput.text.trim();
translationProc.running = false;
translationProc.running = true;
}
}
}
}
// Upstream's "Generate translation with Gemini" subsection is cut. It
// shelled to `Directories.aiTranslationScriptPath` with its own API key
// and a hardcoded provider a second model path beside `services/Ai.qml`
// and the Bifrost server, which is the "no hardcoded models" rule and a
// two-writer shape besides.
}
ContentSection {
@ -308,13 +282,12 @@ ContentPage {
ConfigSelectionArray {
currentValue: Config.options.time.format
// The two `sed`s that used to rewrite `~/.config/hypr/
// hyprlock.conf` are gone. `lock.useHyprlock` is false on this
// device the lock surface is `modules/souveraine/lock` so
// they edited a file nothing reads, and did it by shelling out
// to bash on every selection.
onSelected: newValue => {
if (newValue === "hh:mm") {
Quickshell.execDetached(["bash", "-c", `sed -i 's/\\TIME12\\b/TIME/' '${FileUtils.trimFileProtocol(Directories.config)}/hypr/hyprlock.conf'`]);
} else {
Quickshell.execDetached(["bash", "-c", `sed -i 's/\\TIME\\b/TIME12/' '${FileUtils.trimFileProtocol(Directories.config)}/hypr/hyprlock.conf'`]);
}
Config.options.time.format = newValue;
}
options: [