mirror of
https://git.pumpin.online/funkpower/menologion.git
synced 2026-10-22 18:57:14 +00:00
The Horologion is the Book of Hours: the fixed portions of the services themselves. This shows the day's commemorations, its fast and its season, which is a Menologion. Naming it for a book whose contents it does not carry was a real error and worth the churn to correct. typikon already uses the word internally, for menologion.py and the data file it loads. That is not a collision: typikon provides a menologion, this displays one. Renamed throughout, not just the repo: the two scripts, the QML component and its three qmldir modules, MENOLOGION_COLORS, ~/.config/menologion/colors.json, the eww widgets and scss variables, the waybar class. Verified standalone and embedded in a foreign shell, and the smoke suite still passes. Also drops the em dashes from the prose.
64 lines
2.0 KiB
QML
64 lines
2.0 KiB
QML
//@ pragma UseQApplication
|
|
|
|
// A harness for taking the README screenshots: the real widget, on a plain
|
|
// backdrop, at a known position. Not part of the shell -- run it with
|
|
//
|
|
// SHOT_JURISDICTION=rocor SHOT_DATE=2027-01-07 quickshell -p quickshell/shot.qml
|
|
//
|
|
// It sits on the overlay layer at a fixed offset so a screen grab of that
|
|
// rectangle is always the widget and never whatever was behind it.
|
|
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
import Quickshell
|
|
import Quickshell.Wayland
|
|
import "."
|
|
import "modules"
|
|
import "services"
|
|
|
|
ShellRoot {
|
|
PanelWindow {
|
|
id: win
|
|
screen: Quickshell.screens[0]
|
|
|
|
WlrLayershell.layer: WlrLayer.Overlay
|
|
WlrLayershell.namespace: "menologion-shot"
|
|
exclusionMode: ExclusionMode.Ignore
|
|
color: "transparent"
|
|
|
|
anchors { top: true; left: true }
|
|
margins { top: 60; left: 60 }
|
|
|
|
// Fixed, so a screen grab of exactly this rectangle is exactly this
|
|
// window and never the desktop underneath it. The widget is shorter
|
|
// than this; the crop takes care of the difference.
|
|
implicitWidth: Config.width + 68
|
|
implicitHeight: 700
|
|
|
|
Rectangle {
|
|
anchors.fill: parent
|
|
gradient: Gradient {
|
|
GradientStop { position: 0.0; color: "#1b2016" }
|
|
GradientStop { position: 1.0; color: "#0e100c" }
|
|
}
|
|
|
|
ColumnLayout {
|
|
id: body
|
|
anchors.top: parent.top
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
anchors.topMargin: 34
|
|
width: Config.width
|
|
|
|
Menologion {
|
|
Component.onCompleted: {
|
|
const j = Quickshell.env("SHOT_JURISDICTION");
|
|
const d = Quickshell.env("SHOT_DATE");
|
|
if (j && j !== "") Typikon.jurisdiction = j;
|
|
if (d && d !== "") Typikon.forDate = d;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|