WIP
This commit is contained in:
parent
458700798f
commit
852eb47e3f
|
|
@ -153,9 +153,6 @@ void CubeEffect::activate()
|
||||||
if (effects->isScreenLocked()) {
|
if (effects->isScreenLocked()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (effects->desktops().size() < 3) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
setRunning(true);
|
setRunning(true);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,22 +16,23 @@ Node {
|
||||||
readonly property real faceDistance: 0.5 * faceSize.width / Math.tan(angleTick * Math.PI / 360) + faceDisplacement;
|
readonly property real faceDistance: 0.5 * faceSize.width / Math.tan(angleTick * Math.PI / 360) + faceDisplacement;
|
||||||
readonly property real angleTick: 360 / faceRepeater.count
|
readonly property real angleTick: 360 / faceRepeater.count
|
||||||
|
|
||||||
function desktopAt(azimuth) {
|
function screenAt(azimuth) {
|
||||||
let index = Math.round(azimuth / angleTick) % faceRepeater.count;
|
let index = Math.round(azimuth / angleTick) % faceRepeater.count;
|
||||||
if (index < 0) {
|
if (index < 0) {
|
||||||
index += faceRepeater.count;
|
index += faceRepeater.count;
|
||||||
}
|
}
|
||||||
return faceRepeater.objectAt(index).desktop;
|
return faceRepeater.objectAt(index).screen;
|
||||||
}
|
}
|
||||||
|
|
||||||
function desktopAzimuth(desktop) {
|
function screenAzimuth(screen) {
|
||||||
return cube.angleTick * (desktop.x11DesktopNumber - 1);
|
return cube.angleTick * screen.index;
|
||||||
}
|
}
|
||||||
|
|
||||||
Repeater3D {
|
Repeater3D {
|
||||||
id: faceRepeater
|
id: faceRepeater
|
||||||
model: KWinComponents.VirtualDesktopModel {}
|
model: KWinComponents.Workspace.screens.length
|
||||||
delegate: CubeFace {
|
delegate: CubeFace {
|
||||||
|
property var screen: KWinComponents.Workspace.screens[index]
|
||||||
faceSize: cube.faceSize
|
faceSize: cube.faceSize
|
||||||
scale: Qt.vector3d(faceSize.width / 100, faceSize.height / 100, 1)
|
scale: Qt.vector3d(faceSize.width / 100, faceSize.height / 100, 1)
|
||||||
eulerRotation.y: cube.angleTick * index
|
eulerRotation.y: cube.angleTick * index
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import QtQuick3D
|
||||||
Model {
|
Model {
|
||||||
id: face
|
id: face
|
||||||
|
|
||||||
required property QtObject desktop
|
required property QtObject screen
|
||||||
required property int index
|
required property int index
|
||||||
required property size faceSize
|
required property size faceSize
|
||||||
|
|
||||||
|
|
@ -21,7 +21,7 @@ Model {
|
||||||
lighting: DefaultMaterial.NoLighting
|
lighting: DefaultMaterial.NoLighting
|
||||||
diffuseMap: Texture {
|
diffuseMap: Texture {
|
||||||
sourceItem: DesktopView {
|
sourceItem: DesktopView {
|
||||||
desktop: face.desktop
|
screen: face.screen
|
||||||
width: faceSize.width
|
width: faceSize.width
|
||||||
height: faceSize.height
|
height: faceSize.height
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,20 +10,19 @@ import org.kde.kwin as KWinComponents
|
||||||
Item {
|
Item {
|
||||||
id: desktopView
|
id: desktopView
|
||||||
|
|
||||||
required property QtObject desktop
|
required property QtObject screen
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: KWinComponents.WindowFilterModel {
|
model: KWinComponents.WindowFilterModel {
|
||||||
activity: KWinComponents.Workspace.currentActivity
|
activity: KWinComponents.Workspace.currentActivity
|
||||||
desktop: desktopView.desktop
|
screenName: desktopView.screen.name
|
||||||
screenName: targetScreen.name
|
|
||||||
windowModel: KWinComponents.WindowModel {}
|
windowModel: KWinComponents.WindowModel {}
|
||||||
}
|
}
|
||||||
|
|
||||||
KWinComponents.WindowThumbnail {
|
KWinComponents.WindowThumbnail {
|
||||||
wId: model.window.internalId
|
wId: model.window.internalId
|
||||||
x: model.window.x - targetScreen.geometry.x
|
x: model.window.x - desktopView.screen.geometry.x
|
||||||
y: model.window.y - targetScreen.geometry.y
|
y: model.window.y - desktopView.screen.geometry.y
|
||||||
z: model.window.stackingOrder
|
z: model.window.stackingOrder
|
||||||
visible: !model.window.minimized
|
visible: !model.window.minimized
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue