From 10e2a14e14e966a28d136fb8152cfaedd29a2e29 Mon Sep 17 00:00:00 2001 From: Hannes Date: Mon, 2 Mar 2026 01:08:27 +0100 Subject: [PATCH] Base for JLearner --- modules/japanese/JLearner.qml | 44 +++++++++++++++++++++++++++++ modules/japanese/JLearnerLoader.qml | 31 ++++++++++++++++++++ shell.qml | 4 +++ 3 files changed, 79 insertions(+) create mode 100644 modules/japanese/JLearner.qml create mode 100644 modules/japanese/JLearnerLoader.qml diff --git a/modules/japanese/JLearner.qml b/modules/japanese/JLearner.qml new file mode 100644 index 0000000..ec552ea --- /dev/null +++ b/modules/japanese/JLearner.qml @@ -0,0 +1,44 @@ +import QtQuick +import Quickshell +import QtQuick.Controls +import Quickshell.Wayland +import Quickshell.Hyprland +import Quickshell.Io +import "../../colors" + +PanelWindow { + id: learner + implicitWidth: screen.width * 0.75 + implicitHeight: screen.height * 0.5 + color: "transparent" + visible: true + focusable: true + + FocusScope { + id: jLearnerScope + focus: true + + Keys.onReleased: { + if (event.key === Qt.Key_Escape) { + console.log("Pressed Escape, closing JLearner") + jLearnerLoader.active = false + } + } + + Rectangle { + anchors.fill: parent + color: "lightblue" + } + } + + Rectangle { + anchors.fill: parent + radius: 10 + color: Qt.alpha(Colors.surfaceContainerLowest, 0.5) + + border.width: 2 + border.color: Colors.outlineVariant + + clip: true + } +} \ No newline at end of file diff --git a/modules/japanese/JLearnerLoader.qml b/modules/japanese/JLearnerLoader.qml new file mode 100644 index 0000000..1144ff3 --- /dev/null +++ b/modules/japanese/JLearnerLoader.qml @@ -0,0 +1,31 @@ +import QtQuick +import Quickshell +import Quickshell.Hyprland +import Quickshell.Io + + +Item { // container, invisible + id: jLoader + + Loader { + id: jLearnerLoader + active: false + sourceComponent: JLearner { id: jLearner } + } + + GlobalShortcut { + name: "JLearner" + description: "Open Japanese Learner" + + onPressed: { + // generateThumbs.startDetached() + // generateThumbs.running = true + jLearnerLoader.active = !jLearnerLoader.active + console.log("Pressed Meta+Shift+J (Hyprland global shortcut)") + } + } + + function closeJLearner() { + jLearnerLoader.active = false + } +} \ No newline at end of file diff --git a/shell.qml b/shell.qml index 0b82f33..df318d4 100644 --- a/shell.qml +++ b/shell.qml @@ -5,6 +5,7 @@ import Quickshell.Hyprland import QtQuick //for Text import "./modules/bar" import "./modules/wp" +import "./modules/japanese" ShellRoot { id: root @@ -14,5 +15,8 @@ ShellRoot { //Wallpaper picker WallpaperPickerLoader {} + + //Japanese Lerner + JLearnerLoader {} } \ No newline at end of file