44 lines
959 B
QML
44 lines
959 B
QML
import QtQuick
|
|
import Quickshell
|
|
import Quickshell.Wayland
|
|
import "../services" as S
|
|
|
|
PanelWindow {
|
|
id: root
|
|
|
|
required property var screen
|
|
|
|
color: "transparent"
|
|
WlrLayershell.layer: WlrLayer.Background
|
|
WlrLayershell.exclusiveZone: -1
|
|
WlrLayershell.namespace: "nova-screenshot"
|
|
mask: Region {}
|
|
|
|
anchors.top: true
|
|
anchors.left: true
|
|
anchors.right: true
|
|
anchors.bottom: true
|
|
|
|
ScreencopyView {
|
|
id: _capture
|
|
anchors.fill: parent
|
|
captureSource: root.screen
|
|
}
|
|
|
|
Connections {
|
|
target: S.ScreenshotService
|
|
function onCaptureRequested() {
|
|
_capture.captureFrame();
|
|
}
|
|
}
|
|
|
|
Connections {
|
|
target: _capture
|
|
function onHasContentChanged() {
|
|
if (_capture.hasContent)
|
|
_capture.grabToImage(result => {
|
|
S.ScreenshotService.store(root.screen.name, result);
|
|
});
|
|
}
|
|
}
|
|
}
|