lock screen?

This commit is contained in:
Zacharias-Brohn
2025-12-05 01:25:50 +01:00
parent 1155486858
commit ab54178747
19 changed files with 574 additions and 6 deletions
+24
View File
@@ -0,0 +1,24 @@
# Agent Guidelines for z-bar-qt
## Build & Test
- **Build**: `cmake -B build -G Ninja && ninja -C build` (uses CMake + Ninja)
- **Install**: `sudo ninja -C build install` (installs to /usr/lib/qt6/qml)
- **No test suite**: Project has no automated tests currently
- **Update script**: `scripts/update.sh` (runs `yay -Sy`)
## Code Style - C++
- **Standard**: C++20 with strict warnings enabled (see CMakeLists.txt line 14-20)
- **Headers**: `#pragma once` for header guards
- **Types**: Use [[nodiscard]] for getters, explicit constructors, const correctness
- **Qt Integration**: QML_ELEMENT/QML_UNCREATABLE macros, Q_PROPERTY for QML exposure
- **Naming**: camelCase for methods/variables, m_ prefix for member variables
- **Includes**: Qt headers with lowercase (qobject.h, qqmlintegration.h)
- **Namespaces**: Use `namespace ZShell` for plugin code
## Code Style - QML
- **Pragma**: Start with `pragma ComponentBehavior: Bound` for type safety
- **Imports**: Qt modules first, then Quickshell, then local (qs.Modules, qs.Config, qs.Helpers)
- **Aliases**: Use `qs` prefix for local module imports
- **Properties**: Use `required property` for mandatory bindings
- **Types**: Explicit type annotations in JavaScript (`: void`, `: string`)
- **Structure**: Components in Components/, Modules in Modules/, Config singletons in Config/