Compare commits
No commits in common. "1c034a3904b712d2c0e38a4a6f866518baa9c318" and "6027d0bbff488b1b8ca1762f3b11f044c0d6e933" have entirely different histories.
1c034a3904
...
6027d0bbff
7 changed files with 89 additions and 25 deletions
|
|
@ -1,14 +0,0 @@
|
||||||
import Quickshell
|
|
||||||
import "../widget/"
|
|
||||||
|
|
||||||
Scope {
|
|
||||||
id: root
|
|
||||||
|
|
||||||
LuxShortcut {
|
|
||||||
name: 'launcher'
|
|
||||||
description: 'Open the application launcher'
|
|
||||||
onPressed: {
|
|
||||||
console.log("Launcher shortcut pressed");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
35
modules/background/Background.qml
Normal file
35
modules/background/Background.qml
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
import QtQuick
|
||||||
|
import Quickshell
|
||||||
|
import Quickshell.Wayland
|
||||||
|
import "../../styled/"
|
||||||
|
|
||||||
|
Variants {
|
||||||
|
model: Quickshell.screens
|
||||||
|
|
||||||
|
StyledWindow {
|
||||||
|
id: background
|
||||||
|
|
||||||
|
required property ShellScreen modelData
|
||||||
|
|
||||||
|
screen: modelData
|
||||||
|
name: "background"
|
||||||
|
WlrLayershell.exclusionMode: ExclusionMode.Ignore
|
||||||
|
WlrLayershell.layer: WlrLayer.Background
|
||||||
|
color: "black"
|
||||||
|
|
||||||
|
anchors.top: true
|
||||||
|
anchors.bottom: true
|
||||||
|
anchors.left: true
|
||||||
|
anchors.right: true
|
||||||
|
|
||||||
|
Image {
|
||||||
|
id: wallpaper
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
opacity: 1
|
||||||
|
|
||||||
|
source: "/home/baobeld/Wallpapers/bailey-zindel-NRQV-hBF10M-unsplash.jpg"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -10,25 +10,33 @@ StyledPopupWindow {
|
||||||
id: window
|
id: window
|
||||||
|
|
||||||
backgroundColor: Theme.palette.base300
|
backgroundColor: Theme.palette.base300
|
||||||
margins: 8
|
|
||||||
radius: 8
|
radius: 8
|
||||||
|
|
||||||
property QsMenuOpener menuOpener
|
property QsMenuOpener menuOpener
|
||||||
|
|
||||||
content: ColumnLayout {
|
content: ColumnLayout {
|
||||||
spacing: 8
|
id: menu
|
||||||
|
|
||||||
|
anchors.margins: 30
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
|
id: repeater
|
||||||
model: window.menuOpener.children
|
model: window.menuOpener.children
|
||||||
delegate: Loader {
|
delegate: Loader {
|
||||||
|
id: loader
|
||||||
|
|
||||||
required property QsMenuEntry modelData
|
required property QsMenuEntry modelData
|
||||||
|
required property int index
|
||||||
|
|
||||||
active: true
|
active: true
|
||||||
|
|
||||||
Layout.fillWidth: true
|
opacity: 0
|
||||||
|
|
||||||
Layout.minimumWidth: 120
|
Layout.minimumWidth: 120
|
||||||
|
|
||||||
sourceComponent: modelData.isSeparator ? menuSeperator : menuItem
|
sourceComponent: modelData.isSeparator ? menuSeperator : menuItem
|
||||||
property Component menuSeperator: Rectangle {
|
property Component menuSeperator: Rectangle {
|
||||||
|
implicitWidth: menu.width
|
||||||
implicitHeight: 2
|
implicitHeight: 2
|
||||||
|
|
||||||
color: Theme.palette.base100
|
color: Theme.palette.base100
|
||||||
|
|
@ -36,6 +44,45 @@ StyledPopupWindow {
|
||||||
property Component menuItem: MenuItem {
|
property Component menuItem: MenuItem {
|
||||||
menuEntry: modelData
|
menuEntry: modelData
|
||||||
}
|
}
|
||||||
|
|
||||||
|
states: State {
|
||||||
|
name: "opened"
|
||||||
|
when: window.opened
|
||||||
|
PropertyChanges {
|
||||||
|
loader {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
transitions: [
|
||||||
|
Transition {
|
||||||
|
from: ""
|
||||||
|
to: "opened"
|
||||||
|
SequentialAnimation {
|
||||||
|
PauseAnimation {
|
||||||
|
duration: (repeater.count / root.animationDuration) * loader.index
|
||||||
|
}
|
||||||
|
NumberAnimation {
|
||||||
|
property: "opacity"
|
||||||
|
duration: 100
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Transition {
|
||||||
|
from: "opened"
|
||||||
|
to: ""
|
||||||
|
SequentialAnimation {
|
||||||
|
PauseAnimation {
|
||||||
|
duration: 15 * (repeater.count - loader.index)
|
||||||
|
}
|
||||||
|
NumberAnimation {
|
||||||
|
property: "opacity"
|
||||||
|
duration: 200
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import "../../../../../config/"
|
import "../../../../../config/"
|
||||||
import "../../../../../styled/"
|
import "../../../../../styled/"
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,10 @@
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import "modules"
|
import "modules/background"
|
||||||
import "modules/bar"
|
import "modules/bar"
|
||||||
|
|
||||||
ShellRoot {
|
ShellRoot {
|
||||||
ReloadPopup {}
|
ReloadPopup {}
|
||||||
|
|
||||||
|
// Background {}
|
||||||
Bar {}
|
Bar {}
|
||||||
|
|
||||||
Shortcuts {}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
import Quickshell.Hyprland
|
|
||||||
|
|
||||||
GlobalShortcut {
|
|
||||||
appid: "lux"
|
|
||||||
}
|
|
||||||
Loading…
Add table
Reference in a new issue