diff --git a/README.md b/README.md
new file mode 100644
index 0000000..88e7157
--- /dev/null
+++ b/README.md
@@ -0,0 +1,19 @@
+# Booru Clock
+
+
+A desktop clock with the booru's girls holding digits.
+
+Has the following implementation:
+* [Window Gadget](./win7gadget/)
+ * static images only
+ * flip-flopping is optional
+* [Rainmeter](./rainmeter/)
+ * animated images only
+ * no flip-flopping
+* [Plasmoid (KDE Plasma)](./plasmoid/)
+ * 4 girls themes
+ * flip-flopping is optional
+
+In all implementations, seconds are optional and opacity is customizable.
+
+Implementations are different due to the platform limitations and being created in very different years.
\ No newline at end of file
diff --git a/plaismoid-example.gif b/plaismoid-example.gif
new file mode 100644
index 0000000..4bcbcf5
Binary files /dev/null and b/plaismoid-example.gif differ
diff --git a/plaismoid-example.mp4 b/plaismoid-example.mp4
new file mode 100644
index 0000000..1d2cff2
Binary files /dev/null and b/plaismoid-example.mp4 differ
diff --git a/plasmoid/README.md b/plasmoid/README.md
new file mode 100644
index 0000000..12b6007
--- /dev/null
+++ b/plasmoid/README.md
@@ -0,0 +1,16 @@
+# KDE Plasmoid Booru Clock
+A plasmoid/gadget/applet with the booru's girls holding digits.
+
+Has the following settings:
+* Showing seconds
+* Disabling flip-flopping
+* Girls style (taken from [Moe-Counter](https://github.com/journey-ad/Moe-Counter)):
+ * asoul
+ * gelbooru
+ * moebooru
+ * rule34 (animated)
+* Opacity
+
+# Installation
+
+Install a Linux with KDE :D
\ No newline at end of file
diff --git a/plasmoid/package/contents/config/config.qml b/plasmoid/package/contents/config/config.qml
new file mode 100644
index 0000000..12223c3
--- /dev/null
+++ b/plasmoid/package/contents/config/config.qml
@@ -0,0 +1,11 @@
+import QtQuick 2.15
+
+import org.kde.plasma.configuration
+
+ConfigModel {
+ ConfigCategory {
+ name: i18nc("@title", "Apperance")
+ icon: "preference-desktop-colo"
+ source: "configAppearance.qml"
+ }
+}
\ No newline at end of file
diff --git a/plasmoid/package/contents/config/main.xml b/plasmoid/package/contents/config/main.xml
new file mode 100644
index 0000000..b4596c1
--- /dev/null
+++ b/plasmoid/package/contents/config/main.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ rule34
+
+
+ 1
+
+
+
\ No newline at end of file
diff --git a/plasmoid/package/contents/image/back.png b/plasmoid/package/contents/image/back.png
new file mode 100644
index 0000000..c7c69e1
Binary files /dev/null and b/plasmoid/package/contents/image/back.png differ
diff --git a/plasmoid/package/contents/image/digit/asoul/0.gif b/plasmoid/package/contents/image/digit/asoul/0.gif
new file mode 100644
index 0000000..e21dc4a
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/0.gif differ
diff --git a/plasmoid/package/contents/image/digit/asoul/1.gif b/plasmoid/package/contents/image/digit/asoul/1.gif
new file mode 100644
index 0000000..30d9ac7
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/1.gif differ
diff --git a/plasmoid/package/contents/image/digit/asoul/2.gif b/plasmoid/package/contents/image/digit/asoul/2.gif
new file mode 100644
index 0000000..2612718
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/2.gif differ
diff --git a/plasmoid/package/contents/image/digit/asoul/3.gif b/plasmoid/package/contents/image/digit/asoul/3.gif
new file mode 100644
index 0000000..f652832
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/3.gif differ
diff --git a/plasmoid/package/contents/image/digit/asoul/4.gif b/plasmoid/package/contents/image/digit/asoul/4.gif
new file mode 100644
index 0000000..294936a
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/4.gif differ
diff --git a/plasmoid/package/contents/image/digit/asoul/5.gif b/plasmoid/package/contents/image/digit/asoul/5.gif
new file mode 100644
index 0000000..bc989ed
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/5.gif differ
diff --git a/plasmoid/package/contents/image/digit/asoul/6.gif b/plasmoid/package/contents/image/digit/asoul/6.gif
new file mode 100644
index 0000000..0b97005
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/6.gif differ
diff --git a/plasmoid/package/contents/image/digit/asoul/7.gif b/plasmoid/package/contents/image/digit/asoul/7.gif
new file mode 100644
index 0000000..5df79c6
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/7.gif differ
diff --git a/plasmoid/package/contents/image/digit/asoul/8.gif b/plasmoid/package/contents/image/digit/asoul/8.gif
new file mode 100644
index 0000000..b03b7b1
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/8.gif differ
diff --git a/plasmoid/package/contents/image/digit/asoul/9.gif b/plasmoid/package/contents/image/digit/asoul/9.gif
new file mode 100644
index 0000000..81d87a3
Binary files /dev/null and b/plasmoid/package/contents/image/digit/asoul/9.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/0.gif b/plasmoid/package/contents/image/digit/gelbooru/0.gif
new file mode 100644
index 0000000..6c348e5
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/0.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/1.gif b/plasmoid/package/contents/image/digit/gelbooru/1.gif
new file mode 100644
index 0000000..1c33ee3
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/1.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/2.gif b/plasmoid/package/contents/image/digit/gelbooru/2.gif
new file mode 100644
index 0000000..e6df16c
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/2.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/3.gif b/plasmoid/package/contents/image/digit/gelbooru/3.gif
new file mode 100644
index 0000000..3ee1bcd
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/3.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/4.gif b/plasmoid/package/contents/image/digit/gelbooru/4.gif
new file mode 100644
index 0000000..aabf121
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/4.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/5.gif b/plasmoid/package/contents/image/digit/gelbooru/5.gif
new file mode 100644
index 0000000..46f4940
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/5.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/6.gif b/plasmoid/package/contents/image/digit/gelbooru/6.gif
new file mode 100644
index 0000000..cd316a0
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/6.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/7.gif b/plasmoid/package/contents/image/digit/gelbooru/7.gif
new file mode 100644
index 0000000..6019a72
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/7.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/8.gif b/plasmoid/package/contents/image/digit/gelbooru/8.gif
new file mode 100644
index 0000000..9baa78f
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/8.gif differ
diff --git a/plasmoid/package/contents/image/digit/gelbooru/9.gif b/plasmoid/package/contents/image/digit/gelbooru/9.gif
new file mode 100644
index 0000000..1e3f85f
Binary files /dev/null and b/plasmoid/package/contents/image/digit/gelbooru/9.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/0.gif b/plasmoid/package/contents/image/digit/moebooru/0.gif
new file mode 100644
index 0000000..385282d
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/0.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/1.gif b/plasmoid/package/contents/image/digit/moebooru/1.gif
new file mode 100644
index 0000000..183fabe
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/1.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/2.gif b/plasmoid/package/contents/image/digit/moebooru/2.gif
new file mode 100644
index 0000000..53459fb
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/2.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/3.gif b/plasmoid/package/contents/image/digit/moebooru/3.gif
new file mode 100644
index 0000000..ea0398f
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/3.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/4.gif b/plasmoid/package/contents/image/digit/moebooru/4.gif
new file mode 100644
index 0000000..fa0db17
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/4.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/5.gif b/plasmoid/package/contents/image/digit/moebooru/5.gif
new file mode 100644
index 0000000..348f202
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/5.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/6.gif b/plasmoid/package/contents/image/digit/moebooru/6.gif
new file mode 100644
index 0000000..a84ab8c
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/6.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/7.gif b/plasmoid/package/contents/image/digit/moebooru/7.gif
new file mode 100644
index 0000000..784e7d0
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/7.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/8.gif b/plasmoid/package/contents/image/digit/moebooru/8.gif
new file mode 100644
index 0000000..ffc3b4a
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/8.gif differ
diff --git a/plasmoid/package/contents/image/digit/moebooru/9.gif b/plasmoid/package/contents/image/digit/moebooru/9.gif
new file mode 100644
index 0000000..4b866c5
Binary files /dev/null and b/plasmoid/package/contents/image/digit/moebooru/9.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/0.gif b/plasmoid/package/contents/image/digit/rule34/0.gif
new file mode 100644
index 0000000..3512b00
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/0.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/1.gif b/plasmoid/package/contents/image/digit/rule34/1.gif
new file mode 100644
index 0000000..b292edd
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/1.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/2.gif b/plasmoid/package/contents/image/digit/rule34/2.gif
new file mode 100644
index 0000000..6d3a68a
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/2.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/3.gif b/plasmoid/package/contents/image/digit/rule34/3.gif
new file mode 100644
index 0000000..1b91cb3
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/3.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/4.gif b/plasmoid/package/contents/image/digit/rule34/4.gif
new file mode 100644
index 0000000..7dec2c2
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/4.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/5.gif b/plasmoid/package/contents/image/digit/rule34/5.gif
new file mode 100644
index 0000000..e89449d
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/5.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/6.gif b/plasmoid/package/contents/image/digit/rule34/6.gif
new file mode 100644
index 0000000..3869b82
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/6.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/7.gif b/plasmoid/package/contents/image/digit/rule34/7.gif
new file mode 100644
index 0000000..5b29513
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/7.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/8.gif b/plasmoid/package/contents/image/digit/rule34/8.gif
new file mode 100644
index 0000000..e75867a
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/8.gif differ
diff --git a/plasmoid/package/contents/image/digit/rule34/9.gif b/plasmoid/package/contents/image/digit/rule34/9.gif
new file mode 100644
index 0000000..1c59260
Binary files /dev/null and b/plasmoid/package/contents/image/digit/rule34/9.gif differ
diff --git a/plasmoid/package/contents/image/lower/0.png b/plasmoid/package/contents/image/lower/0.png
new file mode 100644
index 0000000..6626228
Binary files /dev/null and b/plasmoid/package/contents/image/lower/0.png differ
diff --git a/plasmoid/package/contents/image/lower/1.png b/plasmoid/package/contents/image/lower/1.png
new file mode 100644
index 0000000..e675a24
Binary files /dev/null and b/plasmoid/package/contents/image/lower/1.png differ
diff --git a/plasmoid/package/contents/image/lower/2.png b/plasmoid/package/contents/image/lower/2.png
new file mode 100644
index 0000000..8c57db0
Binary files /dev/null and b/plasmoid/package/contents/image/lower/2.png differ
diff --git a/plasmoid/package/contents/image/lower/3.png b/plasmoid/package/contents/image/lower/3.png
new file mode 100644
index 0000000..4a1903e
Binary files /dev/null and b/plasmoid/package/contents/image/lower/3.png differ
diff --git a/plasmoid/package/contents/image/lower/4.png b/plasmoid/package/contents/image/lower/4.png
new file mode 100644
index 0000000..e58e4c6
Binary files /dev/null and b/plasmoid/package/contents/image/lower/4.png differ
diff --git a/plasmoid/package/contents/image/lower/5.png b/plasmoid/package/contents/image/lower/5.png
new file mode 100644
index 0000000..6040f0f
Binary files /dev/null and b/plasmoid/package/contents/image/lower/5.png differ
diff --git a/plasmoid/package/contents/image/lower/6.png b/plasmoid/package/contents/image/lower/6.png
new file mode 100644
index 0000000..f670e87
Binary files /dev/null and b/plasmoid/package/contents/image/lower/6.png differ
diff --git a/plasmoid/package/contents/image/lower/7.png b/plasmoid/package/contents/image/lower/7.png
new file mode 100644
index 0000000..ac2d054
Binary files /dev/null and b/plasmoid/package/contents/image/lower/7.png differ
diff --git a/plasmoid/package/contents/image/lower/8.png b/plasmoid/package/contents/image/lower/8.png
new file mode 100644
index 0000000..36cb322
Binary files /dev/null and b/plasmoid/package/contents/image/lower/8.png differ
diff --git a/plasmoid/package/contents/image/lower/9.png b/plasmoid/package/contents/image/lower/9.png
new file mode 100644
index 0000000..7cf19d1
Binary files /dev/null and b/plasmoid/package/contents/image/lower/9.png differ
diff --git a/plasmoid/package/contents/image/upper/0.png b/plasmoid/package/contents/image/upper/0.png
new file mode 100644
index 0000000..664c026
Binary files /dev/null and b/plasmoid/package/contents/image/upper/0.png differ
diff --git a/plasmoid/package/contents/image/upper/1.png b/plasmoid/package/contents/image/upper/1.png
new file mode 100644
index 0000000..6d1608a
Binary files /dev/null and b/plasmoid/package/contents/image/upper/1.png differ
diff --git a/plasmoid/package/contents/image/upper/2.png b/plasmoid/package/contents/image/upper/2.png
new file mode 100644
index 0000000..40a509e
Binary files /dev/null and b/plasmoid/package/contents/image/upper/2.png differ
diff --git a/plasmoid/package/contents/image/upper/3.png b/plasmoid/package/contents/image/upper/3.png
new file mode 100644
index 0000000..3baf484
Binary files /dev/null and b/plasmoid/package/contents/image/upper/3.png differ
diff --git a/plasmoid/package/contents/image/upper/4.png b/plasmoid/package/contents/image/upper/4.png
new file mode 100644
index 0000000..40e5a11
Binary files /dev/null and b/plasmoid/package/contents/image/upper/4.png differ
diff --git a/plasmoid/package/contents/image/upper/5.png b/plasmoid/package/contents/image/upper/5.png
new file mode 100644
index 0000000..b9b74a0
Binary files /dev/null and b/plasmoid/package/contents/image/upper/5.png differ
diff --git a/plasmoid/package/contents/image/upper/6.png b/plasmoid/package/contents/image/upper/6.png
new file mode 100644
index 0000000..8ca8588
Binary files /dev/null and b/plasmoid/package/contents/image/upper/6.png differ
diff --git a/plasmoid/package/contents/image/upper/7.png b/plasmoid/package/contents/image/upper/7.png
new file mode 100644
index 0000000..f950575
Binary files /dev/null and b/plasmoid/package/contents/image/upper/7.png differ
diff --git a/plasmoid/package/contents/image/upper/8.png b/plasmoid/package/contents/image/upper/8.png
new file mode 100644
index 0000000..a8e2dc6
Binary files /dev/null and b/plasmoid/package/contents/image/upper/8.png differ
diff --git a/plasmoid/package/contents/image/upper/9.png b/plasmoid/package/contents/image/upper/9.png
new file mode 100644
index 0000000..031fe18
Binary files /dev/null and b/plasmoid/package/contents/image/upper/9.png differ
diff --git a/plasmoid/package/contents/ui/Digit.qml b/plasmoid/package/contents/ui/Digit.qml
new file mode 100644
index 0000000..01e34ef
--- /dev/null
+++ b/plasmoid/package/contents/ui/Digit.qml
@@ -0,0 +1,116 @@
+import QtQuick 2.15
+import org.kde.plasma.plasmoid
+
+Item {
+ id: container
+ property int digit
+ property real speed
+ property int prevDigit: digit
+ property real upperHeight: 0
+ property real lowerHeight: 0
+ property int duration: Plasmoid.configuration.doFlip ? 400 : 0
+ property string theme: Plasmoid.configuration.theme
+
+ Behavior on digit {
+ SequentialAnimation {
+ ScriptAction { script: lowerHeight = 0 }
+ NumberAnimation {
+ target: container
+ property: "upperHeight"
+ from: 0; to: 0.5
+ duration: container.duration/2
+ }
+ NumberAnimation {
+ target: container
+ property: "lowerHeight"
+ from: 0; to: 0.5
+ duration: container.duration/2
+ }
+ ScriptAction { script: prevDigit = digit }
+ }
+ }
+ // upper
+ Item {
+ anchors {
+ top: parent.top
+ left: parent.left
+ }
+ width: container.width
+ height: container.height * upperHeight
+ clip: true
+ AnimatedImage {
+ anchors {
+ top: parent.top
+ horizontalCenter: parent.horizontalCenter
+ }
+ width: container.width * 0.9
+ height: container.height
+ source: "../image/digit/"+theme+"/"+digit+".gif"
+ speed: container.speed
+ smooth: false
+ }
+ }
+ Item {
+ anchors {
+ top: parent.top
+ left: parent.left
+ topMargin: container.height * upperHeight
+ }
+ width: container.width
+ height: container.height * (0.5-upperHeight)
+ clip: true
+ AnimatedImage {
+ anchors {
+ top: parent.top
+ horizontalCenter: parent.horizontalCenter
+ }
+ width: container.width * 0.9
+ height: container.height * 2*(0.5-upperHeight)
+ source: "../image/digit/"+theme+"/"+prevDigit+".gif"
+ speed: container.speed
+ smooth: false
+ }
+ }
+ // bottom
+ Item {
+ anchors {
+ top: parent.top
+ left: parent.left
+ topMargin: parent.height/2
+ }
+ width: container.width
+ height: container.height * lowerHeight
+ clip: true
+ AnimatedImage {
+ anchors {
+ bottom: parent.bottom
+ horizontalCenter: parent.horizontalCenter
+ }
+ width: container.width * 0.9
+ height: container.height * 2*lowerHeight
+ source: "../image/digit/"+theme+"/"+digit+".gif"
+ speed: container.speed
+ smooth: false
+ }
+ }
+ Item {
+ anchors {
+ bottom: parent.bottom
+ left: parent.left
+ }
+ width: container.width
+ height: container.height * (0.5-lowerHeight)
+ clip: true
+ AnimatedImage {
+ anchors {
+ bottom: parent.bottom
+ horizontalCenter: parent.horizontalCenter
+ }
+ width: container.width * 0.9
+ height: container.height
+ source: "../image/digit/"+theme+"/"+prevDigit+".gif"
+ speed: container.speed
+ smooth: false
+ }
+ }
+}
\ No newline at end of file
diff --git a/plasmoid/package/contents/ui/Tile.qml b/plasmoid/package/contents/ui/Tile.qml
new file mode 100644
index 0000000..a76c6d8
--- /dev/null
+++ b/plasmoid/package/contents/ui/Tile.qml
@@ -0,0 +1,43 @@
+import QtQuick 2.15
+import QtQuick.Layouts
+
+Item {
+ property int number
+ property real speed
+ property int margin: parent.height/40
+
+ Layout.minimumHeight: 50
+ Layout.minimumWidth: 50
+ Layout.fillHeight: true
+ implicitWidth: height
+
+ Image {
+ anchors.fill: parent
+ source: "../image/back.png"
+ smooth: false
+ }
+ Digit {
+ anchors {
+ top: parent.top
+ left: parent.left
+ bottom: parent.bottom
+ margins: margin
+ rightMargin: 0
+ }
+ width: parent.width/2
+ digit: Math.floor(number/10)
+ speed: parent.speed-0.25
+ }
+ Digit {
+ anchors {
+ top: parent.top
+ right: parent.right
+ bottom: parent.bottom
+ margins: margin
+ leftMargin: 0
+ }
+ width: parent.width/2
+ digit: number%10
+ speed: parent.speed
+ }
+}
\ No newline at end of file
diff --git a/plasmoid/package/contents/ui/configAppearance.qml b/plasmoid/package/contents/ui/configAppearance.qml
new file mode 100644
index 0000000..64ee094
--- /dev/null
+++ b/plasmoid/package/contents/ui/configAppearance.qml
@@ -0,0 +1,54 @@
+import QtQuick 2.15
+import QtCore
+import QtQuick.Controls as QtControls
+import QtQuick.Layouts
+import org.kde.kirigami as Kirigami
+
+Kirigami.FormLayout {
+ property alias cfg_showSeconds: showSecondsCheckBox.checked
+ property alias cfg_doFlip: doFlipCheckBox.checked
+ property alias cfg_opacity: opacitySlider.value
+ property string cfg_theme
+
+ property var cfg_showSecondsDefault
+ property var cfg_doFlipDefault
+ property var cfg_themeDefault
+ property var cfg_opacityDefault
+
+ property var themes: ["asoul", "gelbooru", "moebooru", "rule34"]
+
+ Kirigami.FormLayout {
+ RowLayout {
+ QtControls.CheckBox {
+ id: showSecondsCheckBox
+ text: i18n("Show seconds")
+ }
+ }
+ RowLayout {
+ QtControls.CheckBox {
+ id: doFlipCheckBox
+ text: i18n("Flip the digits")
+ }
+ }
+ RowLayout {
+ QtControls.Label {
+ text: i18n("Digits theme:")
+ }
+ QtControls.ComboBox {
+ id: themeComboBox
+ model: themes
+ currentIndex: themes.indexOf(cfg_theme)
+ onCurrentIndexChanged: cfg_theme = themes[themeComboBox.currentIndex]
+ }
+ }
+ RowLayout {
+ Kirigami.FormData.label: i18n("Widget opacity:")
+ QtControls.Slider {
+ id: opacitySlider
+ }
+ QtControls.Label {
+ text: Math.round(opacitySlider.value*100).toString()
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/plasmoid/package/contents/ui/main.qml b/plasmoid/package/contents/ui/main.qml
new file mode 100644
index 0000000..054cb2e
--- /dev/null
+++ b/plasmoid/package/contents/ui/main.qml
@@ -0,0 +1,51 @@
+import QtQuick 2.0
+import QtQuick.Layouts
+import org.kde.plasma.core as PlasmaCore
+import org.kde.plasma.plasma5support as Plasma5Support
+import org.kde.plasma.plasmoid
+
+PlasmoidItem {
+ id: root
+
+ preferredRepresentation: fullRepresentation
+
+ Plasmoid.backgroundHints: PlasmaCore.Types.NoBackground
+ Layout.minimumHeight: 50
+ Layout.preferredHeight: 165
+ property real ratio: 3+2/30
+ implicitWidth: height*ratio
+ implicitHeight: width/ratio
+
+ Plasma5Support.DataSource {
+ id: timeSource
+ engine: "time"
+ connectedSources: ["Local"]
+ interval: 1000
+ }
+
+ fullRepresentation: RowLayout {
+ height: root.height
+ implicitWidth: height*ratio
+ opacity: Plasmoid.configuration.opacity
+ layer.enabled: true // apply opacity to the layout but not items (images)
+
+ Tile {
+ id: hours
+ number: timeSource.data.Local.DateTime.getHours()
+ speed: 0.8
+ }
+ Tile {
+ id: minutes
+ number: timeSource.data.Local.DateTime.getMinutes()
+ speed: 0.95
+ }
+ Tile {
+ id: seconds
+ number: timeSource.data.Local.DateTime.getSeconds()
+ speed: 1
+ visible: Plasmoid.configuration.showSeconds
+ enabled: Plasmoid.configuration.showSeconds
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/plasmoid/package/metadata.json b/plasmoid/package/metadata.json
new file mode 100644
index 0000000..0ae0e3f
--- /dev/null
+++ b/plasmoid/package/metadata.json
@@ -0,0 +1,19 @@
+{
+ "KPlugin": {
+ "Authors": [
+ {
+ "Email": "kifiranet@gmail.com",
+ "Name": "7nik"
+ }
+ ],
+ "Category": "Date and Time",
+ "Description": "A flip-flop clock with booru digits (girls)",
+ "Icon": "clock",
+ "Id": "com.github.7nik.booru-clock",
+ "Name": "Booru Clock",
+ "Version": "1.0",
+ "Website": "https://github.com/7nik/booru-clock"
+ },
+ "X-Plasma-API-Minimum-Version": "6.0",
+ "KPackageStructure": "Plasma/Applet"
+}
\ No newline at end of file
diff --git a/rainmeter/Booru clock/Clock.ini b/rainmeter/Booru clock/Clock.ini
new file mode 100644
index 0000000..c3a4ac0
--- /dev/null
+++ b/rainmeter/Booru clock/Clock.ini
@@ -0,0 +1,90 @@
+[Rainmeter]
+Author=7nik
+Update=200
+
+[Metadata]
+Name=Booru clock
+Description=Digital animated clock. Images from safebooru (danbooru).
+License=Free
+Version=1.0.1
+
+[Variables]
+;1 - show second, 0 - hide seconds
+showSeconds=0
+
+;------------------------------------------------
+; Measures
+;------------------------------------------------
+
+[MeasureName]
+Measure=Script
+ScriptFile=Clock.lua
+IfCondition=#showSeconds# = 0
+IfTrueAction=[!SetOption BGBorder W 222][!SetOption BGImage ImageCrop 0,0,271,133][!SetOption ImageSecond1Meter Hidden 1][!SetOption ImageSecond2Meter Hidden 1]
+
+;------------------------------------------------
+; Meters
+;------------------------------------------------
+
+[BGBorder]
+Meter=Image
+SolidColor=0,0,0,0
+X=0
+Y=0
+H=119
+W=330
+
+[BGImage]
+Meter=Image
+ImageName=#CURRENTPATH#/Back.png
+X=10r
+Y=10r
+H=100
+
+[ImageHour1Meter]
+Meter=Image
+X=5r
+Y=r
+ImageName=#CURRENTPATH#/digits.png
+DynamicVariables=1
+ImageCrop=0,0,45,100
+
+[ImageHour2Meter]
+Meter=Image
+X=R
+Y=r
+ImageName=#CURRENTPATH#/digits.png
+DynamicVariables=1
+ImageCrop=0,100,45,100
+
+[ImageMinute1Meter]
+Meter=Image
+X=15R
+Y=r
+ImageName=#CURRENTPATH#/digits.png
+DynamicVariables=1
+ImageCrop=0,200,45,100
+
+[ImageMinute2Meter]
+Meter=Image
+X=R
+Y=r
+ImageName=#CURRENTPATH#/digits.png
+DynamicVariables=1
+ImageCrop=0,300,45,100
+
+[ImageSecond1Meter]
+Meter=Image
+X=15R
+Y=r
+ImageName=#CURRENTPATH#/digits.png
+DynamicVariables=1
+ImageCrop=0,100,45,100
+
+[ImageSecond2Meter]
+Meter=Image
+X=R
+Y=r
+ImageName=#CURRENTPATH#/digits.png
+DynamicVariables=1
+ImageCrop=0,100,45,100
\ No newline at end of file
diff --git a/rainmeter/Booru clock/Clock.lua b/rainmeter/Booru clock/Clock.lua
new file mode 100644
index 0000000..4141f7d
--- /dev/null
+++ b/rainmeter/Booru clock/Clock.lua
@@ -0,0 +1,76 @@
+local counter = 0
+local showSeconds = 1
+local digits = {
+ ["0"] = {
+ max = 22,
+ repeats = {5,2,1,1,2,5,2,1,1,2},
+ frames = {1,1,1,1,1,2,2,3,4,5,5,6,6,6,6,6,7,7,8,9,10,10}
+ },
+ ["1"] = {
+ max = 17,
+ repeats = {5,2,1,2,1,2,1,2,1},
+ frames = {1,1,1,1,1,2,2,3,4,4,5,6,6,7,8,8,9}
+ },
+ ["2"] = {
+ max = 16,
+ repeats = {5,2,1,2,1,1,1,1,2},
+ frames = {1,1,1,1,1,2,2,3,4,4,5,6,7,8,9,9}
+ },
+ ["3"] = {
+ max = 32,
+ repeats = {5,1,2,5,1,2,5,1,2,5,1,2},
+ frames = {1,1,1,1,1,2,3,3,4,4,4,4,4,5,6,6,7,7,7,7,7,8,9,9,10,10,10,10,10,11,12,12}
+ },
+ ["4"] = {
+ max = 10,
+ repeats = {1,1,1,1,1,1,1,1,1,1},
+ frames = {1,2,3,4,5,6,7,8,9,10}
+ },
+ ["5"] = {
+ max = 23,
+ repeats = {5,1,3,1,5,2,5,1},
+ frames = {1,1,1,1,1,2,3,3,3,4,5,5,5,5,5,6,6,7,7,7,7,7,8}
+ },
+ ["6"] = {
+ max = 11,
+ repeats = {1,1,2,1,1,1,1,2,1},
+ frames = {1,2,3,3,4,5,6,7,8,8,9}
+ },
+ ["7"] = {
+ max = 50,
+ repeats = {10,2,2,10,2,10,2,10,2},
+ frames = {1,1,1,1,1,1,1,1,1,1,2,2,3,3,4,4,4,4,4,4,4,4,4,4,5,5,6,6,6,6,6,6,6,6,6,6,7,7,8,8,8,8,8,8,8,8,8,8,9,9}
+ },
+ ["8"] = {
+ max = 31,
+ repeats = {20,1,2,2,1,5},
+ frames = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,3,4,4,5,6,6,6,6,6}
+ },
+ ["9"] = {
+ max = 65,
+ repeats = {20,1,10,1,20,2,10,1},
+ frames = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,3,3,3,3,3,3,3,3,3,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,7,7,7,7,7,7,7,7,7,7,8}
+ }
+}
+
+function Initialize()
+ showSeconds = SKIN:GetVariable('showSeconds', 1)
+end
+
+function Update()
+ counter = counter + 1
+ local time = os.date('%X')
+ UpdateCrop('ImageHour1Meter', time:sub(1,1), 0)
+ UpdateCrop('ImageHour2Meter', time:sub(2,2), 8)
+ UpdateCrop('ImageMinute1Meter', time:sub(4,4), 4)
+ UpdateCrop('ImageMinute2Meter', time:sub(5,5), 10)
+ if (showSeconds) then
+ UpdateCrop('ImageSecond1Meter', time:sub(7,7), 2)
+ UpdateCrop('ImageSecond2Meter', time:sub(8,8), 6)
+ end
+end
+
+function UpdateCrop(meter, digit, shift)
+ local index = ((counter + shift) % digits[digit].max) + 1
+ SKIN:Bang('!SetOption', meter, 'ImageCrop', (digits[digit].frames[index]-1)*(45) .. ',' .. (digit*100) .. ',45,100')
+end
\ No newline at end of file
diff --git a/rainmeter/Booru clock/back.png b/rainmeter/Booru clock/back.png
new file mode 100644
index 0000000..acce9a5
Binary files /dev/null and b/rainmeter/Booru clock/back.png differ
diff --git a/rainmeter/Booru clock/digits.png b/rainmeter/Booru clock/digits.png
new file mode 100644
index 0000000..0723d7f
Binary files /dev/null and b/rainmeter/Booru clock/digits.png differ
diff --git a/rainmeter/README.md b/rainmeter/README.md
new file mode 100644
index 0000000..7195058
--- /dev/null
+++ b/rainmeter/README.md
@@ -0,0 +1,9 @@
+# Rainmeter skin Booru Clock
+A [Rainmeter](https://www.rainmeter.net/) skin with the booru's girls holding digits.
+
+Only animated girls by rule34.xxx.
+The only option - show the seconds.
+
+# Installation
+
+Follow [this guide](https://visualskins.com/guide).
\ No newline at end of file
diff --git a/win7gadget/Clock.html b/win7gadget/Clock.html
new file mode 100644
index 0000000..0ed3093
--- /dev/null
+++ b/win7gadget/Clock.html
@@ -0,0 +1,98 @@
+
+
+
+Retro Flip Down Clock
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+