Use capitalized camel for all classes
This commit is contained in:
@@ -31,7 +31,7 @@ Item {
|
||||
property var fallbackBarConfig: ({
|
||||
position: "top",
|
||||
transparent: false,
|
||||
centerAnchor: "clock",
|
||||
centerAnchor: "Clock",
|
||||
layout: { left: [], center: [], right: [] }
|
||||
})
|
||||
property var layoutConfig: fallbackBarConfig.layout
|
||||
@@ -130,7 +130,7 @@ Item {
|
||||
var trayEntry = null
|
||||
var result = []
|
||||
for (var i = 0; i < entries.length; i++) {
|
||||
if (entryId(entries[i]) === "tray") trayEntry = entries[i]
|
||||
if (entryId(entries[i]) === "Tray") trayEntry = entries[i]
|
||||
else result.push(entries[i])
|
||||
}
|
||||
if (trayEntry) {
|
||||
@@ -205,10 +205,7 @@ Item {
|
||||
}
|
||||
|
||||
function canonicalWidgetId(name) {
|
||||
switch (String(name)) {
|
||||
case "weatherFlyout": return "weather"
|
||||
default: return String(name)
|
||||
}
|
||||
return String(name)
|
||||
}
|
||||
|
||||
function expandPath(path) {
|
||||
|
||||
@@ -6,26 +6,26 @@ QtObject {
|
||||
required property var barWidgetRegistry
|
||||
|
||||
readonly property var metadata: ({
|
||||
"omarchy": { displayName: "Omarchy menu", description: "Launches the Omarchy menu", category: "Compositor", allowMultiple: false },
|
||||
"workspaces": { displayName: "Workspaces", description: "Workspace number indicators", category: "Compositor", allowMultiple: false },
|
||||
"media": { displayName: "Media", description: "MPRIS now-playing with playback controls", category: "Media", allowMultiple: false },
|
||||
"audioPanel": { displayName: "Audio", description: "Volume slider, output picker, per-app mixer", category: "Audio", allowMultiple: false, sourceDir: "../panels", sourceName: "Audio" },
|
||||
"monitorPanel": { displayName: "Display", description: "Brightness slider and laptop display controls", category: "System", allowMultiple: false, sourceDir: "../panels", sourceName: "Monitor" },
|
||||
"networkPanel": { displayName: "Network", description: "Wi-Fi list and connection state", category: "Network", allowMultiple: false, sourceDir: "../panels", sourceName: "Network" },
|
||||
"powerPanel": { displayName: "Power", description: "Battery, power profile, and system stats", category: "System", allowMultiple: false, sourceDir: "../panels", sourceName: "Power" },
|
||||
"bluetoothPanel": { displayName: "Bluetooth", description: "Bluetooth device list with connect/disconnect", category: "Network", allowMultiple: false, sourceDir: "../panels", sourceName: "Bluetooth" },
|
||||
"clock": { displayName: "Clock", description: "Day/time label; click to toggle alternate format", category: "Time", allowMultiple: false, settingsForm: "clockSettings" },
|
||||
"indicators": { displayName: "Indicators", description: "Manual state indicators", category: "Status", allowMultiple: false },
|
||||
"notificationCenter": { displayName: "Notification center", description: "Recent notifications + DND", category: "Status", allowMultiple: false },
|
||||
"systemUpdate": { displayName: "System update", description: "Indicates available system updates", category: "System", allowMultiple: false },
|
||||
"systemStats": { displayName: "System stats", description: "CPU icon — hover for graphs, click to open btop", category: "System", allowMultiple: false },
|
||||
"tray": { displayName: "System tray", description: "Status notifier items", category: "Status", allowMultiple: false },
|
||||
"weather": { displayName: "Weather", description: "Weather pill with detail popup", category: "Info", allowMultiple: false, settingsForm: "weatherSettings" },
|
||||
"microphone": { displayName: "Microphone", description: "Mic input state and mute toggle", category: "Audio", allowMultiple: false },
|
||||
"activeWindow": { displayName: "Active window", description: "Title of the focused window", category: "Compositor", allowMultiple: false },
|
||||
"keyboardLayout": { displayName: "Keyboard layout", description: "Current xkb layout, click cycles", category: "Compositor", allowMultiple: false },
|
||||
"lockKeys": { displayName: "Lock keys", description: "Caps / Num / Scroll lock indicators", category: "System", allowMultiple: false },
|
||||
"spacer": { displayName: "Spacer", description: "Configurable blank space", category: "Layout", allowMultiple: true, settingsForm: "spacerSettings" }
|
||||
"Omarchy": { displayName: "Omarchy menu", description: "Launches the Omarchy menu", category: "Compositor", allowMultiple: false },
|
||||
"Workspaces": { displayName: "Workspaces", description: "Workspace number indicators", category: "Compositor", allowMultiple: false },
|
||||
"Media": { displayName: "Media", description: "MPRIS now-playing with playback controls", category: "Media", allowMultiple: false },
|
||||
"AudioPanel": { displayName: "Audio", description: "Volume slider, output picker, per-app mixer", category: "Audio", allowMultiple: false, sourceDir: "../panels", sourceName: "Audio" },
|
||||
"MonitorPanel": { displayName: "Display", description: "Brightness slider and laptop display controls", category: "System", allowMultiple: false, sourceDir: "../panels", sourceName: "Monitor" },
|
||||
"NetworkPanel": { displayName: "Network", description: "Wi-Fi list and connection state", category: "Network", allowMultiple: false, sourceDir: "../panels", sourceName: "Network" },
|
||||
"PowerPanel": { displayName: "Power", description: "Battery, power profile, and system stats", category: "System", allowMultiple: false, sourceDir: "../panels", sourceName: "Power" },
|
||||
"BluetoothPanel": { displayName: "Bluetooth", description: "Bluetooth device list with connect/disconnect", category: "Network", allowMultiple: false, sourceDir: "../panels", sourceName: "Bluetooth" },
|
||||
"Clock": { displayName: "Clock", description: "Day/time label; click to toggle alternate format", category: "Time", allowMultiple: false, settingsForm: "clockSettings" },
|
||||
"Indicators": { displayName: "Indicators", description: "Manual state indicators", category: "Status", allowMultiple: false },
|
||||
"NotificationCenter": { displayName: "Notification center", description: "Recent notifications + DND", category: "Status", allowMultiple: false },
|
||||
"SystemUpdate": { displayName: "System update", description: "Indicates available system updates", category: "System", allowMultiple: false },
|
||||
"SystemStats": { displayName: "System stats", description: "CPU icon — hover for graphs, click to open btop", category: "System", allowMultiple: false },
|
||||
"Tray": { displayName: "System tray", description: "Status notifier items", category: "Status", allowMultiple: false },
|
||||
"Weather": { displayName: "Weather", description: "Weather pill with detail popup", category: "Info", allowMultiple: false, settingsForm: "weatherSettings" },
|
||||
"Microphone": { displayName: "Microphone", description: "Mic input state and mute toggle", category: "Audio", allowMultiple: false },
|
||||
"ActiveWindow": { displayName: "Active window", description: "Title of the focused window", category: "Compositor", allowMultiple: false },
|
||||
"KeyboardLayout": { displayName: "Keyboard layout", description: "Current xkb layout, click cycles", category: "Compositor", allowMultiple: false },
|
||||
"LockKeys": { displayName: "Lock keys", description: "Caps / Num / Scroll lock indicators", category: "System", allowMultiple: false },
|
||||
"Spacer": { displayName: "Spacer", description: "Configurable blank space", category: "Layout", allowMultiple: true, settingsForm: "spacerSettings" }
|
||||
})
|
||||
|
||||
property var registeredComponents: ({})
|
||||
|
||||
+27
-27
@@ -26,20 +26,20 @@ Example `shell.json` (bar subtree only shown):
|
||||
"bar": {
|
||||
"position": "top",
|
||||
"transparent": false,
|
||||
"centerAnchor": "clock",
|
||||
"centerAnchor": "Clock",
|
||||
"layout": {
|
||||
"left": [
|
||||
{ "id": "omarchy" },
|
||||
{ "id": "spacer", "size": 12 },
|
||||
{ "id": "workspaces" }
|
||||
{ "id": "Omarchy" },
|
||||
{ "id": "Spacer", "size": 12 },
|
||||
{ "id": "Workspaces" }
|
||||
],
|
||||
"center": [
|
||||
{ "id": "media" },
|
||||
{ "id": "clock", "format": "HH:mm" }
|
||||
{ "id": "Media" },
|
||||
{ "id": "Clock", "format": "HH:mm" }
|
||||
],
|
||||
"right": [
|
||||
{ "id": "audioPanel" },
|
||||
{ "id": "powerPanel" }
|
||||
{ "id": "AudioPanel" },
|
||||
{ "id": "PowerPanel" }
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -54,17 +54,17 @@ Example `shell.json` (bar subtree only shown):
|
||||
|
||||
| Name | What it does | Interactions |
|
||||
|---|---|---|
|
||||
| `omarchy` | Omarchy menu launcher | left = menu · right = terminal |
|
||||
| `workspaces` | Hyprland workspace switcher | left = focus workspace |
|
||||
| `clock` | Date/time label | left = alternate format · right = timezone selector |
|
||||
| `media` | MPRIS now-playing — scrolling track + artist, cover-art popup | left = play/pause · middle = next · scroll = prev/next · right = popup |
|
||||
| `indicators` | Manual state indicators | left = indicator action |
|
||||
| `notificationCenter` | Bell with badge + popup with recent notifications, DND toggle | left = popup · right = toggle DND |
|
||||
| `systemUpdate` | Available update indicator | left = update |
|
||||
| `systemStats` | Inline CPU + memory sparklines, popup with detail | left = popup · right = terminal |
|
||||
| `tray` | System tray | hover = reveal drawer · right on chevron = manage |
|
||||
| `weather` | Weather icon + popup with forecast | left = popup · right = full notification |
|
||||
| `microphone` | Mic icon + scroll volume | left = mute toggle · middle = audio panel · scroll = source volume |
|
||||
| `Omarchy` | Omarchy menu launcher | left = menu · right = terminal |
|
||||
| `Workspaces` | Hyprland workspace switcher | left = focus workspace |
|
||||
| `Clock` | Date/time label | left = alternate format · right = timezone selector |
|
||||
| `Media` | MPRIS now-playing — scrolling track + artist, cover-art popup | left = play/pause · middle = next · scroll = prev/next · right = popup |
|
||||
| `Indicators` | Manual state indicators | left = indicator action |
|
||||
| `NotificationCenter` | Bell with badge + popup with recent notifications, DND toggle | left = popup · right = toggle DND |
|
||||
| `SystemUpdate` | Available update indicator | left = update |
|
||||
| `SystemStats` | Inline CPU + memory sparklines, popup with detail | left = popup · right = terminal |
|
||||
| `Tray` | System tray | hover = reveal drawer · right on chevron = manage |
|
||||
| `Weather` | Weather icon + popup with forecast | left = popup · right = full notification |
|
||||
| `Microphone` | Mic icon + scroll volume | left = mute toggle · middle = audio panel · scroll = source volume |
|
||||
|
||||
### First-party panels (in `../panels/`)
|
||||
|
||||
@@ -76,7 +76,7 @@ Example `shell.json` (bar subtree only shown):
|
||||
| `panels.bluetooth` | Bluetooth icon + popup with device list, connect/disconnect, battery | left = popup · right = toggle radio · middle = bluetoothctl TUI |
|
||||
| `panels.monitor` | Brightness and laptop display controls | left = popup |
|
||||
|
||||
The `indicators` widget loads individual bar indicators from `indicators/`, ordered by its `items` array in `shell.json`. Rich panels such as `powerPanel`, `networkPanel`, and `audioPanel` live in `../panels/` above.
|
||||
The `Indicators` widget loads individual bar indicators from `indicators/`, ordered by its `items` array in `shell.json`. Rich panels such as `PowerPanel`, `NetworkPanel`, and `AudioPanel` live in `../panels/` above.
|
||||
|
||||
## Orientation
|
||||
|
||||
@@ -94,9 +94,9 @@ Command module:
|
||||
"bar": {
|
||||
"layout": {
|
||||
"right": [
|
||||
{ "id": "tray" },
|
||||
{ "id": "Tray" },
|
||||
{ "id": "vpn", "type": "command", "exec": "~/.config/omarchy/bar/scripts/vpn-status", "interval": 5, "tooltip": "VPN", "onClick": "nm-connection-editor" },
|
||||
{ "id": "audioPanel" }
|
||||
{ "id": "AudioPanel" }
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -118,7 +118,7 @@ QML module:
|
||||
"layout": {
|
||||
"right": [
|
||||
{ "id": "gpu", "type": "qml" },
|
||||
{ "id": "audioPanel" }
|
||||
{ "id": "AudioPanel" }
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -169,10 +169,10 @@ Widgets receive `bar` (the shell root), `moduleName` (string), and `settings` (o
|
||||
- `bar.showTooltip(target, text)` / `bar.hideTooltip(target)` — shared tooltip popup
|
||||
- `bar.requestPopout(owner)` / `bar.releasePopout(owner)` — one-popup-at-a-time coordinator
|
||||
|
||||
First-party bar widgets live in `widgets/<name>.qml`; first-party panels
|
||||
live in `../panels/<name>.qml` and expose IPC targets such as
|
||||
`panels.audio`. The compatibility bar layout ids remain `audioPanel`,
|
||||
`networkPanel`, and so on, and are picked up by the shell's
|
||||
First-party bar widgets live in `widgets/<Name>.qml`; first-party panels
|
||||
live in `../panels/<Name>.qml` and expose IPC targets such as
|
||||
`panels.audio`. Bar layout ids use UpperCamelCase names such as `AudioPanel`,
|
||||
`NetworkPanel`, and so on, and are picked up by the shell's
|
||||
`BarWidgetRegistry` at startup; reference one by `id` in any layout list.
|
||||
|
||||
Third-party widgets ship as separate plugins under
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "activeWindow"
|
||||
moduleName: "ActiveWindow"
|
||||
|
||||
|
||||
readonly property var toplevel: ToplevelManager.activeToplevel
|
||||
@@ -5,7 +5,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "clock"
|
||||
moduleName: "Clock"
|
||||
|
||||
property bool alt: false
|
||||
|
||||
@@ -6,7 +6,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "indicators"
|
||||
moduleName: "Indicators"
|
||||
|
||||
readonly property int indicatorSlotExtent: Style.space(22)
|
||||
readonly property int inactiveSlotExtent: indicatorEntries.length * indicatorSlotExtent
|
||||
@@ -158,7 +158,7 @@ BarWidget {
|
||||
implicitHeight: root.vertical ? verticalIndicators.implicitHeight : horizontalIndicators.implicitHeight
|
||||
|
||||
IpcHandler {
|
||||
target: "indicators"
|
||||
target: "Indicators"
|
||||
|
||||
function refresh(): void {
|
||||
root.refreshRequested()
|
||||
+1
-1
@@ -7,7 +7,7 @@ import qs.Commons
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "keyboardLayout"
|
||||
moduleName: "KeyboardLayout"
|
||||
|
||||
|
||||
property string layoutLabel: ""
|
||||
@@ -6,7 +6,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "lockKeys"
|
||||
moduleName: "LockKeys"
|
||||
|
||||
|
||||
property bool capsOn: false
|
||||
@@ -6,7 +6,7 @@ import qs.Commons
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "media"
|
||||
moduleName: "Media"
|
||||
|
||||
|
||||
readonly property var players: Mpris.players ? Mpris.players.values : []
|
||||
@@ -5,7 +5,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "microphone"
|
||||
moduleName: "Microphone"
|
||||
|
||||
|
||||
readonly property var source: Pipewire.defaultAudioSource
|
||||
+1
-1
@@ -6,7 +6,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "notificationCenter"
|
||||
moduleName: "NotificationCenter"
|
||||
|
||||
|
||||
property bool popupOpen: false
|
||||
@@ -3,7 +3,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "omarchy"
|
||||
moduleName: "Omarchy"
|
||||
|
||||
implicitWidth: button.implicitWidth
|
||||
implicitHeight: button.implicitHeight
|
||||
@@ -3,7 +3,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "spacer"
|
||||
moduleName: "Spacer"
|
||||
|
||||
readonly property int span: settings && settings.size !== undefined ? Number(settings.size) : 12
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ import qs.Commons
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "systemStats"
|
||||
moduleName: "SystemStats"
|
||||
|
||||
|
||||
property real cpuPercent: 0
|
||||
+2
-2
@@ -6,7 +6,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "systemUpdate"
|
||||
moduleName: "SystemUpdate"
|
||||
|
||||
property bool updateAvailable: false
|
||||
|
||||
@@ -18,7 +18,7 @@ BarWidget {
|
||||
implicitHeight: button.implicitHeight
|
||||
|
||||
IpcHandler {
|
||||
target: "systemUpdate"
|
||||
target: "SystemUpdate"
|
||||
|
||||
function refresh(): void {
|
||||
root.refresh()
|
||||
@@ -6,7 +6,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "tray"
|
||||
moduleName: "Tray"
|
||||
|
||||
property bool expanded: false
|
||||
property bool managePopupOpen: false
|
||||
@@ -67,7 +67,7 @@ BarWidget {
|
||||
|
||||
function persistTrayState(pinned, hidden) {
|
||||
if (!root.bar || !root.bar.shell || typeof root.bar.shell.updateEntryInline !== "function") return
|
||||
root.bar.shell.updateEntryInline("tray", { id: "tray", pinned: pinned, hidden: hidden })
|
||||
root.bar.shell.updateEntryInline("Tray", { id: "Tray", pinned: pinned, hidden: hidden })
|
||||
}
|
||||
|
||||
function togglePin(iid) {
|
||||
@@ -4,7 +4,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "weather"
|
||||
moduleName: "Weather"
|
||||
|
||||
function injectPanel() {
|
||||
var target = panelLoader.item
|
||||
@@ -32,7 +32,7 @@ BarWidget {
|
||||
Loader {
|
||||
id: panelLoader
|
||||
active: true
|
||||
source: Qt.resolvedUrl("../../panels/weather.qml")
|
||||
source: Qt.resolvedUrl("../../panels/Weather.qml")
|
||||
visible: false
|
||||
onLoaded: {
|
||||
root.injectPanel()
|
||||
@@ -6,7 +6,7 @@ import qs.Ui
|
||||
|
||||
BarWidget {
|
||||
id: root
|
||||
moduleName: "workspaces"
|
||||
moduleName: "Workspaces"
|
||||
|
||||
function workspaceById(id) {
|
||||
var values = Hyprland.workspaces.values
|
||||
@@ -105,7 +105,7 @@ Item {
|
||||
property string choiceDemoValue: "top"
|
||||
property bool toggleDemoOn: true
|
||||
property bool toggleSquareOn: false
|
||||
property string dropdownDemoValue: "clock"
|
||||
property string dropdownDemoValue: "Clock"
|
||||
property string searchableDemoValue: ""
|
||||
property int numberDemoValue: 15
|
||||
|
||||
@@ -1523,7 +1523,7 @@ Item {
|
||||
width: Style.spacing.dropdownWidth
|
||||
label: "Center anchor"
|
||||
fontFamily: root.fontFamily
|
||||
options: ["clock", "weather", "powerPanel"]
|
||||
options: ["Clock", "Weather", "PowerPanel"]
|
||||
value: root.dropdownDemoValue
|
||||
hasCursor: root.focusSection === "dropdown" && root.selectedIndex === 0
|
||||
onHovered: function(h) {
|
||||
@@ -1586,15 +1586,15 @@ Item {
|
||||
}
|
||||
onHasCursorChanged: if (hasCursor) root.ensureCursorVisible(this)
|
||||
options: [
|
||||
{ value: "clock", label: "Clock", description: "Time + date display" },
|
||||
{ value: "weather", label: "Weather", description: "Local conditions and forecast" },
|
||||
{ value: "powerPanel", label: "Power", description: "Charge level + power profile" },
|
||||
{ value: "Clock", label: "Clock", description: "Time + date display" },
|
||||
{ value: "Weather", label: "Weather", description: "Local conditions and forecast" },
|
||||
{ value: "PowerPanel", label: "Power", description: "Charge level + power profile" },
|
||||
{ value: "audio", label: "Audio", description: "Output sink + volume" },
|
||||
{ value: "network", label: "Network", description: "Wi-Fi + ethernet status" },
|
||||
{ value: "bluetooth", label: "Bluetooth", description: "Paired and nearby devices" },
|
||||
{ value: "monitor", label: "Monitor", description: "Brightness + scale" },
|
||||
{ value: "media", label: "Media", description: "Now-playing + transport" },
|
||||
{ value: "workspaces", label: "Workspaces", description: "Hyprland workspace pills" },
|
||||
{ value: "Media", label: "Media", description: "Now-playing + transport" },
|
||||
{ value: "Workspaces", label: "Workspaces", description: "Hyprland workspace pills" },
|
||||
{ value: "system-tray", label: "System tray", description: "StatusNotifierItem icons" },
|
||||
{ value: "omarchy-menu", label: "Omarchy menu", description: "Launcher / system menu" },
|
||||
{ value: "power-profiles", label: "Power profiles", description: "Performance / balanced / saver" },
|
||||
|
||||
@@ -9,7 +9,7 @@ import qs.Commons
|
||||
|
||||
Panel {
|
||||
id: root
|
||||
moduleName: "audioPanel"
|
||||
moduleName: "AudioPanel"
|
||||
ipcTarget: "panels.audio"
|
||||
|
||||
readonly property var sink: Pipewire.defaultAudioSink
|
||||
|
||||
@@ -8,7 +8,7 @@ import qs.Commons
|
||||
|
||||
Panel {
|
||||
id: root
|
||||
moduleName: "bluetoothPanel"
|
||||
moduleName: "BluetoothPanel"
|
||||
ipcTarget: "panels.bluetooth"
|
||||
|
||||
// Address -> true while we are waiting for a click-initiated pair to land
|
||||
|
||||
@@ -7,7 +7,7 @@ import qs.Commons
|
||||
|
||||
Panel {
|
||||
id: root
|
||||
moduleName: "monitorPanel"
|
||||
moduleName: "MonitorPanel"
|
||||
ipcTarget: "panels.monitor"
|
||||
manageIpc: false
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import qs.Commons
|
||||
|
||||
Panel {
|
||||
id: root
|
||||
moduleName: "networkPanel"
|
||||
moduleName: "NetworkPanel"
|
||||
ipcTarget: "panels.network"
|
||||
|
||||
// Centralized close so callers can't forget to drop the passphrase prompt.
|
||||
|
||||
@@ -7,7 +7,7 @@ import qs.Ui
|
||||
|
||||
Panel {
|
||||
id: root
|
||||
moduleName: "powerPanel"
|
||||
moduleName: "PowerPanel"
|
||||
ipcTarget: "panels.power"
|
||||
property var batteryInfo: ({})
|
||||
property var systemInfo: ({})
|
||||
|
||||
@@ -6,8 +6,8 @@ import qs.Ui
|
||||
|
||||
Panel {
|
||||
id: root
|
||||
moduleName: "weatherPanel"
|
||||
ipcTarget: "weather"
|
||||
moduleName: "WeatherPanel"
|
||||
ipcTarget: "Weather"
|
||||
|
||||
property var anchorItem: null
|
||||
|
||||
@@ -22,7 +22,7 @@ Panel {
|
||||
}
|
||||
|
||||
IpcHandler {
|
||||
target: "weatherFlyout"
|
||||
target: "Weather"
|
||||
function show(): void { root.open() }
|
||||
function toggle(): void { root.toggle() }
|
||||
}
|
||||
@@ -128,16 +128,16 @@ Item {
|
||||
bar: {
|
||||
position: "top",
|
||||
transparent: false,
|
||||
centerAnchor: "clock",
|
||||
centerAnchor: "Clock",
|
||||
layout: {
|
||||
left: [{ id: "omarchy" }, { id: "workspaces" }],
|
||||
left: [{ id: "Omarchy" }, { id: "Workspaces" }],
|
||||
center: [
|
||||
{ id: "clock", format: "dddd HH:mm", formatAlt: "dd MMMM 'W'ww yyyy", verticalFormat: "HH\n\u2014\nmm" },
|
||||
{ id: "weather" }, { id: "indicators", items: [ "dnd", "nightlight", "stayAwake", "screenrecording", "dictation" ] }, { id: "systemUpdate" }
|
||||
{ id: "Clock", format: "dddd HH:mm", formatAlt: "dd MMMM 'W'ww yyyy", verticalFormat: "HH\n\u2014\nmm" },
|
||||
{ id: "Weather" }, { id: "Indicators", items: [ "Dnd", "NightLight", "StayAwake", "ScreenRecording", "Dictation" ] }, { id: "SystemUpdate" }
|
||||
],
|
||||
right: [
|
||||
{ id: "tray" }, { id: "bluetoothPanel" }, { id: "networkPanel" },
|
||||
{ id: "audioPanel" }, { id: "monitorPanel" }, { id: "powerPanel" }
|
||||
{ id: "Tray" }, { id: "BluetoothPanel" }, { id: "NetworkPanel" },
|
||||
{ id: "AudioPanel" }, { id: "MonitorPanel" }, { id: "PowerPanel" }
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -145,7 +145,7 @@ Item {
|
||||
})
|
||||
|
||||
property var defaultConfig: builtinShellConfig
|
||||
property var draft: ({ version: 1, bar: { position: "top", transparent: false, centerAnchor: "clock", layout: { left: [], center: [], right: [] } }, plugins: [] })
|
||||
property var draft: ({ version: 1, bar: { position: "top", transparent: false, centerAnchor: "Clock", layout: { left: [], center: [], right: [] } }, plugins: [] })
|
||||
property int draftRevision: 0
|
||||
property bool suppressReload: false
|
||||
|
||||
@@ -307,10 +307,7 @@ Item {
|
||||
}
|
||||
|
||||
function canonicalWidgetId(id) {
|
||||
switch (String(id || "")) {
|
||||
case "weatherFlyout": return "weather"
|
||||
default: return String(id || "")
|
||||
}
|
||||
return String(id || "")
|
||||
}
|
||||
|
||||
function widgetMetadata(id) {
|
||||
@@ -364,7 +361,7 @@ Item {
|
||||
function widgetAllowsMultiple(id) {
|
||||
var meta = widgetMetadata(id)
|
||||
if (meta.allowMultiple === true) return true
|
||||
return String(id) === "spacer"
|
||||
return String(id) === "Spacer"
|
||||
}
|
||||
|
||||
function catalogIds() {
|
||||
|
||||
Reference in New Issue
Block a user