More tokens
This commit is contained in:
@@ -101,15 +101,16 @@ countdown = "{{ accent }}"
|
|||||||
|
|
||||||
[app-launcher]
|
[app-launcher]
|
||||||
# Same six tokens as [menu], applied to the app launcher overlay. Alpha
|
# Same six tokens as [menu], applied to the app launcher overlay. Alpha
|
||||||
# companions go from 0 (invisible) to 1 (opaque). Defaults mirror [menu]:
|
# companions go from 0 (invisible) to 1 (opaque). scrim is the full-screen
|
||||||
# subtle foreground-tinted fill on the selected row, no visible border,
|
# dim layer behind the card; background is the card itself. Defaults
|
||||||
# accent-colored text. background-alpha of 0.95 mirrors the legacy
|
# mirror [menu] with the card at 0.95 to preserve the legacy translucency.
|
||||||
# hard-coded card translucency.
|
|
||||||
background = "{{ background }}"
|
background = "{{ background }}"
|
||||||
background-alpha = 0.95
|
background-alpha = 0.95
|
||||||
text = "{{ foreground }}"
|
text = "{{ foreground }}"
|
||||||
border = "{{ foreground }}"
|
border = "{{ foreground }}"
|
||||||
border-alpha = 1.0
|
border-alpha = 1.0
|
||||||
|
scrim = "{{ background }}"
|
||||||
|
scrim-alpha = 0.5
|
||||||
selected-background = "{{ foreground }}"
|
selected-background = "{{ foreground }}"
|
||||||
selected-background-alpha = 0.08
|
selected-background-alpha = 0.08
|
||||||
selected-text = "{{ accent }}"
|
selected-text = "{{ accent }}"
|
||||||
@@ -118,26 +119,63 @@ selected-border-alpha = 0.25
|
|||||||
|
|
||||||
[menu]
|
[menu]
|
||||||
# Cards, rows, and selected-row treatment. Alpha companions (where present)
|
# Cards, rows, and selected-row treatment. Alpha companions (where present)
|
||||||
# go from 0 (invisible) to 1 (opaque). Defaults mirror the panel keyboard
|
# go from 0 (invisible) to 1 (opaque). scrim is the full-screen dim layer
|
||||||
# cursor: a subtle foreground-tinted fill on the selected row, no visible
|
# behind the card. The clipboard and emoji pickers inherit these tokens.
|
||||||
# border, accent-colored text. Override any of these per-theme.
|
|
||||||
background = "{{ background }}"
|
background = "{{ background }}"
|
||||||
background-alpha = 1.0
|
background-alpha = 1.0
|
||||||
text = "{{ foreground }}"
|
text = "{{ foreground }}"
|
||||||
border = "{{ foreground }}"
|
border = "{{ foreground }}"
|
||||||
border-alpha = 1.0
|
border-alpha = 1.0
|
||||||
|
scrim = "{{ background }}"
|
||||||
|
scrim-alpha = 0.5
|
||||||
selected-background = "{{ foreground }}"
|
selected-background = "{{ foreground }}"
|
||||||
selected-background-alpha = 0.08
|
selected-background-alpha = 0.08
|
||||||
selected-text = "{{ accent }}"
|
selected-text = "{{ accent }}"
|
||||||
selected-border = "{{ foreground }}"
|
selected-border = "{{ foreground }}"
|
||||||
selected-border-alpha = 0.25
|
selected-border-alpha = 0.25
|
||||||
|
|
||||||
|
[polkit]
|
||||||
|
# Polkit authentication prompt (sudo/password dialogs). scrim is the
|
||||||
|
# darkening layer behind the card; background is the card itself.
|
||||||
|
# text-error tints the lock icon, password text, and placeholder when
|
||||||
|
# authentication fails.
|
||||||
|
background = "{{ background }}"
|
||||||
|
background-alpha = 1.0
|
||||||
|
text = "{{ foreground }}"
|
||||||
|
text-error = "{{ color1 }}"
|
||||||
|
border = "{{ accent }}"
|
||||||
|
border-error = "{{ color1 }}"
|
||||||
|
border-alpha = 1.0
|
||||||
|
scrim = "{{ background }}"
|
||||||
|
scrim-alpha = 0.5
|
||||||
|
# accent is the lock-icon glyph color + text-selection tint.
|
||||||
|
accent = "{{ accent }}"
|
||||||
|
|
||||||
|
[lock]
|
||||||
|
# Lock screen password input. background/background-alpha control the
|
||||||
|
# centered input field card; border/border-active/border-error cycle
|
||||||
|
# through idle, typing/authenticating, and wrong-password states.
|
||||||
|
background = "{{ background }}"
|
||||||
|
background-alpha = 0.8
|
||||||
|
text = "{{ foreground }}"
|
||||||
|
text-error = "{{ color1 }}"
|
||||||
|
border = "{{ foreground }}"
|
||||||
|
border-active = "{{ accent }}"
|
||||||
|
border-error = "{{ color1 }}"
|
||||||
|
border-alpha = 1.0
|
||||||
|
# selection is the text-selection tint inside the input field.
|
||||||
|
selection = "{{ accent }}"
|
||||||
|
selection-alpha = 0.45
|
||||||
|
|
||||||
[image-picker]
|
[image-picker]
|
||||||
# Carousel-style picker. background-alpha sets the scrim opacity behind
|
# Carousel-style picker. The picker has no separate card surface, so
|
||||||
# the picker; unselected-border-alpha softens carousel slices that aren't
|
# `scrim` is the full-screen wash. `background` is the underlying color
|
||||||
# the current selection. Defaults preserve the legacy hard-coded behavior.
|
# used for per-slice dim overlays and text outlines on top of the scrim.
|
||||||
|
# unselected-border-alpha softens carousel slices that aren't selected.
|
||||||
background = "{{ background }}"
|
background = "{{ background }}"
|
||||||
background-alpha = 0.5
|
background-alpha = 1.0
|
||||||
|
scrim = "{{ background }}"
|
||||||
|
scrim-alpha = 0.5
|
||||||
text = "{{ foreground }}"
|
text = "{{ foreground }}"
|
||||||
selected-border = "{{ accent }}"
|
selected-border = "{{ accent }}"
|
||||||
selected-border-alpha = 1.0
|
selected-border-alpha = 1.0
|
||||||
|
|||||||
@@ -116,7 +116,8 @@ The shell exposes these tokens to QML via two singletons in
|
|||||||
- `Color` — palette (`foreground`, `background`, `accent`, `urgent`)
|
- `Color` — palette (`foreground`, `background`, `accent`, `urgent`)
|
||||||
and per-surface roles (`Color.bar.*`, `Color.popups.*`,
|
and per-surface roles (`Color.bar.*`, `Color.popups.*`,
|
||||||
`Color.tooltip.*`, `Color.notifications.*`, `Color.menu.*`,
|
`Color.tooltip.*`, `Color.notifications.*`, `Color.menu.*`,
|
||||||
`Color.imagePicker.*`).
|
`Color.appLauncher.*`, `Color.imagePicker.*`, `Color.polkit.*`,
|
||||||
|
`Color.lock.*`). The clipboard and emoji pickers share `Color.menu.*`.
|
||||||
- `Style` — structural tokens (`cornerRadius`), shared interactive
|
- `Style` — structural tokens (`cornerRadius`), shared interactive
|
||||||
state tokens/helpers, spacing (`Style.spacing.*` / `Style.space(px)`),
|
state tokens/helpers, spacing (`Style.spacing.*` / `Style.space(px)`),
|
||||||
the type scale (`Style.font.*`), and bar dimensions
|
the type scale (`Style.font.*`), and bar dimensions
|
||||||
|
|||||||
+27
-5
@@ -7,7 +7,8 @@ import Quickshell.Io
|
|||||||
// (foreground/background/accent/urgent) come from the theme's colors.toml.
|
// (foreground/background/accent/urgent) come from the theme's colors.toml.
|
||||||
// Per-surface roles (Color.bar.*, Color.popups.*, Color.tooltip.*,
|
// Per-surface roles (Color.bar.*, Color.popups.*, Color.tooltip.*,
|
||||||
// Color.notifications.*, Color.menu.*, Color.appLauncher.*,
|
// Color.notifications.*, Color.menu.*, Color.appLauncher.*,
|
||||||
// Color.imagePicker.*) come from shell.toml, which is generated
|
// Color.imagePicker.*, Color.polkit.*, Color.lock.*) come from shell.toml,
|
||||||
|
// which is generated
|
||||||
// per theme from default/themed/shell.toml.tpl (or shipped directly by a
|
// per theme from default/themed/shell.toml.tpl (or shipped directly by a
|
||||||
// theme to override). Surfaces that don't appear in shell.toml fall back to
|
// theme to override). Surfaces that don't appear in shell.toml fall back to
|
||||||
// the foundational palette, so themes can ship partial overrides.
|
// the foundational palette, so themes can ship partial overrides.
|
||||||
@@ -85,6 +86,7 @@ QtObject {
|
|||||||
property color background: root.composed("app-launcher.background", "app-launcher.background-alpha", root.background, 0.95)
|
property color background: root.composed("app-launcher.background", "app-launcher.background-alpha", root.background, 0.95)
|
||||||
property color text: root.pick("app-launcher.text", root.foreground)
|
property color text: root.pick("app-launcher.text", root.foreground)
|
||||||
property color border: root.composed("app-launcher.border", "app-launcher.border-alpha", root.foreground, 1.0)
|
property color border: root.composed("app-launcher.border", "app-launcher.border-alpha", root.foreground, 1.0)
|
||||||
|
property color scrim: root.composed("app-launcher.scrim", "app-launcher.scrim-alpha", root.background, 0.5)
|
||||||
property color selectedBackground: root.composed("app-launcher.selected-background", "app-launcher.selected-background-alpha", root.foreground, 0.08)
|
property color selectedBackground: root.composed("app-launcher.selected-background", "app-launcher.selected-background-alpha", root.foreground, 0.08)
|
||||||
property color selectedText: root.pick("app-launcher.selected-text", root.accent)
|
property color selectedText: root.pick("app-launcher.selected-text", root.accent)
|
||||||
property color selectedBorder: root.composed("app-launcher.selected-border", "app-launcher.selected-border-alpha", root.foreground, 0.0)
|
property color selectedBorder: root.composed("app-launcher.selected-border", "app-launcher.selected-border-alpha", root.foreground, 0.0)
|
||||||
@@ -96,15 +98,35 @@ QtObject {
|
|||||||
property color background: root.composed("menu.background", "menu.background-alpha", root.background, 1.0)
|
property color background: root.composed("menu.background", "menu.background-alpha", root.background, 1.0)
|
||||||
property color text: root.pick("menu.text", root.foreground)
|
property color text: root.pick("menu.text", root.foreground)
|
||||||
property color border: root.composed("menu.border", "menu.border-alpha", root.foreground, 1.0)
|
property color border: root.composed("menu.border", "menu.border-alpha", root.foreground, 1.0)
|
||||||
|
property color scrim: root.composed("menu.scrim", "menu.scrim-alpha", root.background, 0.5)
|
||||||
property color selectedBackground: root.composed("menu.selected-background", "menu.selected-background-alpha", root.pick("menu.selected", root.foreground), 0.08)
|
property color selectedBackground: root.composed("menu.selected-background", "menu.selected-background-alpha", root.pick("menu.selected", root.foreground), 0.08)
|
||||||
property color selectedText: root.pick("menu.selected-text", root.accent)
|
property color selectedText: root.pick("menu.selected-text", root.accent)
|
||||||
property color selectedBorder: root.composed("menu.selected-border", "menu.selected-border-alpha", root.foreground, 0.0)
|
property color selectedBorder: root.composed("menu.selected-border", "menu.selected-border-alpha", root.foreground, 0.0)
|
||||||
}
|
}
|
||||||
|
readonly property QtObject polkit: QtObject {
|
||||||
|
property color background: root.composed("polkit.background", "polkit.background-alpha", root.background, 1.0)
|
||||||
|
property color text: root.pick("polkit.text", root.foreground)
|
||||||
|
property color textError: root.pick("polkit.text-error", root.urgent)
|
||||||
|
property color border: root.composed("polkit.border", "polkit.border-alpha", root.accent, 1.0)
|
||||||
|
property color borderError: root.composed("polkit.border-error", "polkit.border-alpha", root.urgent, 1.0)
|
||||||
|
property color accent: root.pick("polkit.accent", root.accent)
|
||||||
|
property color scrim: root.composed("polkit.scrim", "polkit.scrim-alpha", root.background, 0.5)
|
||||||
|
}
|
||||||
|
readonly property QtObject lock: QtObject {
|
||||||
|
property color background: root.composed("lock.background", "lock.background-alpha", root.background, 0.8)
|
||||||
|
property color text: root.pick("lock.text", root.foreground)
|
||||||
|
property color textError: root.pick("lock.text-error", root.urgent)
|
||||||
|
property color border: root.composed("lock.border", "lock.border-alpha", root.foreground, 1.0)
|
||||||
|
property color borderActive: root.composed("lock.border-active", "lock.border-alpha", root.accent, 1.0)
|
||||||
|
property color borderError: root.composed("lock.border-error", "lock.border-alpha", root.urgent, 1.0)
|
||||||
|
property color selection: root.composed("lock.selection", "lock.selection-alpha", root.accent, 0.45)
|
||||||
|
}
|
||||||
readonly property QtObject imagePicker: QtObject {
|
readonly property QtObject imagePicker: QtObject {
|
||||||
// Defaults reflect what the picker hard-coded before alphas were
|
// The picker has no separate card; `scrim` is the full-screen dim
|
||||||
// themable: scrim background at 0.5, unselected carousel borders at
|
// wash, `background` is the palette color used for per-slice dim
|
||||||
// 0.28, selected border fully opaque.
|
// overlays and text outlines on top of the scrim.
|
||||||
property color background: root.composed("image-picker.background", "image-picker.background-alpha", root.background, 0.5)
|
property color background: root.composed("image-picker.background", "image-picker.background-alpha", root.background, 1.0)
|
||||||
|
property color scrim: root.composed("image-picker.scrim", "image-picker.scrim-alpha", root.background, 0.5)
|
||||||
property color text: root.pick("image-picker.text", root.foreground)
|
property color text: root.pick("image-picker.text", root.foreground)
|
||||||
property color selectedBorder: root.composed("image-picker.selected-border", "image-picker.selected-border-alpha", root.accent, 1.0)
|
property color selectedBorder: root.composed("image-picker.selected-border", "image-picker.selected-border-alpha", root.accent, 1.0)
|
||||||
property color unselectedBorder: root.composed("image-picker.unselected-border", "image-picker.unselected-border-alpha", root.foreground, 0.28)
|
property color unselectedBorder: root.composed("image-picker.unselected-border", "image-picker.unselected-border-alpha", root.foreground, 0.28)
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ Item {
|
|||||||
property color background: Color.appLauncher.background
|
property color background: Color.appLauncher.background
|
||||||
property color foreground: Color.appLauncher.text
|
property color foreground: Color.appLauncher.text
|
||||||
property color border: Color.appLauncher.border
|
property color border: Color.appLauncher.border
|
||||||
|
property color scrim: Color.appLauncher.scrim
|
||||||
property color selectedBackground: Color.appLauncher.selectedBackground
|
property color selectedBackground: Color.appLauncher.selectedBackground
|
||||||
property color selectedText: Color.appLauncher.selectedText
|
property color selectedText: Color.appLauncher.selectedText
|
||||||
property color selectedBorder: Color.appLauncher.selectedBorder
|
property color selectedBorder: Color.appLauncher.selectedBorder
|
||||||
@@ -336,7 +337,7 @@ Item {
|
|||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: root.withAlpha(root.background, 0.5)
|
color: root.scrim
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
|
|||||||
@@ -16,10 +16,16 @@ Item {
|
|||||||
|
|
||||||
property string historyPath: Quickshell.env("HOME") + "/.local/state/omarchy/clipboard-history.json"
|
property string historyPath: Quickshell.env("HOME") + "/.local/state/omarchy/clipboard-history.json"
|
||||||
property string captureScript: root.omarchyPath + "/shell/scripts/clipboard-capture.sh"
|
property string captureScript: root.omarchyPath + "/shell/scripts/clipboard-capture.sh"
|
||||||
property color accent: Color.menu.selected
|
// Shares the [menu] surface tokens — themes that style the menu also
|
||||||
|
// style the clipboard picker. Selected-row colors composed in the
|
||||||
|
// singleton so consumers drop them straight into Rectangle bindings.
|
||||||
property color background: Color.menu.background
|
property color background: Color.menu.background
|
||||||
property color foreground: Color.menu.text
|
property color foreground: Color.menu.text
|
||||||
property color border: foreground
|
property color border: Color.menu.border
|
||||||
|
property color scrim: Color.menu.scrim
|
||||||
|
property color selectedBackground: Color.menu.selectedBackground
|
||||||
|
property color selectedText: Color.menu.selectedText
|
||||||
|
property color selectedBorder: Color.menu.selectedBorder
|
||||||
readonly property int cornerRadius: Style.cornerRadius
|
readonly property int cornerRadius: Style.cornerRadius
|
||||||
property string fontFamily: Quickshell.env("OMARCHY_MENU_FONT") || "monospace"
|
property string fontFamily: Quickshell.env("OMARCHY_MENU_FONT") || "monospace"
|
||||||
property int contentMargin: Style.spacing.panelPadding
|
property int contentMargin: Style.spacing.panelPadding
|
||||||
@@ -254,7 +260,7 @@ Item {
|
|||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: root.withAlpha(root.background, 0.5)
|
color: root.scrim
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
@@ -365,9 +371,9 @@ Item {
|
|||||||
width: ListView.view.width
|
width: ListView.view.width
|
||||||
height: root.rowHeight
|
height: root.rowHeight
|
||||||
radius: root.cornerRadius
|
radius: root.cornerRadius
|
||||||
color: hasCursor ? Style.hoverFillFor(root.foreground, root.accent) : "transparent"
|
color: hasCursor ? root.selectedBackground : "transparent"
|
||||||
border.color: hasCursor ? Style.hoverBorderFor(root.foreground, root.accent) : "transparent"
|
border.color: hasCursor ? root.selectedBorder : "transparent"
|
||||||
border.width: hasCursor ? Style.hoverBorderWidth : 0
|
border.width: (hasCursor && root.selectedBorder.a > 0) ? Style.hoverBorderWidth : 0
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@@ -391,7 +397,7 @@ Item {
|
|||||||
width: parent.width - (parent.parent.entryType === "image" ? parent.height + parent.spacing : 0)
|
width: parent.width - (parent.parent.entryType === "image" ? parent.height + parent.spacing : 0)
|
||||||
height: parent.height
|
height: parent.height
|
||||||
text: parent.parent.previewText
|
text: parent.parent.previewText
|
||||||
color: parent.parent.hasCursor ? Style.hoverStateColor(root.foreground, root.accent) : root.foreground
|
color: parent.parent.hasCursor ? root.selectedText : root.foreground
|
||||||
font.family: root.fontFamily
|
font.family: root.fontFamily
|
||||||
font.pixelSize: Style.font.title
|
font.pixelSize: Style.font.title
|
||||||
font.italic: parent.parent.entryType === "image"
|
font.italic: parent.parent.entryType === "image"
|
||||||
@@ -462,7 +468,7 @@ Item {
|
|||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: ""
|
text: ""
|
||||||
color: root.accent
|
color: root.selectedText
|
||||||
opacity: 0.8
|
opacity: 0.8
|
||||||
font.family: root.fontFamily
|
font.family: root.fontFamily
|
||||||
font.pixelSize: Style.font.displayLarge
|
font.pixelSize: Style.font.displayLarge
|
||||||
|
|||||||
@@ -18,10 +18,16 @@ Item {
|
|||||||
property var emojis: []
|
property var emojis: []
|
||||||
property var filteredEmojis: []
|
property var filteredEmojis: []
|
||||||
|
|
||||||
property color accent: Color.menu.selected
|
// Shares the [menu] surface tokens — themes that style the menu also
|
||||||
|
// style the emoji picker. Selected-cell colors composed in the
|
||||||
|
// singleton so consumers drop them straight into Rectangle bindings.
|
||||||
property color background: Color.menu.background
|
property color background: Color.menu.background
|
||||||
property color foreground: Color.menu.text
|
property color foreground: Color.menu.text
|
||||||
property color border: foreground
|
property color border: Color.menu.border
|
||||||
|
property color scrim: Color.menu.scrim
|
||||||
|
property color selectedBackground: Color.menu.selectedBackground
|
||||||
|
property color selectedText: Color.menu.selectedText
|
||||||
|
property color selectedBorder: Color.menu.selectedBorder
|
||||||
readonly property int cornerRadius: Style.cornerRadius
|
readonly property int cornerRadius: Style.cornerRadius
|
||||||
property string fontFamily: Quickshell.env("OMARCHY_MENU_FONT") || "monospace"
|
property string fontFamily: Quickshell.env("OMARCHY_MENU_FONT") || "monospace"
|
||||||
property int contentMargin: Style.spacing.panelPadding
|
property int contentMargin: Style.spacing.panelPadding
|
||||||
@@ -178,7 +184,7 @@ Item {
|
|||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: root.withAlpha(root.background, 0.5)
|
color: root.scrim
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
@@ -288,9 +294,9 @@ Item {
|
|||||||
width: root.cellWidth
|
width: root.cellWidth
|
||||||
height: root.cellHeight
|
height: root.cellHeight
|
||||||
radius: root.cornerRadius
|
radius: root.cornerRadius
|
||||||
color: hasCursor ? Style.hoverFillFor(root.foreground, root.accent) : "transparent"
|
color: hasCursor ? root.selectedBackground : "transparent"
|
||||||
border.color: hasCursor ? Style.hoverBorderFor(root.foreground, root.accent) : "transparent"
|
border.color: hasCursor ? root.selectedBorder : "transparent"
|
||||||
border.width: hasCursor ? Style.hoverBorderWidth : 0
|
border.width: (hasCursor && root.selectedBorder.a > 0) ? Style.hoverBorderWidth : 0
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: parent.emoji
|
text: parent.emoji
|
||||||
@@ -326,7 +332,7 @@ Item {
|
|||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: ""
|
text: ""
|
||||||
color: root.accent
|
color: root.selectedText
|
||||||
opacity: 0.8
|
opacity: 0.8
|
||||||
font.family: root.fontFamily
|
font.family: root.fontFamily
|
||||||
font.pixelSize: Style.font.displayLarge
|
font.pixelSize: Style.font.displayLarge
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ Item {
|
|||||||
// Bound to the central [image-picker] section in shell.toml via Color.qml.
|
// Bound to the central [image-picker] section in shell.toml via Color.qml.
|
||||||
property color background: Color.imagePicker.background
|
property color background: Color.imagePicker.background
|
||||||
property color foreground: Color.imagePicker.text
|
property color foreground: Color.imagePicker.text
|
||||||
|
property color scrim: Color.imagePicker.scrim
|
||||||
property color selectedBorder: Color.imagePicker.selectedBorder
|
property color selectedBorder: Color.imagePicker.selectedBorder
|
||||||
property color unselectedBorder: Color.imagePicker.unselectedBorder
|
property color unselectedBorder: Color.imagePicker.unselectedBorder
|
||||||
property int expandedWidth: 768
|
property int expandedWidth: 768
|
||||||
@@ -440,7 +441,7 @@ Item {
|
|||||||
Rectangle {
|
Rectangle {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
visible: root.opened && root.imagesLoaded
|
visible: root.opened && root.imagesLoaded
|
||||||
color: root.background
|
color: root.scrim
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
|
|||||||
@@ -87,8 +87,8 @@ Item {
|
|||||||
width: root.fieldWidth
|
width: root.fieldWidth
|
||||||
height: root.fieldHeight
|
height: root.fieldHeight
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
color: root.withAlpha(Color.background, 0.8)
|
color: Color.lock.background
|
||||||
border.color: root.failureMessage.length > 0 ? Color.urgent : (root.authenticatingPassword ? Color.accent : Color.foreground)
|
border.color: root.failureMessage.length > 0 ? Color.lock.borderError : (root.authenticatingPassword ? Color.lock.borderActive : Color.lock.border)
|
||||||
border.width: root.outlineThickness
|
border.width: root.outlineThickness
|
||||||
radius: Style.cornerRadius
|
radius: Style.cornerRadius
|
||||||
clip: true
|
clip: true
|
||||||
@@ -107,9 +107,9 @@ Item {
|
|||||||
echoMode: TextInput.Password
|
echoMode: TextInput.Password
|
||||||
passwordCharacter: "\u2022"
|
passwordCharacter: "\u2022"
|
||||||
passwordMaskDelay: 0
|
passwordMaskDelay: 0
|
||||||
color: Color.foreground
|
color: Color.lock.text
|
||||||
selectionColor: root.withAlpha(Color.accent, 0.45)
|
selectionColor: Color.lock.selection
|
||||||
selectedTextColor: Color.foreground
|
selectedTextColor: Color.lock.text
|
||||||
font.family: "monospace"
|
font.family: "monospace"
|
||||||
font.pixelSize: root.fieldFontSize
|
font.pixelSize: root.fieldFontSize
|
||||||
cursorVisible: activeFocus && !root.authenticatingPassword && root.hasTyped
|
cursorVisible: activeFocus && !root.authenticatingPassword && root.hasTyped
|
||||||
@@ -139,7 +139,7 @@ Item {
|
|||||||
anchors.fill: passwordInput
|
anchors.fill: passwordInput
|
||||||
text: root.failureMessage.length > 0 ? root.failureMessage : root.placeholderText
|
text: root.failureMessage.length > 0 ? root.failureMessage : root.placeholderText
|
||||||
visible: passwordInput.text.length === 0
|
visible: passwordInput.text.length === 0
|
||||||
color: root.failureMessage.length > 0 ? Color.urgent : Color.foreground
|
color: root.failureMessage.length > 0 ? Color.lock.textError : Color.lock.text
|
||||||
font.family: "monospace"
|
font.family: "monospace"
|
||||||
font.pixelSize: root.fieldFontSize
|
font.pixelSize: root.fieldFontSize
|
||||||
font.italic: root.failureMessage.length > 0
|
font.italic: root.failureMessage.length > 0
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ Item {
|
|||||||
property color background: Color.menu.background
|
property color background: Color.menu.background
|
||||||
property color foreground: Color.menu.text
|
property color foreground: Color.menu.text
|
||||||
property color border: Color.menu.border
|
property color border: Color.menu.border
|
||||||
|
property color scrim: Color.menu.scrim
|
||||||
property color selectedBackground: Color.menu.selectedBackground
|
property color selectedBackground: Color.menu.selectedBackground
|
||||||
property color selectedText: Color.menu.selectedText
|
property color selectedText: Color.menu.selectedText
|
||||||
property color selectedBorder: Color.menu.selectedBorder
|
property color selectedBorder: Color.menu.selectedBorder
|
||||||
@@ -942,7 +943,7 @@ Item {
|
|||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: root.withAlpha(root.background, 0.5)
|
color: root.scrim
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
@@ -1194,7 +1195,7 @@ Item {
|
|||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: ""
|
text: ""
|
||||||
color: root.selectedBackground
|
color: root.selectedText
|
||||||
opacity: 0.8
|
opacity: 0.8
|
||||||
font.family: root.fontFamily
|
font.family: root.fontFamily
|
||||||
font.pixelSize: Style.font.displayLarge
|
font.pixelSize: Style.font.displayLarge
|
||||||
|
|||||||
@@ -9,10 +9,13 @@ Item {
|
|||||||
id: root
|
id: root
|
||||||
|
|
||||||
property string fontFamily: Quickshell.env("OMARCHY_MENU_FONT") || "monospace"
|
property string fontFamily: Quickshell.env("OMARCHY_MENU_FONT") || "monospace"
|
||||||
property color accent: Color.accent
|
// Bound to the central [polkit] section in shell.toml via Color.qml.
|
||||||
property color background: Color.menu.background
|
property color accent: Color.polkit.accent
|
||||||
property color foreground: Color.menu.text
|
property color background: Color.polkit.background
|
||||||
property color border: foreground
|
property color foreground: Color.polkit.text
|
||||||
|
property color border: Color.polkit.border
|
||||||
|
property color borderError: Color.polkit.borderError
|
||||||
|
property color scrim: Color.polkit.scrim
|
||||||
readonly property int cornerRadius: Style.cornerRadius
|
readonly property int cornerRadius: Style.cornerRadius
|
||||||
property int contentMargin: Style.spacing.panelPadding
|
property int contentMargin: Style.spacing.panelPadding
|
||||||
property int fieldHeight: Math.max(Style.space(42), Style.spacing.controlHeight)
|
property int fieldHeight: Math.max(Style.space(42), Style.spacing.controlHeight)
|
||||||
@@ -212,7 +215,7 @@ Item {
|
|||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: root.withAlpha(root.background, 0.5)
|
color: root.scrim
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
@@ -228,7 +231,7 @@ Item {
|
|||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
anchors.horizontalCenterOffset: root.shakeOffset
|
anchors.horizontalCenterOffset: root.shakeOffset
|
||||||
color: root.background
|
color: root.background
|
||||||
border.color: root.accent
|
border.color: root.errorFlash ? root.borderError : root.border
|
||||||
border.width: Math.max(1, Style.space(2))
|
border.width: Math.max(1, Style.space(2))
|
||||||
|
|
||||||
MouseArea { anchors.fill: parent; onClicked: root.refocus() }
|
MouseArea { anchors.fill: parent; onClicked: root.refocus() }
|
||||||
@@ -258,7 +261,7 @@ Item {
|
|||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: "\uf023"
|
text: "\uf023"
|
||||||
color: root.errorFlash ? Color.urgent : root.accent
|
color: root.errorFlash ? Color.polkit.textError : root.accent
|
||||||
font.family: root.fontFamily
|
font.family: root.fontFamily
|
||||||
font.pixelSize: Style.font.iconLarge
|
font.pixelSize: Style.font.iconLarge
|
||||||
width: Style.space(26)
|
width: Style.space(26)
|
||||||
@@ -277,13 +280,13 @@ Item {
|
|||||||
verticalAlignment: TextInput.AlignVCenter
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
activeFocusOnPress: true
|
activeFocusOnPress: true
|
||||||
clip: true
|
clip: true
|
||||||
selectionColor: root.withAlpha(root.accent, 0.45)
|
selectionColor: Color.alpha(root.accent, 0.45)
|
||||||
selectedTextColor: root.foreground
|
selectedTextColor: root.foreground
|
||||||
font.family: root.fontFamily
|
font.family: root.fontFamily
|
||||||
font.pixelSize: Style.font.iconLarge
|
font.pixelSize: Style.font.iconLarge
|
||||||
echoMode: root.responseVisible ? TextInput.Normal : TextInput.Password
|
echoMode: root.responseVisible ? TextInput.Normal : TextInput.Password
|
||||||
passwordCharacter: "\u2022"
|
passwordCharacter: "\u2022"
|
||||||
color: root.errorFlash ? Color.urgent : root.foreground
|
color: root.errorFlash ? Color.polkit.textError : root.foreground
|
||||||
cursorVisible: activeFocus && !root.submitted && !root.errorFlash
|
cursorVisible: activeFocus && !root.submitted && !root.errorFlash
|
||||||
readOnly: root.submitted || root.errorFlash
|
readOnly: root.submitted || root.errorFlash
|
||||||
enabled: root.dialogVisible && !root.fingerprintWaiting
|
enabled: root.dialogVisible && !root.fingerprintWaiting
|
||||||
@@ -302,7 +305,7 @@ Item {
|
|||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
text: root.errorFlash ? "Wrong" : (root.submitted ? "Checking..." : "Enter password")
|
text: root.errorFlash ? "Wrong" : (root.submitted ? "Checking..." : "Enter password")
|
||||||
color: root.errorFlash ? Color.urgent : root.foreground
|
color: root.errorFlash ? Color.polkit.textError : root.foreground
|
||||||
opacity: root.errorFlash ? 1 : 0.36
|
opacity: root.errorFlash ? 1 : 0.36
|
||||||
font.family: root.fontFamily
|
font.family: root.fontFamily
|
||||||
font.pixelSize: Style.font.iconLarge
|
font.pixelSize: Style.font.iconLarge
|
||||||
@@ -315,7 +318,7 @@ Item {
|
|||||||
height: Style.space(24)
|
height: Style.space(24)
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
color: root.errorFlash ? Color.urgent : root.foreground
|
color: root.errorFlash ? Color.polkit.textError : root.foreground
|
||||||
visible: passwordInput.visible && passwordInput.activeFocus && passwordInput.text.length === 0 && !root.submitted && !root.errorFlash
|
visible: passwordInput.visible && passwordInput.activeFocus && passwordInput.text.length === 0 && !root.submitted && !root.errorFlash
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,8 +41,8 @@ Item {
|
|||||||
// ---------------- theme --------------------------------------------------
|
// ---------------- theme --------------------------------------------------
|
||||||
// Bar settings deliberately isn't a themable surface in shell.toml — it
|
// Bar settings deliberately isn't a themable surface in shell.toml — it
|
||||||
// tracks the foundational palette so every theme renders consistently.
|
// tracks the foundational palette so every theme renders consistently.
|
||||||
property color foreground: Color.foreground
|
property color foreground: Color.popups.text
|
||||||
property color background: Color.background
|
property color background: Color.popups.background
|
||||||
property color accent: Color.accent
|
property color accent: Color.accent
|
||||||
property color urgent: Color.urgent
|
property color urgent: Color.urgent
|
||||||
property string fontFamily: "monospace"
|
property string fontFamily: "monospace"
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ Item {
|
|||||||
property string label: ""
|
property string label: ""
|
||||||
property string value: ""
|
property string value: ""
|
||||||
property var options: []
|
property var options: []
|
||||||
property color foreground: Color.foreground
|
property color foreground: Color.popups.text
|
||||||
property color background: Color.background
|
property color background: Color.popups.background
|
||||||
property color accent: Color.accent
|
property color accent: Color.accent
|
||||||
property string fontFamily: Style.font.family
|
property string fontFamily: Style.font.family
|
||||||
property int cornerRadius: 0
|
property int cornerRadius: 0
|
||||||
|
|||||||
Reference in New Issue
Block a user