neiam
/neiam-devices
public · Issues · Pulls · Labels · Forks · Compare · Actions success · Badges · Packages
⭐
Log in to mark this repository.
moire: optional NEIAM wordmark in B612, depending on the font
6b49b43 · Gabriel Morell · 2026-09-29 20:49
Files changed
modified
README.md
+4
−0
@@ -65,6 +65,10 @@ latitude and longitude. Between phases it blends by the sun's
| 65 | 65 | elevation, turning the hue so the transitions pass through the purples |
| 66 | 66 | of a real twilight rather than grey. |
| 67 | 67 | |
| 68 | +A checkbox writes "NEIAM" in the bottom right corner, in the theme's | |
| 69 | +accent colour, in B612 at 12% of the screen height; the package pulls | |
| 70 | +in the font (`fonts-b612` / `firstyear-b612-fonts`). | |
| 71 | + | |
| 68 | 72 | Settings trade smoothness for power: frame rate (30 by default) and |
| 69 | 73 | speed, where 0 holds a still frame and costs nothing after drawing it. |
| 70 | 74 |
modified
moire/Cargo.toml
+5
−0
@@ -14,6 +14,8 @@ path = "src/lib.rs"
| 14 | 14 | # package ships only the compiled .qsb (see tools/shaders.sh). |
| 15 | 15 | [package.metadata.deb] |
| 16 | 16 | section = "misc" |
| 17 | +# B612 draws the NEIAM wordmark. | |
| 18 | +depends = "fonts-b612" | |
| 17 | 19 | assets = [ |
| 18 | 20 | ["theme/metadata.json", "usr/share/plasma/wallpapers/org.neiam.moire/", "644"], |
| 19 | 21 | ["theme/contents/config/*", "usr/share/plasma/wallpapers/org.neiam.moire/contents/config/", "644"], |
@@ -28,3 +30,6 @@ assets = [
| 28 | 30 | { source = "theme/contents/ui/*", dest = "/usr/share/plasma/wallpapers/org.neiam.moire/contents/ui/", mode = "0644" }, |
| 29 | 31 | { source = "../README.md", dest = "/usr/share/doc/plasma-wallpaper-neiam-moire/README.md", doc = true, mode = "0644" }, |
| 30 | 32 | ] |
| 33 | + | |
| 34 | +[package.metadata.generate-rpm.requires] | |
| 35 | +firstyear-b612-fonts = "*" |
modified
moire/theme/contents/config/main.xml
+4
−0
@@ -18,6 +18,10 @@
| 18 | 18 | <label>Frames per second while animating</label> |
| 19 | 19 | <default>30</default> |
| 20 | 20 | </entry> |
| 21 | + <entry name="Wordmark" type="Bool"> | |
| 22 | + <label>Write NEIAM in the bottom right corner</label> | |
| 23 | + <default>false</default> | |
| 24 | + </entry> | |
| 21 | 25 | |
| 22 | 26 | <entry name="ThemeMode" type="String"> |
| 23 | 27 | <label>static, or sun to follow the time of day</label> |
modified
moire/theme/contents/ui/Field.qml
+16
−0
@@ -16,6 +16,8 @@ Item {
| 16 | 16 | // Multiplies how fast everything drifts; 0 holds the picture still. |
| 17 | 17 | property real speed: 1 |
| 18 | 18 | property int frameRate: 30 |
| 19 | + // "NEIAM" in the bottom right, in the ink colour. | |
| 20 | + property bool wordmark: false | |
| 19 | 21 | |
| 20 | 22 | property color base: "#661e1e" |
| 21 | 23 | property color deep: "#470005" |
@@ -77,6 +79,20 @@ Item {
| 77 | 79 | property color tone: field.tone |
| 78 | 80 | } |
| 79 | 81 | |
| 82 | + // B612 comes from fonts-b612 / firstyear-b612-fonts, which the | |
| 83 | + // package depends on. | |
| 84 | + Text { | |
| 85 | + visible: field.wordmark | |
| 86 | + anchors { right: parent.right; bottom: parent.bottom; margins: field.height * 0.04 } | |
| 87 | + text: "NEIAM" | |
| 88 | + color: field.ink | |
| 89 | + font.family: "B612" | |
| 90 | + font.pixelSize: Math.max(1, Math.round(field.height * 0.12)) | |
| 91 | + // Sit the capitals, not the line box, on the margin. | |
| 92 | + anchors.bottomMargin: field.height * 0.04 - fontMetrics.descent | |
| 93 | + FontMetrics { id: fontMetrics; font.family: "B612"; font.pixelSize: Math.max(1, Math.round(field.height * 0.12)) } | |
| 94 | + } | |
| 95 | + | |
| 80 | 96 | Timer { |
| 81 | 97 | running: field.speed > 0 && field.visible |
| 82 | 98 | repeat: true |
modified
moire/theme/contents/ui/config.qml
+8
−0
@@ -14,6 +14,7 @@ Kirigami.FormLayout {
| 14 | 14 | property string cfg_Pattern |
| 15 | 15 | property double cfg_Speed |
| 16 | 16 | property int cfg_FrameRate |
| 17 | + property bool cfg_Wordmark | |
| 17 | 18 | property string cfg_ThemeMode |
| 18 | 19 | property string cfg_Theme |
| 19 | 20 | property string cfg_NightTheme |
@@ -84,6 +85,13 @@ Kirigami.FormLayout {
| 84 | 85 | enabled: root.cfg_Speed > 0 |
| 85 | 86 | } |
| 86 | 87 | |
| 88 | + QQC2.CheckBox { | |
| 89 | + Kirigami.FormData.label: "Wordmark:" | |
| 90 | + text: "Write NEIAM in the corner" | |
| 91 | + checked: root.cfg_Wordmark | |
| 92 | + onToggled: root.cfg_Wordmark = checked | |
| 93 | + } | |
| 94 | + | |
| 87 | 95 | // ------------------------------------------------------------- theme |
| 88 | 96 | |
| 89 | 97 | Item { Kirigami.FormData.isSection: true } |
modified
moire/theme/contents/ui/main.qml
+1
−0
@@ -31,6 +31,7 @@ WallpaperItem {
| 31 | 31 | pattern: root.cfg.Pattern |
| 32 | 32 | speed: root.cfg.Speed |
| 33 | 33 | frameRate: root.cfg.FrameRate |
| 34 | + wordmark: root.cfg.Wordmark | |
| 34 | 35 | base: root.scheme.base |
| 35 | 36 | deep: root.scheme.deep |
| 36 | 37 | ink: root.scheme.ink |
Parents: f629a67