mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-05 14:59:27 -05:00
351 lines
12 KiB
QML
351 lines
12 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import qs.services
|
|
import qs.modules.common
|
|
import qs.modules.common.widgets
|
|
|
|
ContentPage {
|
|
forceWidth: true
|
|
|
|
ContentSection {
|
|
icon: "notifications"
|
|
title: Translation.tr("Notifications")
|
|
ConfigSwitch {
|
|
buttonIcon: "counter_2"
|
|
text: Translation.tr("Unread indicator: show count")
|
|
checked: Config.options.bar.indicators.notifications.showUnreadCount
|
|
onCheckedChanged: {
|
|
Config.options.bar.indicators.notifications.showUnreadCount = checked;
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
icon: "spoke"
|
|
title: Translation.tr("Positioning")
|
|
|
|
ConfigRow {
|
|
ContentSubsection {
|
|
title: Translation.tr("Bar position")
|
|
Layout.fillWidth: true
|
|
|
|
ConfigSelectionArray {
|
|
currentValue: (Config.options.bar.bottom ? 1 : 0) | (Config.options.bar.vertical ? 2 : 0)
|
|
onSelected: newValue => {
|
|
Config.options.bar.bottom = (newValue & 1) !== 0;
|
|
Config.options.bar.vertical = (newValue & 2) !== 0;
|
|
}
|
|
options: [
|
|
{
|
|
displayName: Translation.tr("Top"),
|
|
icon: "arrow_upward",
|
|
value: 0 // bottom: false, vertical: false
|
|
},
|
|
{
|
|
displayName: Translation.tr("Left"),
|
|
icon: "arrow_back",
|
|
value: 2 // bottom: false, vertical: true
|
|
},
|
|
{
|
|
displayName: Translation.tr("Bottom"),
|
|
icon: "arrow_downward",
|
|
value: 1 // bottom: true, vertical: false
|
|
},
|
|
{
|
|
displayName: Translation.tr("Right"),
|
|
icon: "arrow_forward",
|
|
value: 3 // bottom: true, vertical: true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
ContentSubsection {
|
|
title: Translation.tr("Automatically hide")
|
|
Layout.fillWidth: false
|
|
|
|
ConfigSelectionArray {
|
|
currentValue: Config.options.bar.autoHide.enable
|
|
onSelected: newValue => {
|
|
Config.options.bar.autoHide.enable = newValue; // Update local copy
|
|
}
|
|
options: [
|
|
{
|
|
displayName: Translation.tr("No"),
|
|
icon: "close",
|
|
value: false
|
|
},
|
|
{
|
|
displayName: Translation.tr("Yes"),
|
|
icon: "check",
|
|
value: true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
|
|
ConfigRow {
|
|
|
|
ContentSubsection {
|
|
title: Translation.tr("Corner style")
|
|
Layout.fillWidth: true
|
|
|
|
ConfigSelectionArray {
|
|
currentValue: Config.options.bar.cornerStyle
|
|
onSelected: newValue => {
|
|
Config.options.bar.cornerStyle = newValue; // Update local copy
|
|
}
|
|
options: [
|
|
{
|
|
displayName: Translation.tr("Hug"),
|
|
icon: "line_curve",
|
|
value: 0
|
|
},
|
|
{
|
|
displayName: Translation.tr("Float"),
|
|
icon: "page_header",
|
|
value: 1
|
|
},
|
|
{
|
|
displayName: Translation.tr("Rect"),
|
|
icon: "toolbar",
|
|
value: 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
ContentSubsection {
|
|
title: Translation.tr("Group style")
|
|
Layout.fillWidth: false
|
|
|
|
ConfigSelectionArray {
|
|
currentValue: Config.options.bar.borderless
|
|
onSelected: newValue => {
|
|
Config.options.bar.borderless = newValue; // Update local copy
|
|
}
|
|
options: [
|
|
{
|
|
displayName: Translation.tr("Pills"),
|
|
icon: "location_chip",
|
|
value: false
|
|
},
|
|
{
|
|
displayName: Translation.tr("Line-separated"),
|
|
icon: "split_scene",
|
|
value: true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
icon: "shelf_auto_hide"
|
|
title: Translation.tr("Tray")
|
|
|
|
ConfigSwitch {
|
|
buttonIcon: "keep"
|
|
text: Translation.tr('Make icons pinned by default')
|
|
checked: Config.options.tray.invertPinnedItems
|
|
onCheckedChanged: {
|
|
Config.options.tray.invertPinnedItems = checked;
|
|
}
|
|
}
|
|
|
|
ConfigSwitch {
|
|
buttonIcon: "colors"
|
|
text: Translation.tr('Tint icons')
|
|
checked: Config.options.tray.monochromeIcons
|
|
onCheckedChanged: {
|
|
Config.options.tray.monochromeIcons = checked;
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
icon: "widgets"
|
|
title: Translation.tr("Utility buttons")
|
|
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
buttonIcon: "content_cut"
|
|
text: Translation.tr("Screen snip")
|
|
checked: Config.options.bar.utilButtons.showScreenSnip
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showScreenSnip = checked;
|
|
}
|
|
}
|
|
ConfigSwitch {
|
|
buttonIcon: "colorize"
|
|
text: Translation.tr("Color picker")
|
|
checked: Config.options.bar.utilButtons.showColorPicker
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showColorPicker = checked;
|
|
}
|
|
}
|
|
}
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
buttonIcon: "keyboard"
|
|
text: Translation.tr("Keyboard toggle")
|
|
checked: Config.options.bar.utilButtons.showKeyboardToggle
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showKeyboardToggle = checked;
|
|
}
|
|
}
|
|
ConfigSwitch {
|
|
buttonIcon: "mic"
|
|
text: Translation.tr("Mic toggle")
|
|
checked: Config.options.bar.utilButtons.showMicToggle
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showMicToggle = checked;
|
|
}
|
|
}
|
|
}
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
buttonIcon: "dark_mode"
|
|
text: Translation.tr("Dark/Light toggle")
|
|
checked: Config.options.bar.utilButtons.showDarkModeToggle
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showDarkModeToggle = checked;
|
|
}
|
|
}
|
|
ConfigSwitch {
|
|
buttonIcon: "speed"
|
|
text: Translation.tr("Performance Profile toggle")
|
|
checked: Config.options.bar.utilButtons.showPerformanceProfileToggle
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showPerformanceProfileToggle = checked;
|
|
}
|
|
}
|
|
}
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
buttonIcon: "videocam"
|
|
text: Translation.tr("Record")
|
|
checked: Config.options.bar.utilButtons.showScreenRecord
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showScreenRecord = checked;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
icon: "cloud"
|
|
title: Translation.tr("Weather")
|
|
ConfigSwitch {
|
|
buttonIcon: "check"
|
|
text: Translation.tr("Enable")
|
|
checked: Config.options.bar.weather.enable
|
|
onCheckedChanged: {
|
|
Config.options.bar.weather.enable = checked;
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
icon: "workspaces"
|
|
title: Translation.tr("Workspaces")
|
|
|
|
ConfigSwitch {
|
|
buttonIcon: "counter_1"
|
|
text: Translation.tr('Always show numbers')
|
|
checked: Config.options.bar.workspaces.alwaysShowNumbers
|
|
onCheckedChanged: {
|
|
Config.options.bar.workspaces.alwaysShowNumbers = checked;
|
|
}
|
|
}
|
|
|
|
ConfigSwitch {
|
|
buttonIcon: "award_star"
|
|
text: Translation.tr('Show app icons')
|
|
checked: Config.options.bar.workspaces.showAppIcons
|
|
onCheckedChanged: {
|
|
Config.options.bar.workspaces.showAppIcons = checked;
|
|
}
|
|
}
|
|
|
|
ConfigSwitch {
|
|
buttonIcon: "colors"
|
|
text: Translation.tr('Tint app icons')
|
|
checked: Config.options.bar.workspaces.monochromeIcons
|
|
onCheckedChanged: {
|
|
Config.options.bar.workspaces.monochromeIcons = checked;
|
|
}
|
|
}
|
|
|
|
ConfigSpinBox {
|
|
icon: "view_column"
|
|
text: Translation.tr("Workspaces shown")
|
|
value: Config.options.bar.workspaces.shown
|
|
from: 1
|
|
to: 30
|
|
stepSize: 1
|
|
onValueChanged: {
|
|
Config.options.bar.workspaces.shown = value;
|
|
}
|
|
}
|
|
|
|
ConfigSpinBox {
|
|
icon: "touch_long"
|
|
text: Translation.tr("Number show delay when pressing Super (ms)")
|
|
value: Config.options.bar.workspaces.showNumberDelay
|
|
from: 0
|
|
to: 1000
|
|
stepSize: 50
|
|
onValueChanged: {
|
|
Config.options.bar.workspaces.showNumberDelay = value;
|
|
}
|
|
}
|
|
|
|
ContentSubsection {
|
|
title: Translation.tr("Number style")
|
|
|
|
ConfigSelectionArray {
|
|
currentValue: JSON.stringify(Config.options.bar.workspaces.numberMap)
|
|
onSelected: newValue => {
|
|
Config.options.bar.workspaces.numberMap = JSON.parse(newValue)
|
|
}
|
|
options: [
|
|
{
|
|
displayName: Translation.tr("Normal"),
|
|
icon: "timer_10",
|
|
value: '[]'
|
|
},
|
|
{
|
|
displayName: Translation.tr("Han chars"),
|
|
icon: "square_dot",
|
|
value: '["一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十"]'
|
|
},
|
|
{
|
|
displayName: Translation.tr("Roman"),
|
|
icon: "account_balance",
|
|
value: '["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII","XIII","XIV","XV","XVI","XVII","XVIII","XIX","XX"]'
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
icon: "tooltip"
|
|
title: Translation.tr("Tooltips")
|
|
ConfigSwitch {
|
|
buttonIcon: "ads_click"
|
|
text: Translation.tr("Click to show")
|
|
checked: Config.options.bar.tooltips.clickToShow
|
|
onCheckedChanged: {
|
|
Config.options.bar.tooltips.clickToShow = checked;
|
|
}
|
|
}
|
|
}
|
|
}
|