nosignal-shell/modules/nexus/pages/panels/LauncherPanel.qml
2026-06-07 18:01:13 +10:00

147 lines
4.1 KiB
QML

pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Layouts
import Caelestia.Config
import qs.components
import qs.modules.nexus.common
PageBase {
id: root
title: qsTr("Launcher")
isSubPage: true
ColumnLayout {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
width: root.cappedWidth
spacing: Tokens.spacing.extraSmall / 2
// General
SectionHeader {
first: true
text: qsTr("General")
}
ToggleRow {
Layout.fillWidth: true
first: true
text: qsTr("Enabled")
checked: Config.launcher.enabled
onToggled: GlobalConfig.launcher.enabled = checked
}
ToggleRow {
Layout.fillWidth: true
last: true
text: qsTr("Show on hover")
subtext: qsTr("Reveal when the cursor reaches the screen edge")
checked: Config.launcher.showOnHover
onToggled: GlobalConfig.launcher.showOnHover = checked
}
// Display
SectionHeader {
text: qsTr("Display")
}
StepperRow {
Layout.fillWidth: true
first: true
label: qsTr("Max items shown")
value: Config.launcher.maxShown
from: 1
to: 20
stepSize: 1
onMoved: v => GlobalConfig.launcher.maxShown = v
}
StepperRow {
Layout.fillWidth: true
label: qsTr("Max wallpapers")
value: Config.launcher.maxWallpapers
from: 1
to: 30
stepSize: 1
onMoved: v => GlobalConfig.launcher.maxWallpapers = v
}
StepperRow {
Layout.fillWidth: true
last: true
label: qsTr("Drag threshold")
subtext: qsTr("Pixels dragged before the launcher opens")
value: Config.launcher.dragThreshold
from: 0
to: 200
stepSize: 5
onMoved: v => GlobalConfig.launcher.dragThreshold = v
}
// Behaviour
SectionHeader {
text: qsTr("Behaviour")
}
ToggleRow {
Layout.fillWidth: true
first: true
text: qsTr("Vim keybinds")
subtext: qsTr("Navigate results with Ctrl+hjkl")
checked: GlobalConfig.launcher.vimKeybinds
onToggled: GlobalConfig.launcher.vimKeybinds = checked
}
ToggleRow {
Layout.fillWidth: true
last: true
text: qsTr("Enable dangerous actions")
subtext: qsTr("Allow actions that shut down or log out")
checked: GlobalConfig.launcher.enableDangerousActions
onToggled: GlobalConfig.launcher.enableDangerousActions = checked
}
// Fuzzy search
SectionHeader {
text: qsTr("Fuzzy search")
}
ToggleRow {
Layout.fillWidth: true
first: true
text: qsTr("Apps")
checked: GlobalConfig.launcher.useFuzzy.apps
onToggled: GlobalConfig.launcher.useFuzzy.apps = checked
}
ToggleRow {
Layout.fillWidth: true
text: qsTr("Actions")
checked: GlobalConfig.launcher.useFuzzy.actions
onToggled: GlobalConfig.launcher.useFuzzy.actions = checked
}
ToggleRow {
Layout.fillWidth: true
text: qsTr("Schemes")
checked: GlobalConfig.launcher.useFuzzy.schemes
onToggled: GlobalConfig.launcher.useFuzzy.schemes = checked
}
ToggleRow {
Layout.fillWidth: true
text: qsTr("Variants")
checked: GlobalConfig.launcher.useFuzzy.variants
onToggled: GlobalConfig.launcher.useFuzzy.variants = checked
}
ToggleRow {
Layout.fillWidth: true
last: true
text: qsTr("Wallpapers")
checked: GlobalConfig.launcher.useFuzzy.wallpapers
onToggled: GlobalConfig.launcher.useFuzzy.wallpapers = checked
}
}
}