colorscheme preview
This commit is contained in:
@@ -2,10 +2,11 @@ pragma Singleton
|
|||||||
|
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import Quickshell.Io
|
import Quickshell.Io
|
||||||
|
import ZShell.Models
|
||||||
import qs.Config
|
import qs.Config
|
||||||
import qs.Modules
|
import qs.Modules
|
||||||
import qs.Helpers
|
import qs.Helpers
|
||||||
import ZShell.Models
|
import qs.Paths
|
||||||
|
|
||||||
Searcher {
|
Searcher {
|
||||||
id: root
|
id: root
|
||||||
@@ -27,6 +28,7 @@ Searcher {
|
|||||||
|
|
||||||
function stopPreview(): void {
|
function stopPreview(): void {
|
||||||
showPreview = false;
|
showPreview = false;
|
||||||
|
Quickshell.execDetached(["python3", Quickshell.shellPath("scripts/SchemeColorGen.py"), `--path=${root.actualCurrent}`, `--thumbnail=${Paths.cache}/imagecache/thumbnail.jpg`, `--output=${Paths.state}/scheme.json`]);
|
||||||
}
|
}
|
||||||
|
|
||||||
list: wallpapers.entries
|
list: wallpapers.entries
|
||||||
|
|||||||
@@ -85,8 +85,6 @@ TextField {
|
|||||||
launcherWindow.visible = false;
|
launcherWindow.visible = false;
|
||||||
} else if ( wallpaperPickerLoader.active ) {
|
} else if ( wallpaperPickerLoader.active ) {
|
||||||
SearchWallpapers.setWallpaper(wallpaperPickerLoader.item.currentItem.modelData.path)
|
SearchWallpapers.setWallpaper(wallpaperPickerLoader.item.currentItem.modelData.path)
|
||||||
if ( Config.useDynamicColors )
|
|
||||||
Quickshell.execDetached(["python3", Quickshell.shellPath("scripts/SchemeColorGen.py"), `--path=${wallpaperPickerLoader.item.currentItem.modelData.path}`, `--thumbnail=${Paths.cache}/imagecache/thumbnail.jpg`, `--output=${Paths.state}/scheme.json`]);
|
|
||||||
if ( Config.wallust ) {
|
if ( Config.wallust ) {
|
||||||
Wallust.generateColors(WallpaperPath.currentWallpaperPath);
|
Wallust.generateColors(WallpaperPath.currentWallpaperPath);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
#!/bin/zsh
|
|
||||||
|
|
||||||
raw="$(hyprctl activewindow)"
|
|
||||||
|
|
||||||
json="$(echo "$raw" | jq -Rn '
|
|
||||||
[ inputs
|
|
||||||
| sub("\r$"; "")
|
|
||||||
| select(test(":"))
|
|
||||||
| capture("^(?<key>[^:]+):[ \t]*(?<value>.*)$")
|
|
||||||
| .key |= ltrim
|
|
||||||
]
|
|
||||||
| from_entries
|
|
||||||
')"
|
|
||||||
|
|
||||||
title="$(echo "$json" | jq '.initialTitle')"
|
|
||||||
|
|
||||||
echo "$title"
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import Quickshell
|
|
||||||
import QtQuick
|
|
||||||
|
|
||||||
FloatingWindow {
|
|
||||||
|
|
||||||
title: "terminal"
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: root
|
|
||||||
width: 480
|
|
||||||
height: 320
|
|
||||||
|
|
||||||
property int callsToUpdateMinimumWidth: 0
|
|
||||||
property bool optimize: true
|
|
||||||
|
|
||||||
property int currentTextModel: 0
|
|
||||||
property var columnTexts: [
|
|
||||||
["Click on either", "rectangle above", "and note how the counter", "below updates", "significantly faster using the", "regular (non-optimized)", "implementation"],
|
|
||||||
["The width", "of this column", "is", "no wider than the", "widest item"],
|
|
||||||
["Note how using Qt.callLater()", "the minimum width is", "calculated a bare-minimum", "number", "of times"]
|
|
||||||
]
|
|
||||||
|
|
||||||
Text {
|
|
||||||
x: 20; y: 280
|
|
||||||
text: "Times minimum width has been calculated: " + root.callsToUpdateMinimumWidth
|
|
||||||
}
|
|
||||||
|
|
||||||
Row {
|
|
||||||
y: 25; spacing: 30; anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
Rectangle {
|
|
||||||
width: 200; height: 50; color: "lightgreen"
|
|
||||||
Text { text: "Optimized behavior\nusing Qt.callLater()"; anchors.centerIn: parent }
|
|
||||||
MouseArea { anchors.fill: parent; onClicked: { root.optimize = true; root.currentTextModel++ } }
|
|
||||||
}
|
|
||||||
Rectangle {
|
|
||||||
width: 200; height: 50; color: "lightblue"
|
|
||||||
Text { text: "Regular behavior"; anchors.centerIn: parent}
|
|
||||||
MouseArea { anchors.fill: parent; onClicked: { root.optimize = false; root.currentTextModel++ } }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
id: column
|
|
||||||
anchors.centerIn: parent
|
|
||||||
|
|
||||||
onChildrenChanged: root.optimize ? Qt.callLater(updateMinimumWidth) : updateMinimumWidth()
|
|
||||||
|
|
||||||
property int widestChild
|
|
||||||
function updateMinimumWidth() {
|
|
||||||
root.callsToUpdateMinimumWidth++
|
|
||||||
var w = 0;
|
|
||||||
for (var i in children) {
|
|
||||||
var child = children[i];
|
|
||||||
if (child.implicitWidth > w) {
|
|
||||||
w = child.implicitWidth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
widestChild = w;
|
|
||||||
}
|
|
||||||
|
|
||||||
Repeater {
|
|
||||||
id: repeater
|
|
||||||
model: root.columnTexts[root.currentTextModel%3]
|
|
||||||
delegate: Text {
|
|
||||||
id: text
|
|
||||||
required property string modelData
|
|
||||||
required property int index
|
|
||||||
color: "white"
|
|
||||||
text: modelData
|
|
||||||
width: column.widestChild
|
|
||||||
horizontalAlignment: Text.Center
|
|
||||||
Rectangle { anchors.fill: parent; z: -1; color: text.index%2 ? "gray" : "darkgray" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user