138 lines
3.5 KiB
QML
138 lines
3.5 KiB
QML
import Quickshell
|
|
import Quickshell.Wayland
|
|
import Quickshell.Widgets
|
|
import Quickshell.Io
|
|
|
|
import QtQuick
|
|
import QtQuick.Effects
|
|
|
|
Item {
|
|
id: thin
|
|
property bool open: false
|
|
property real pos: 0
|
|
PropertyAnimation on pos {
|
|
id: entry
|
|
running: false
|
|
to: 1
|
|
duration: 400
|
|
easing.type: Easing.OutQuint
|
|
}
|
|
PropertyAnimation on pos {
|
|
id: exit
|
|
running: false
|
|
to: 0
|
|
duration: 350
|
|
easing.type: Easing.OutQuint
|
|
onFinished: thin.open = false
|
|
}
|
|
IpcHandler {
|
|
target: "thin"
|
|
function open() {
|
|
thin.open = true
|
|
exit.stop()
|
|
entry.start()
|
|
}
|
|
function close() {
|
|
entry.stop()
|
|
exit.start()
|
|
}
|
|
}
|
|
PanelWindow {
|
|
visible: thin.open
|
|
anchors {
|
|
right: true
|
|
bottom: true
|
|
}
|
|
implicitHeight: 430
|
|
implicitWidth: 1080
|
|
color: "transparent"
|
|
WlrLayershell.layer: WlrLayer.Overlay
|
|
|
|
RectangularShadow {
|
|
anchors.fill: pie_wrapper
|
|
radius: pie_wrapper.radius
|
|
blur: 10
|
|
spread: 2
|
|
}
|
|
ClippingRectangle {
|
|
id: pie_wrapper
|
|
anchors {
|
|
left: parent.left
|
|
top: parent.top
|
|
margins: 12
|
|
leftMargin: 1080 * (1 - thin.pos) + 12
|
|
}
|
|
width: 210
|
|
height: 210
|
|
color: "white"
|
|
radius: 12
|
|
Item {
|
|
anchors.fill: parent
|
|
layer.enabled: true
|
|
layer.smooth: false
|
|
ScreencopyView {
|
|
width: Quickshell.screens[0].width
|
|
height: Quickshell.screens[0].height
|
|
live: true
|
|
captureSource: Quickshell.screens[0]
|
|
x: -1386
|
|
y: -1208
|
|
}
|
|
transform: Scale {
|
|
origin: {x: 0; y: 0}
|
|
xScale: 6
|
|
yScale: xScale
|
|
}
|
|
}
|
|
}
|
|
}
|
|
PanelWindow {
|
|
visible: thin.open
|
|
anchors {
|
|
top: true
|
|
left: true
|
|
}
|
|
implicitWidth: 1080
|
|
implicitHeight: 120
|
|
color: "transparent"
|
|
WlrLayershell.layer: WlrLayer.Overlay
|
|
RectangularShadow {
|
|
anchors.fill: e_wrapper
|
|
radius: e_wrapper.radius
|
|
blur: 10
|
|
spread: 2
|
|
}
|
|
ClippingRectangle {
|
|
id: e_wrapper
|
|
anchors {
|
|
right: parent.right
|
|
bottom: parent.bottom
|
|
margins: 12
|
|
rightMargin: 1080 * (1 - thin.pos) + 12
|
|
}
|
|
width: 240
|
|
height: 48
|
|
color: "white"
|
|
radius: 12
|
|
Item {
|
|
anchors.fill: parent
|
|
ScreencopyView {
|
|
layer.enabled: true
|
|
layer.smooth: false
|
|
width: Quickshell.screens[0].width
|
|
height: Quickshell.screens[0].height
|
|
live: true
|
|
captureSource: Quickshell.screens[0]
|
|
x: -1080
|
|
y: -47
|
|
}
|
|
transform: Scale {
|
|
origin: {x: 0; y: 0}
|
|
xScale: 5
|
|
yScale: xScale
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|