Files
DankMaterialShell/quickshell/Modules/Settings/Widgets/IslandNotificationsCard.qml
T
purian23 5623476126 feat(island): host the island as a widget in any bar configuration
- The island is now a bar widget so any bar can host one alongside the island layout and dot
- Routing got simpler: pick which shortcuts open here, the rest follow the shared rules
- IPC close/hide take down every surface showing the activity
- Qt 6.11 pointer prune workaround so the expanded island stays clickable
2026-09-27 02:02:30 -04:00

59 lines
2.8 KiB
QML

import QtQuick
import qs.Common
SettingsCard {
id: root
required property var store
property string keyPrefix: "island"
// A dot has no home layout editor, so its badge row must not follow the notifications group.
property bool badgeGated: true
iconName: "notifications"
title: I18n.tr("Notifications", "island settings: notifications card title")
settingKey: root.keyPrefix + "Notifications"
tags: ["island", "notifications", "popup", "badge", "expand", "osd"]
SettingsToggleRow {
settingKey: root.keyPrefix + "NotificationPopups"
tags: ["island", "notifications", "popup", "standard", "bar", "stack", "arrival"]
resetStore: root.store
resetKeys: ["islandNotificationPopups"]
text: I18n.tr("Use standard popups", "island settings: show arriving notifications as stacked popups instead of in the island")
description: I18n.tr("New notifications show as regular popups", "island standard popups toggle description")
checked: root.store.setting("islandNotificationPopups")
onToggled: checked => root.store.apply("islandNotificationPopups", checked)
}
SettingsToggleRow {
settingKey: root.keyPrefix + "SystemOsd"
tags: ["island", "volume", "brightness", "osd", "level", "standard"]
resetStore: root.store
resetKeys: ["islandSystemOsd"]
text: I18n.tr("Use standard OSDs", "island settings: show volume and brightness changes as the regular on-screen displays instead of in the island")
checked: !root.store.setting("islandSystemOsd")
onToggled: checked => root.store.apply("islandSystemOsd", !checked)
}
SettingsToggleRow {
settingKey: root.keyPrefix + "NotificationExpand"
tags: ["island", "notifications", "expand", "arrival", "size"]
resetStore: root.store
resetKeys: ["islandNotificationExpand"]
text: I18n.tr("Expand by default", "island settings: expanded notification toggle")
checked: root.store.setting("islandNotificationExpand")
onToggled: checked => root.store.apply("islandNotificationExpand", checked)
}
SettingsToggleRow {
settingKey: root.keyPrefix + "NotificationBadgeClearOnOpen"
tags: ["island", "home", "notifications", "badge", "unread", "clear", "dismiss", "open"]
resetStore: root.store
resetKeys: ["islandNotificationBadgeClearOnOpen"]
text: I18n.tr("Clear badge on open", "island settings: clear the notification badge when the center opens")
checked: root.store.setting("islandNotificationBadgeClearOnOpen")
enabled: !root.badgeGated || SettingsData.islandHomeGroupEnabled(root.store.config, "notifications")
onToggled: checked => root.store.apply("islandNotificationBadgeClearOnOpen", checked)
}
}