diff --git a/Apps/SystemInfo/Delta_Rune.png b/Apps/SystemInfo/Delta_Rune.png new file mode 100644 index 0000000..9c309d8 Binary files /dev/null and b/Apps/SystemInfo/Delta_Rune.png differ diff --git a/Apps/SystemInfo/SystemInfoWindow.qml b/Apps/SystemInfo/SystemInfoWindow.qml new file mode 100644 index 0000000..45ac5fe --- /dev/null +++ b/Apps/SystemInfo/SystemInfoWindow.qml @@ -0,0 +1,36 @@ +import Quickshell +import QtQuick + +FloatingWindow { + title: "System Info" + color: "#000000" + visible: true + minimumSize: Qt.size(824, 497) + maximumSize: Qt.size(824, 497) + + Text { + text: "System Info" + color: "#ffc90e" + font.family: "8bitoperator JVE" + font.pixelSize: 32 + anchors.horizontalCenter: parent.horizontalCenter + y: 15 + } + + Image { + source: "./Delta_Rune.png" + scale: 0.5 + y: 15 + x: 0 + } + + Text { + // TODO: get system info not static + text: "CachyOS\nLinux 6.18.2-1-cachyos-rt-bore-lto\nHyprland 0.52.0-git" + color: "#ffffff" + font.family: "8bitoperator JVE" + font.pixelSize: 32 + y: 75 + x: 320 + } +} diff --git a/CONSTANTS.txt b/CONSTANTS.txt index 8b1e783..fb2b0dc 100644 --- a/CONSTANTS.txt +++ b/CONSTANTS.txt @@ -12,7 +12,18 @@ top bar: gap: 76px top: 45px - selection soul offset frop top left: x: 19 y: 42 + + dialogbox: + x: 1271 + y: 312 + offset y from bottom: -34 + (not counting the border) + text: #ffffff + shadow: + offset x: 2 + offset y: 2 + color: #04047C + \ No newline at end of file diff --git a/DeltaruneQuickshell/DialogBox/DialogBox.qml b/DeltaruneQuickshell/DialogBox/DialogBox.qml new file mode 100644 index 0000000..86f2fb1 --- /dev/null +++ b/DeltaruneQuickshell/DialogBox/DialogBox.qml @@ -0,0 +1,31 @@ +import QtQuick + +Item { + id: dialogboxroot + implicitHeight: 378 + implicitWidth: 1334 + readonly property int text_x: 350 - 275 + readonly property int text_y: 55 + readonly property int font_size: 48 + property string text: "(The power of Hyprland shines within you...)" + + Image { + source: "./frame.png" + } + Text { + text: dialogboxroot.text + font.family: "8-bit Operator+" + font.pixelSize: dialogboxroot.font_size + color: "#04047C" + x: dialogboxroot.text_x + 2 + y: dialogboxroot.text_y + 2 + } + Text { + text: dialogboxroot.text + font.family: "8-bit Operator+" + font.pixelSize: dialogboxroot.font_size + color: "#ffffff" + x: dialogboxroot.text_x + y: dialogboxroot.text_y + } +} diff --git a/DeltaruneQuickshell/DialogBox/frame.png b/DeltaruneQuickshell/DialogBox/frame.png new file mode 100644 index 0000000..533fe21 Binary files /dev/null and b/DeltaruneQuickshell/DialogBox/frame.png differ diff --git a/DeltaruneQuickshell/Settings/SettingsWindow.qml b/DeltaruneQuickshell/Settings/SettingsWindow.qml new file mode 100644 index 0000000..e69de29 diff --git a/DeltaruneQuickshell/Topbar/Topbar.qml b/DeltaruneQuickshell/Topbar/Topbar.qml index a2ea1bb..63ecc64 100644 --- a/DeltaruneQuickshell/Topbar/Topbar.qml +++ b/DeltaruneQuickshell/Topbar/Topbar.qml @@ -9,7 +9,7 @@ Item { implicitHeight: 182 anchors.centerIn: parent - property var iconSources: ["item.png", "equip.png", "power.png", "settings.png"] + property var iconSources: ["item.png", "equip.png", "power.png", "config.png"] property int iconCount: iconSources.length property int selectedIndex: 0 @@ -29,6 +29,10 @@ Item { DarkDollarsDisplay {} + Image { + source: "./topbar/setting_names/" + topbar.iconSources[topbar.selectedIndex] + } + FocusScope { id: focusScope focus: true diff --git a/DeltaruneQuickshell/Topbar/topbar/DarkDollarsDisplay.qml b/DeltaruneQuickshell/Topbar/topbar/DarkDollarsDisplay.qml index a57d04b..e4c99a4 100644 --- a/DeltaruneQuickshell/Topbar/topbar/DarkDollarsDisplay.qml +++ b/DeltaruneQuickshell/Topbar/topbar/DarkDollarsDisplay.qml @@ -1,5 +1,6 @@ import QtQuick -import Quickshell + +// import Quickshell Item { Text { @@ -11,17 +12,17 @@ Item { font.family: "8bitoperator JVE" } - SystemClock { - id: clock - precision: SystemClock.Minutes - } + // SystemClock { + // id: clock + // precision: SystemClock.Minutes + // } - Text { - x: 1064 + 117 - y: 37 + 9 + 64 - color: "#777777" - text: Qt.formatDateTime(clock.date, "dd/MM - hh:mm") - font.pixelSize: 32 - font.family: "8bitoperator JVE" - } + // Text { + // x: 1064 + 117 + // y: 37 + 9 + 64 + // color: "#777777" + // text: Qt.formatDateTime(clock.date, "dd/MM - hh:mm") + // font.pixelSize: 32 + // font.family: "8bitoperator JVE" + // } } diff --git a/DeltaruneQuickshell/Topbar/topbar/TopbarSettingIcon.qml b/DeltaruneQuickshell/Topbar/topbar/TopbarSettingIcon.qml index a438c9a..b95bb90 100644 --- a/DeltaruneQuickshell/Topbar/topbar/TopbarSettingIcon.qml +++ b/DeltaruneQuickshell/Topbar/topbar/TopbarSettingIcon.qml @@ -5,7 +5,7 @@ Item { id: item implicitWidth: 149 implicitHeight: 108 - property url iconSource: "./settings.png" + property url iconSource: "settings.png" property bool selected: false property bool showSoul: true readonly property color selectedColor: "#ffc90e" @@ -14,7 +14,7 @@ Item { Image { id: originalImage - source: item.iconSource + source: "./setting_icons/" + item.iconSource } ColorOverlay { @@ -26,7 +26,7 @@ Item { Image { id: soul - source: "./soul.png" + source: "./soul_small.png" x: 19 y: 42 visible: item.showSoul && item.selected diff --git a/DeltaruneQuickshell/Topbar/topbar/settings.png b/DeltaruneQuickshell/Topbar/topbar/setting_icons/config.png similarity index 100% rename from DeltaruneQuickshell/Topbar/topbar/settings.png rename to DeltaruneQuickshell/Topbar/topbar/setting_icons/config.png diff --git a/DeltaruneQuickshell/Topbar/topbar/equip.png b/DeltaruneQuickshell/Topbar/topbar/setting_icons/equip.png similarity index 100% rename from DeltaruneQuickshell/Topbar/topbar/equip.png rename to DeltaruneQuickshell/Topbar/topbar/setting_icons/equip.png diff --git a/DeltaruneQuickshell/Topbar/topbar/item.png b/DeltaruneQuickshell/Topbar/topbar/setting_icons/item.png similarity index 100% rename from DeltaruneQuickshell/Topbar/topbar/item.png rename to DeltaruneQuickshell/Topbar/topbar/setting_icons/item.png diff --git a/DeltaruneQuickshell/Topbar/topbar/power.png b/DeltaruneQuickshell/Topbar/topbar/setting_icons/power.png similarity index 100% rename from DeltaruneQuickshell/Topbar/topbar/power.png rename to DeltaruneQuickshell/Topbar/topbar/setting_icons/power.png diff --git a/DeltaruneQuickshell/Topbar/topbar/setting_names/config.png b/DeltaruneQuickshell/Topbar/topbar/setting_names/config.png new file mode 100644 index 0000000..0cae44e Binary files /dev/null and b/DeltaruneQuickshell/Topbar/topbar/setting_names/config.png differ diff --git a/DeltaruneQuickshell/Topbar/topbar/setting_names/equip.png b/DeltaruneQuickshell/Topbar/topbar/setting_names/equip.png new file mode 100644 index 0000000..97f654f Binary files /dev/null and b/DeltaruneQuickshell/Topbar/topbar/setting_names/equip.png differ diff --git a/DeltaruneQuickshell/Topbar/topbar/setting_names/item.png b/DeltaruneQuickshell/Topbar/topbar/setting_names/item.png new file mode 100644 index 0000000..758ea8b Binary files /dev/null and b/DeltaruneQuickshell/Topbar/topbar/setting_names/item.png differ diff --git a/DeltaruneQuickshell/Topbar/topbar/setting_names/power.png b/DeltaruneQuickshell/Topbar/topbar/setting_names/power.png new file mode 100644 index 0000000..fceb919 Binary files /dev/null and b/DeltaruneQuickshell/Topbar/topbar/setting_names/power.png differ diff --git a/DeltaruneQuickshell/Topbar/topbar/soul.png b/DeltaruneQuickshell/Topbar/topbar/soul_small.png similarity index 100% rename from DeltaruneQuickshell/Topbar/topbar/soul.png rename to DeltaruneQuickshell/Topbar/topbar/soul_small.png diff --git a/DeltaruneQuickshell/WLRLayerDialogBox.qml b/DeltaruneQuickshell/WLRLayerDialogBox.qml new file mode 100644 index 0000000..fc37225 --- /dev/null +++ b/DeltaruneQuickshell/WLRLayerDialogBox.qml @@ -0,0 +1,47 @@ +import Quickshell +import Quickshell.Wayland +import Quickshell.Io +import "DialogBox" + +PanelWindow { + id: baseDialog + anchors { + bottom: true + } + property bool isOpen: false + property string text: "(The power of Hyprland\nshines within you.)" + + WlrLayershell.layer: WlrLayer.Overlay + WlrLayershell.focusable: false + WlrLayershell.keyboardFocus: WlrKeyboardFocus.None + WlrLayershell.namespace: "deltarune-quickshell-dialogbox" + + visible: isOpen + exclusionMode: ExclusionMode.Ignore + aboveWindows: true + focusable: false + + mask: Region {} + + implicitHeight: 378 + implicitWidth: 1334 - 147 + color: '#000000ff' + + DialogBox { + text: baseDialog.text + } + + IpcHandler { + target: "deltarune.dialog" + enabled: true + function open(): void { + baseDialog.isOpen = true; + } + function close(): void { + baseDialog.isOpen = false; + } + function setText(text: string): void { + baseDialog.text = text.replace("\\n", "\n"); + } + } +} diff --git a/DeltaruneQuickshell/WLRLayerHealthbar.qml b/DeltaruneQuickshell/WLRLayerHealthbar.qml index 101c91c..4bed401 100644 --- a/DeltaruneQuickshell/WLRLayerHealthbar.qml +++ b/DeltaruneQuickshell/WLRLayerHealthbar.qml @@ -9,15 +9,15 @@ PanelWindow { bottom: true } - WlrLayershell.layer: WlrLayer.Overlay - WlrLayershell.focusable: true - WlrLayershell.keyboardFocus: WlrKeyboardFocus.None + WlrLayershell.layer: WlrLayer.Top WlrLayershell.namespace: "deltarune-quickshell-bottom" visible: true exclusionMode: ExclusionMode.Ignore aboveWindows: true - focusable: true + focusable: false + + mask: Region {} implicitHeight: 137 color: "#000000" diff --git a/DeltaruneQuickshell/WLRLayerTopbar.qml b/DeltaruneQuickshell/WLRLayerTopbar.qml index 786747f..1227d66 100644 --- a/DeltaruneQuickshell/WLRLayerTopbar.qml +++ b/DeltaruneQuickshell/WLRLayerTopbar.qml @@ -10,11 +10,13 @@ PanelWindow { right: true } - WlrLayershell.layer: WlrLayer.Overlay + WlrLayershell.layer: WlrLayer.Top WlrLayershell.focusable: true WlrLayershell.keyboardFocus: WlrKeyboardFocus.OnDemand WlrLayershell.namespace: "deltarune-quickshell" + mask: Region {} + visible: true exclusionMode: ExclusionMode.Ignore aboveWindows: true diff --git a/README.md b/README.md index 114aa68..8cd9af0 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,13 @@ # DeltaruneQuickshell -A [Quickshell](https://quickshell.org/) shell inspired by Deltarune. +A fan-made recreation of the UI from Deltarune in +[Quickshell](https://quickshell.org/). Dependencies: -- `8bitoperator JVE` -- `Quickshell` (full) +- Fonts: + - `8bitoperator JVE` + - `8-bit Operator+` + +- Software: + - `Quickshell` diff --git a/shell.qml b/shell.qml index 5312a22..1bb059d 100644 --- a/shell.qml +++ b/shell.qml @@ -1,11 +1,11 @@ -import QtQuick -import Quickshell.Io import Quickshell +import Quickshell.Io +import Quickshell.Hyprland import "DeltaruneQuickshell" ShellRoot { id: baseShell - property bool isOpen: !true + property bool isOpen: false WLRLayerTopbar { visible: baseShell.isOpen @@ -13,6 +13,16 @@ ShellRoot { WLRLayerHealthbar { visible: baseShell.isOpen } + WLRLayerDialogBox {} + + GlobalShortcut { + appid: "deltarune" + triggerDescription: "Toggle the menu" + name: "shell_toggle" + onReleased: { + baseShell.isOpen = !baseShell.isOpen; + } + } IpcHandler { target: "deltarune.shell"