aboutsummaryrefslogtreecommitdiffstats
path: root/appearance/MockScreen.qml
diff options
context:
space:
mode:
Diffstat (limited to 'appearance/MockScreen.qml')
-rw-r--r--appearance/MockScreen.qml94
1 files changed, 0 insertions, 94 deletions
diff --git a/appearance/MockScreen.qml b/appearance/MockScreen.qml
deleted file mode 100644
index 7a09ee2..0000000
--- a/appearance/MockScreen.qml
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright (C) 2026 Danilo M. <danix@danix.xyz>
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License version 2 as
-// published by the Free Software Foundation.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-import QtQuick
-
-// One monitor in the mock desk layout: a bezel, a stand, and the panel at the
-// screen's real aspect ratio. Drawn rather than loaded from an SVG so it takes
-// its colours from the theme and stays sharp at any scale.
-Item {
- id: mock
-
- property string label: ""
- property string source: ""
- property bool targeted: false
-
- // The panel's size; the bezel and stand are added around it.
- property real panelWidth: 100
- property real panelHeight: 100
-
- readonly property real bezel: Math.max(4, Math.round(panelWidth * 0.02))
- // Proportional to width rather than height: the vertical monitor is tall
- // and narrow, and a share of its height would give it an absurd stand.
- readonly property real standHeight: Math.max(14, Math.round(panelWidth * 0.1))
-
- implicitWidth: panelWidth + bezel * 2
- implicitHeight: panelHeight + bezel * 2 + standHeight
-
- Column {
- anchors.horizontalCenter: parent.horizontalCenter
- spacing: 0
-
- // Case.
- Rectangle {
- width: mock.panelWidth + mock.bezel * 2
- height: mock.panelHeight + mock.bezel * 2
- radius: Math.max(3, mock.bezel)
- color: "#1a1a1e"
- border.width: 1
- border.color: mock.targeted ? Theme.accent : Qt.alpha("#ffffff", 0.14)
-
- // Screen.
- Rectangle {
- anchors.centerIn: parent
- width: mock.panelWidth
- height: mock.panelHeight
- color: Theme.base
- clip: true
-
- Image {
- anchors.fill: parent
- source: mock.source === "" ? "" : "file://" + mock.source
- asynchronous: true
- cache: false
- // swaybg is called with -m fill, so the mock crops the same way.
- fillMode: Image.PreserveAspectCrop
- sourceSize.width: 640
- }
-
- Text {
- anchors.centerIn: parent
- visible: mock.source === ""
- text: mock.label
- font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 }
- color: Theme.overlay
- }
- }
- }
-
- // Neck.
- Rectangle {
- anchors.horizontalCenter: parent.horizontalCenter
- width: Math.max(8, Math.round(mock.panelWidth * 0.09))
- height: Math.round(mock.standHeight * 0.55)
- color: "#26262e"
- }
-
- // Foot.
- Rectangle {
- anchors.horizontalCenter: parent.horizontalCenter
- width: Math.max(30, Math.round(mock.panelWidth * 0.32))
- height: Math.max(5, Math.round(mock.standHeight * 0.45))
- radius: height / 2
- color: "#2c2c35"
- }
- }
-}