SuperAPI AI 工具集

omarchy-app

编程与开发

查看项目

更新于 10-16 02:37

技能介绍

用途:按 Omarchy 自带应用(Hype、Monologue、Omacut)的方式,从零构建一个新的 Omarchy 桌面应用。核心原则是单窗口、单一职责、键盘驱动、跟随桌面主题,并像普通软件包一样安装。

主要能力与结构:项目放在 ~/Work/<name> 并 git init,名称用小写短名,同时作为二进制、包、.desktop、图标和 Wayland app id。目录包含 <name>.pro、bin/build(qmake6 + make 输出到 build/<name>)、bin/test(离屏运行 Qt Test)、bin/install(makepkg -fsi)、src/main.cpp、src/backend.{h,cpp}、src/theme.{h,cpp}、src/Main.qml、src/resources.qrc、tests/ 与 pkgbuild/。src/ 保持扁平,不用 CMake,不提交构建产物。

分工:C++ 负责状态、文件、进程等可能失败的业务逻辑,以 QObject 暴露 Q_PROPERTY/NOTIFY 与 Q_INVOKABLE,通过 setContextProperty 交给 QML;QML 负责布局与交互,用 ApplicationWindow 和 Shortcut(context: Qt.ApplicationShortcut)。使用 QGuiApplication 并调用 app.setDesktopFileName("<name>")。采用 Material 深色主题与主题强调色。媒体处理通过 QProcess 调用 ffmpeg/ffprobe,不链接 libav。文件对话框走 xdg-desktop-portal 的 D-Bus 接口,不用 QFileDialog。

约定:实时读取 ~/.local/state/omarchy/current/theme/colors.toml 的强调色并监听变化,缺失时回退 #FFD60A,不修改 Omarchy 配置。键盘优先:? 显示快捷键,Q 退出(有未保存内容先询问),Space 为主操作,Ctrl+Z/Ctrl+Shift+Z 撤销重做。不修改用户原始文件,原子保存,丢弃前询问,错误在窗口内报告。

依赖:qmake6、make、C++ 编译器、Qt base/declarative/multimedia/SVG/Wayland 模块与 ffmpeg;缺失时用 omarchy-pkg-add base-devel qt6-base qt6-declarative qt6-multimedia qt6-svg qt6-wayland ffmpeg 安装。

流程:bin/build 后运行 build/<name> 测试;改后端后跑 bin/test;用 omarchy capture screenshot fullscreen save 截图核对主题;bin/install 打包安装,应用出现在启动器(Super + Space)。限制:资料未提供具体版本要求、许可细节与更多平台支持信息。