Added a clear all notifications button and an AGENTS.md file for llms to
test their effectiveness
This commit is contained in:
23
AGENTS.md
Normal file
23
AGENTS.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Agent Guidance: Quickshell Project
|
||||
|
||||
## Core Architecture
|
||||
- **Type**: Quickshell/QML based UI.
|
||||
- **State Management**: Heavily reliant on QML Singletons for global state, configuration, and paths.
|
||||
- **Main Entry**: `shell.qml`.
|
||||
|
||||
## Key Singletons
|
||||
- `GlobalStates.qml`: Manages global UI visibility (e.g., `mediaControlsOpen`, `notificationPanelOpen`).
|
||||
- `common/Config.qml`: Manages JSON configuration and watches for file changes.
|
||||
- `common/Directories.qml`: Defines XDG and repository-specific file paths.
|
||||
- `common/Appearance.qml`: Handles theme, colors, and transparency.
|
||||
|
||||
## Component Structure
|
||||
- `bar/`: Top bar components.
|
||||
- `osd/`: On-screen display components.
|
||||
- `background/`: Background/Wallpaper components.
|
||||
- `common/`: Shared utility and singleton components.
|
||||
- `settings/`: Settings/Configuration components.
|
||||
- `settings.qml`: Settings view entry point.
|
||||
|
||||
## Development Workflow
|
||||
- *TBD*: Check for build/lint/test commands (e.g., `npm`, `make`, or direct `quickshell` execution).
|
||||
@@ -7,6 +7,12 @@ Singleton {
|
||||
readonly property list<Notification> notifications: server.trackedNotifications.values
|
||||
readonly property int amountNotifications: notifications.length
|
||||
|
||||
function dismissAll() {
|
||||
for (let i = notifications.length - 1; i >= 0; i--) {
|
||||
notifications[i].dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
NotificationServer {
|
||||
id: server
|
||||
actionsSupported: true
|
||||
|
||||
@@ -5,6 +5,7 @@ import Quickshell.Wayland
|
||||
import Quickshell.Services.Notifications
|
||||
import qs
|
||||
import qs.common
|
||||
import qs.common.widgets
|
||||
|
||||
Scope {
|
||||
id: root
|
||||
@@ -35,7 +36,6 @@ Scope {
|
||||
|
||||
implicitWidth: root.panelWidth
|
||||
|
||||
|
||||
anchors {
|
||||
top: true
|
||||
right: true
|
||||
@@ -63,11 +63,24 @@ Scope {
|
||||
onEntered: () => {
|
||||
hideTimer.stop();
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
id: notifs
|
||||
anchors.margins: 4
|
||||
Layout.fillWidth: true
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
visible: NotificationService.amountNotifications > 0
|
||||
|
||||
// Dismiss All Button
|
||||
RippleButton {
|
||||
buttonText: "Dismiss All"
|
||||
buttonTextColor: Appearance.m3colors.m3onTertiaryContainer
|
||||
colBackground: Appearance.m3colors.m3tertiaryContainer
|
||||
releaseAction: NotificationService.dismissAll
|
||||
buttonRadius: Appearance.rounding.unsharpenmore
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: NotificationService.notifications
|
||||
NotificationItem {
|
||||
|
||||
Reference in New Issue
Block a user