mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-15 03:04:31 +10:00
@@ -88,8 +88,6 @@ Rectangle {
|
|||||||
|
|
||||||
width: root.imageWidth * root.scale
|
width: root.imageWidth * root.scale
|
||||||
height: root.imageHeight * root.scale
|
height: root.imageHeight * root.scale
|
||||||
sourceSize.width: width
|
|
||||||
sourceSize.height: height
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import qs.modules.common.functions
|
|||||||
// From https://github.com/caelestia-dots/shell with modifications.
|
// From https://github.com/caelestia-dots/shell with modifications.
|
||||||
// License: GPLv3
|
// License: GPLv3
|
||||||
|
|
||||||
Image {
|
StyledImage {
|
||||||
id: root
|
id: root
|
||||||
required property var fileModelData
|
required property var fileModelData
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ MaterialShape { // App icon
|
|||||||
color: isUrgent ? Appearance.colors.colPrimaryContainer : Appearance.colors.colSecondaryContainer
|
color: isUrgent ? Appearance.colors.colPrimaryContainer : Appearance.colors.colSecondaryContainer
|
||||||
Loader {
|
Loader {
|
||||||
id: materialSymbolLoader
|
id: materialSymbolLoader
|
||||||
active: root.appIcon == ""
|
active: root.appIcon == "" && root.image == ""
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
sourceComponent: MaterialSymbol {
|
sourceComponent: MaterialSymbol {
|
||||||
text: {
|
text: {
|
||||||
@@ -63,7 +63,7 @@ MaterialShape { // App icon
|
|||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
sourceComponent: Item {
|
sourceComponent: Item {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
Image {
|
StyledImage {
|
||||||
id: notifImage
|
id: notifImage
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
readonly property int size: parent.width
|
readonly property int size: parent.width
|
||||||
@@ -74,11 +74,6 @@ MaterialShape { // App icon
|
|||||||
antialiasing: true
|
antialiasing: true
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
|
|
||||||
width: size
|
|
||||||
height: size
|
|
||||||
sourceSize.width: size
|
|
||||||
sourceSize.height: size
|
|
||||||
|
|
||||||
layer.enabled: true
|
layer.enabled: true
|
||||||
layer.effect: OpacityMask {
|
layer.effect: OpacityMask {
|
||||||
maskSource: Rectangle {
|
maskSource: Rectangle {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
|
import Quickshell
|
||||||
import qs.services
|
import qs.services
|
||||||
import qs.modules.common
|
import qs.modules.common
|
||||||
import qs.modules.common.widgets
|
import qs.modules.common.widgets
|
||||||
@@ -22,4 +23,9 @@ Image {
|
|||||||
currentFallbackIndex += 1;
|
currentFallbackIndex += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sourceSize: {
|
||||||
|
const dpr = (QsWindow.window as QsWindow)?.devicePixelRatio ?? 1;
|
||||||
|
return Qt.size(width * dpr, height * dpr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -194,10 +194,6 @@ Variants {
|
|||||||
easing.type: Easing.OutCubic
|
easing.type: Easing.OutCubic
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sourceSize {
|
|
||||||
width: bgRoot.scaledWallpaperWidth
|
|
||||||
height: bgRoot.scaledWallpaperHeight
|
|
||||||
}
|
|
||||||
width: bgRoot.scaledWallpaperWidth
|
width: bgRoot.scaledWallpaperWidth
|
||||||
height: bgRoot.scaledWallpaperHeight
|
height: bgRoot.scaledWallpaperHeight
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,12 +113,10 @@ Item { // Player instance
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
StyledImage {
|
||||||
id: blurredArt
|
id: blurredArt
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
source: root.displayedArtFilePath
|
source: root.displayedArtFilePath
|
||||||
sourceSize.width: background.width
|
|
||||||
sourceSize.height: background.height
|
|
||||||
fillMode: Image.PreserveAspectCrop
|
fillMode: Image.PreserveAspectCrop
|
||||||
cache: false
|
cache: false
|
||||||
antialiasing: true
|
antialiasing: true
|
||||||
@@ -179,8 +177,6 @@ Item { // Player instance
|
|||||||
|
|
||||||
width: size
|
width: size
|
||||||
height: size
|
height: size
|
||||||
sourceSize.width: size
|
|
||||||
sourceSize.height: size
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
pragma ComponentBehavior: Bound
|
pragma ComponentBehavior: Bound
|
||||||
import QtQuick
|
import QtQuick
|
||||||
|
import Quickshell
|
||||||
import Qt5Compat.GraphicalEffects
|
import Qt5Compat.GraphicalEffects
|
||||||
import qs.modules.common
|
import qs.modules.common
|
||||||
import qs.modules.common.functions
|
import qs.modules.common.functions
|
||||||
@@ -71,8 +72,10 @@ StyledOverlayWidget {
|
|||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
width: root.imageWidth * root.scaleFactor
|
width: root.imageWidth * root.scaleFactor
|
||||||
height: root.imageHeight * root.scaleFactor
|
height: root.imageHeight * root.scaleFactor
|
||||||
sourceSize.width: width
|
sourceSize: {
|
||||||
sourceSize.height: height
|
const dpr = (QsWindow.window as QsWindow)?.devicePixelRatio ?? 1;
|
||||||
|
return Qt.size(width * dpr, height * dpr);
|
||||||
|
}
|
||||||
|
|
||||||
playing: visible
|
playing: visible
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import qs
|
|||||||
import qs.services
|
import qs.services
|
||||||
import qs.modules.common
|
import qs.modules.common
|
||||||
import qs.modules.common.functions
|
import qs.modules.common.functions
|
||||||
|
import qs.modules.common.widgets
|
||||||
import Qt5Compat.GraphicalEffects
|
import Qt5Compat.GraphicalEffects
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
@@ -109,7 +110,7 @@ Item { // Window
|
|||||||
border.width : 1
|
border.width : 1
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
StyledImage {
|
||||||
id: windowIcon
|
id: windowIcon
|
||||||
property real baseSize: Math.min(root.targetWindowWidth, root.targetWindowHeight)
|
property real baseSize: Math.min(root.targetWindowWidth, root.targetWindowHeight)
|
||||||
anchors {
|
anchors {
|
||||||
@@ -126,12 +127,11 @@ Item { // Window
|
|||||||
// console.log("Final:", Math.min(targetWindowWidth, targetWindowHeight) * (root.compactMode ? root.iconToWindowRatioCompact : root.iconToWindowRatio) / root.monitorData.scale)
|
// console.log("Final:", Math.min(targetWindowWidth, targetWindowHeight) * (root.compactMode ? root.iconToWindowRatioCompact : root.iconToWindowRatio) / root.monitorData.scale)
|
||||||
return baseSize * (root.compactMode ? root.iconToWindowRatioCompact : root.iconToWindowRatio);
|
return baseSize * (root.compactMode ? root.iconToWindowRatioCompact : root.iconToWindowRatio);
|
||||||
}
|
}
|
||||||
// mipmap: true
|
mipmap: true
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
source: root.iconPath
|
source: root.iconPath
|
||||||
width: iconSize
|
width: iconSize
|
||||||
height: iconSize
|
height: iconSize
|
||||||
sourceSize: Qt.size(iconSize, iconSize)
|
|
||||||
|
|
||||||
Behavior on width {
|
Behavior on width {
|
||||||
animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this)
|
animation: Appearance.animation.elementMoveEnter.numberAnimation.createObject(this)
|
||||||
|
|||||||
@@ -186,7 +186,6 @@ Item {
|
|||||||
asynchronous: false
|
asynchronous: false
|
||||||
width: root.windowWidth
|
width: root.windowWidth
|
||||||
height: root.windowHeight
|
height: root.windowHeight
|
||||||
sourceSize: Qt.size(root.windowWidth, root.windowHeight)
|
|
||||||
source: Qt.resolvedUrl(root.screenshotPath)
|
source: Qt.resolvedUrl(root.screenshotPath)
|
||||||
visible: false
|
visible: false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,8 +67,6 @@ Button {
|
|||||||
height: root.rowHeight
|
height: root.rowHeight
|
||||||
fillMode: Image.PreserveAspectFit
|
fillMode: Image.PreserveAspectFit
|
||||||
source: modelData.preview_url
|
source: modelData.preview_url
|
||||||
sourceSize.width: root.rowHeight * modelData.aspect_ratio
|
|
||||||
sourceSize.height: root.rowHeight
|
|
||||||
|
|
||||||
layer.enabled: true
|
layer.enabled: true
|
||||||
layer.effect: OpacityMask {
|
layer.effect: OpacityMask {
|
||||||
|
|||||||
@@ -36,12 +36,10 @@ Item {
|
|||||||
text: root.node?.audio.muted ? Translation.tr("Click to unmute") : Translation.tr("Click to mute")
|
text: root.node?.audio.muted ? Translation.tr("Click to unmute") : Translation.tr("Click to mute")
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
StyledImage {
|
||||||
id: iconImg
|
id: iconImg
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
visible: false
|
visible: false
|
||||||
sourceSize.width: parent.size
|
|
||||||
sourceSize.height: parent.size
|
|
||||||
source: {
|
source: {
|
||||||
let icon;
|
let icon;
|
||||||
icon = AppSearch.guessIcon(root.node?.properties["application.icon-name"] ?? "");
|
icon = AppSearch.guessIcon(root.node?.properties["application.icon-name"] ?? "");
|
||||||
|
|||||||
@@ -66,8 +66,6 @@ MouseArea {
|
|||||||
cache: false
|
cache: false
|
||||||
fillMode: Image.PreserveAspectCrop
|
fillMode: Image.PreserveAspectCrop
|
||||||
clip: true
|
clip: true
|
||||||
sourceSize.width: wallpaperItemColumnLayout.width
|
|
||||||
sourceSize.height: wallpaperItemColumnLayout.height - wallpaperItemColumnLayout.spacing - wallpaperItemName.height
|
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
target: Wallpapers
|
target: Wallpapers
|
||||||
@@ -102,8 +100,6 @@ MouseArea {
|
|||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
sourceComponent: DirectoryIcon {
|
sourceComponent: DirectoryIcon {
|
||||||
fileModelData: root.fileModelData
|
fileModelData: root.fileModelData
|
||||||
sourceSize.width: wallpaperItemColumnLayout.width
|
|
||||||
sourceSize.height: wallpaperItemColumnLayout.height - wallpaperItemColumnLayout.spacing - wallpaperItemName.height
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,8 +71,6 @@ ContentPage {
|
|||||||
StyledImage {
|
StyledImage {
|
||||||
id: wallpaperPreview
|
id: wallpaperPreview
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
sourceSize.width: parent.implicitWidth
|
|
||||||
sourceSize.height: parent.implicitHeight
|
|
||||||
fillMode: Image.PreserveAspectCrop
|
fillMode: Image.PreserveAspectCrop
|
||||||
source: Config.options.background.wallpaperPath
|
source: Config.options.background.wallpaperPath
|
||||||
cache: false
|
cache: false
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ LockScreen {
|
|||||||
interactables.switchToFocusedView();
|
interactables.switchToFocusedView();
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
StyledImage {
|
||||||
id: bg
|
id: bg
|
||||||
z: 0
|
z: 0
|
||||||
width: parent.width
|
width: parent.width
|
||||||
@@ -46,7 +46,6 @@ LockScreen {
|
|||||||
openAnim.restart();
|
openAnim.restart();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sourceSize: Qt.size(lockSurfaceItem.width, lockSurfaceItem.height)
|
|
||||||
source: Config.options.background.wallpaperPath
|
source: Config.options.background.wallpaperPath
|
||||||
fillMode: Image.PreserveAspectCrop
|
fillMode: Image.PreserveAspectCrop
|
||||||
|
|
||||||
|
|||||||
@@ -102,8 +102,6 @@ MouseArea {
|
|||||||
readonly property int size: 48
|
readonly property int size: 48
|
||||||
width: size
|
width: size
|
||||||
height: size
|
height: size
|
||||||
sourceSize.width: size
|
|
||||||
sourceSize.height: size
|
|
||||||
source: root.notification.image
|
source: root.notification.image
|
||||||
fillMode: Image.PreserveAspectFit
|
fillMode: Image.PreserveAspectFit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,7 +85,6 @@ WMouseAreaButton {
|
|||||||
active: !root.newWorkspace
|
active: !root.newWorkspace
|
||||||
sourceComponent: StyledImage {
|
sourceComponent: StyledImage {
|
||||||
cache: true
|
cache: true
|
||||||
sourceSize: Qt.size(root.screenAspectRatio * root.wallpaperHeight, root.wallpaperHeight)
|
|
||||||
source: Config.options.background.wallpaperPath
|
source: Config.options.background.wallpaperPath
|
||||||
fillMode: Image.PreserveAspectCrop
|
fillMode: Image.PreserveAspectCrop
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user