mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-06 05:25:41 -05:00
46 lines
1.7 KiB
QML
46 lines
1.7 KiB
QML
import Quickshell
|
|
pragma Singleton
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
// Clear all image cache
|
|
function clearImageCache() {
|
|
Quickshell.execDetached(["rm", "-rf", Paths.stringify(
|
|
Paths.imagecache)])
|
|
Paths.mkdir(Paths.imagecache)
|
|
}
|
|
|
|
// Clear cache older than specified minutes
|
|
function clearOldCache(ageInMinutes) {
|
|
Quickshell.execDetached(
|
|
["find", Paths.stringify(
|
|
Paths.imagecache), "-name", "*.png", "-mmin", `+${ageInMinutes}`, "-delete"])
|
|
}
|
|
|
|
// Clear cache for specific size
|
|
function clearCacheForSize(size) {
|
|
Quickshell.execDetached(
|
|
["find", Paths.stringify(
|
|
Paths.imagecache), "-name", `*@${size}x${size}.png`, "-delete"])
|
|
}
|
|
|
|
// Get cache size in MB
|
|
function getCacheSize(callback) {
|
|
var process = Qt.createQmlObject(`
|
|
import Quickshell.Io
|
|
Process {
|
|
command: ["du", "-sm", "${Paths.stringify(
|
|
Paths.imagecache)}"]
|
|
running: true
|
|
stdout: StdioCollector {
|
|
onStreamFinished: {
|
|
var sizeMB = parseInt(text.split("\\t")[0]) || 0
|
|
callback(sizeMB)
|
|
}
|
|
}
|
|
}
|
|
`, root)
|
|
}
|
|
}
|