finished the launcher

This commit is contained in:
2026-09-02 19:22:43 +01:00
parent c7f8c86fe1
commit b314fe10d2
2 changed files with 40 additions and 14 deletions

View File

@@ -1,10 +1,13 @@
pragma ComponentBehavior: Bound
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import Quickshell import Quickshell
import Quickshell.Hyprland
import "../Color.js" as Colors import "../Color.js" as Colors
import "../Components/" import "../Components/"
import "../Services/"
Item { Item {
id: root id: root
@@ -12,36 +15,53 @@ Item {
property var buttons: [ property var buttons: [
{ {
icon: "", icon: "",
color: Colors.surface1 color: Colors.surface1,
action: function () {}
}, },
{ {
icon: "", icon: "",
color: Colors.yellow color: Colors.yellow,
action: function () {
Quickshell.execDetached("nemo");
}
}, },
{ {
icon: "󰪶", icon: "󰪶",
color: Colors.green color: Colors.green,
action: function () {
Hyprland.dispatch("hl.dsp.exec_cmd('firefox --new-window \"https://office.voidarc.co.uk\"')");
}
}, },
{ {
icon: "󰊻", icon: "󰊻",
color: Colors.sky color: Colors.sky,
action: function () {
Hyprland.dispatch("hl.dsp.exec_cmd('firefox --new-window \"https://teams.cloud.microsoft\"')");
}
}, },
{ {
icon: "", icon: "",
color: Colors.mauve color: Colors.mauve,
action: function () {
Hyprland.dispatch("hl.dsp.exec_cmd('kitty')");
}
}, },
{ {
icon: "󰼁", icon: "󰼁",
color: Colors.red color: Colors.red,
action: function () {}
}, },
{ {
icon: "󰈹", icon: "󰈹",
color: Colors.peach color: Colors.peach,
action: function () {
Hyprland.dispatch("hl.dsp.exec_cmd('firefox')");
}
} }
] ]
property real cx: width / 2 property real cx: width / 2
property real cy: height / 2 property real cy: height / 2
property bool hidden: true property bool hidden: !IpcManager.launcherOpen
property real r: 120 property real r: 120
property double topMargin: 50 property double topMargin: 50
@@ -68,12 +88,6 @@ Item {
} }
} }
] ]
// Behavior on topMargin {
// SpringAnimation {
// damping: 0.3
// spring: 5
// }
// }
transitions: [ transitions: [
Transition { Transition {
from: "hidden" from: "hidden"
@@ -156,6 +170,13 @@ Item {
implicitWidth: 80 + (itemRoot.index === 0 ? 2 : 0) implicitWidth: 80 + (itemRoot.index === 0 ? 2 : 0)
radius: 10 radius: 10
TapHandler {
onTapped: {
itemRoot.modelData.action();
IpcManager.toggleLauncher();
}
}
anchors { anchors {
horizontalCenter: parent.horizontalCenter horizontalCenter: parent.horizontalCenter
verticalCenter: parent.verticalCenter verticalCenter: parent.verticalCenter

View File

@@ -9,6 +9,7 @@ Singleton {
id: root id: root
property var focusState: WlrKeyboardFocus.None property var focusState: WlrKeyboardFocus.None
property bool launcherOpen: false
property bool logoutMenuOpen: false property bool logoutMenuOpen: false
property bool tabletMode: false property bool tabletMode: false
@@ -16,11 +17,15 @@ Singleton {
signal enableTabletMode signal enableTabletMode
signal logoutMenu signal logoutMenu
signal normalMode signal normalMode
signal toggleLauncher
onCloseLogoutMenu: { onCloseLogoutMenu: {
root.focusState = WlrKeyboardFocus.None; root.focusState = WlrKeyboardFocus.None;
root.logoutMenuOpen = false; root.logoutMenuOpen = false;
} }
onToggleLauncher: {
root.launcherOpen = root.launcherOpen == true ? false : true;
}
IpcHandler { IpcHandler {
function disableTabletMode(): void { function disableTabletMode(): void {