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 } } }