OmaPhoto 1.0.0: the Linux port of Compositor
Release / deb (push) Canceled after 0s
Release / rpm (push) Canceled after 0s
Release / arch (push) Canceled after 0s
Release / publish (push) Canceled after 0s

A layered image editor for Linux and Omarchy, ported from Compositor
(github.com/robbietilton/Compositor), whose Swift source is its
specification. It reads and writes Compositor's .comp projects.

Packages for Ubuntu, Fedora and Arch come from the release workflow;
scripts/install/ holds one install script per distribution family,
and flake.nix serves NixOS.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
雷电芽衣andClaude committed 2026-09-26 00:44:52 -04:00
commit c864304695
564 files changed
+100804

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
#pragma once
#include <QColor>
#include <QFileSystemWatcher>
#include <QObject>
#include <QPalette>
#include <QTimer>
// Omarchy's colors.toml, read into the colours the chrome uses.
struct OmarchyColors {
bool dark;
QColor accent;
QColor selection;
QColor muted;
QColor background;
QColor darkBackground;
QColor darkerBackground;
QColor lighterBackground;
QColor foreground;
QColor darkForeground;
QColor lightForeground;
QColor brightForeground;
QColor red;
// `orange` where the theme has it, else `yellow`.
QColor warning;
// Throws std::runtime_error naming the missing or malformed key.
static OmarchyColors parse(const QString &toml);
// The macOS look, for a desktop without Omarchy.
static OmarchyColors builtInDark();
QPalette palette() const;
friend bool operator==(const OmarchyColors &, const OmarchyColors &) = default;
};
// Applies the current theme to the application and follows switches.
class OmarchyTheme : public QObject {
Q_OBJECT
public:
static QString defaultDirectory();
explicit OmarchyTheme(const QString &directory = defaultDirectory(), QObject *parent = nullptr);
const OmarchyColors &colors() const { return m_colors; }
void apply();
private:
void watch();
const QString m_directory;
OmarchyColors m_colors;
QFileSystemWatcher m_watcher;
QTimer m_settle;
};