Introduces a widgets/ directory of first-party QML modules and a common/ helpers library. Widgets auto-load by name from default/quickshell/bar/widgets/<name>.qml — no edits to shell.qml needed for additions beyond the firstPartyWidgets registry. New widgets (all orientation-aware, top/bottom/left/right): - media: MPRIS now-playing with scrolling label, cover art popup, play/pause/skip controls - audioPanel: master volume slider, output device picker, per-app mixer - networkPanel: Wi-Fi scan + connect, current connection details - bluetoothPanel: paired device list, connect/disconnect, battery - calendar: month grid popup keyed to today - notificationCenter: live notification feed, DND toggle, clear all - brightness: slider popup with scroll-to-adjust - powerProfile: power-saver/balanced/performance picker (UPower) - systemStats: inline CPU + RAM sparklines, expanded popup with btop - weatherFlyout: weather popup with refresh and full report - workspacesPro: animated focus indicator that slides between workspaces - powerMenu: lock/suspend/log out/reboot/shutdown popup - idleInhibitor: coffee-cup toggle wired to omarchy-toggle-idle - microphone: mic state + mute toggle + scroll volume Common helpers (default/quickshell/bar/common/): - WidgetButton: hover/press scale animation, tooltip integration - PopupCard: orientation-aware anchor + slide-in opacity transition - Slider: drag/wheel-able linear slider with knob hover bump - PillButton: rounded action button with icon + label Bar root gains requestPopout/releasePopout so only one popup is open at a time across widgets. Updates bar-defaults.json to ship the new widgets out of the box while keeping the legacy modules available.
23 lines
719 B
JSON
23 lines
719 B
JSON
{
|
|
"position": "top",
|
|
"fontFamily": "JetBrainsMono Nerd Font",
|
|
"centerAnchor": "calendar",
|
|
"layout": {
|
|
"left": ["omarchy", "workspacesPro"],
|
|
"center": ["media", "calendar", "weatherFlyout", "update", "voxtype", "screenRecording", "idle"],
|
|
"right": ["tray", "systemStats", "notificationCenter", "microphone", "bluetoothPanel", "networkPanel", "audioPanel", "brightness", "powerProfile", "battery", "powerMenu"]
|
|
},
|
|
"modules": {
|
|
"calendar": {
|
|
"format": "dddd HH:mm",
|
|
"formatAlt": "dd MMMM 'W'ww yyyy",
|
|
"verticalFormat": "HH\n—\nmm"
|
|
},
|
|
"clock": {
|
|
"format": "dddd HH:mm",
|
|
"formatAlt": "dd MMMM 'W'ww yyyy",
|
|
"verticalFormat": "HH\n—\nmm"
|
|
}
|
|
}
|
|
}
|