aboutsummaryrefslogtreecommitdiffstats
path: root/appearance/AppearancePanel.qml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-06 12:16:02 +0200
committerDanilo M. <danix@danix.xyz>2026-10-06 12:16:02 +0200
commitd52951a31ad8207db6f7dc56ba9e9bc11e3cbe83 (patch)
tree511ac2f7e3fd341e05e16d98e29b7ca8572e9932 /appearance/AppearancePanel.qml
parent14fe30e906cd93404c637587a22381c6eff5329a (diff)
downloadquickshell-d52951a31ad8207db6f7dc56ba9e9bc11e3cbe83.tar.gz
quickshell-d52951a31ad8207db6f7dc56ba9e9bc11e3cbe83.zip
feat(appearance): launch wallhaven-dl instead of the TinEye searchHEADmaster
The reverse image search never worked in practice: the clipboard-and-paste route to TinEye was the only one left after scripted uploads hit bot and consent walls, and it still left finding and replacing the file by hand. wallhaven-dl, a separate app, does both the search for a larger copy and general wallpaper search and download, so the button now launches it and the TinEye code is removed rather than hidden. The button is always shown, not only for a low-res staged image, since the app is useful beyond upscaling. It launches through gtk-launch and the app's desktop entry, which needs no ~/bin on quickshell's PATH and keeps the app's taskbar icon, and closes the panel so the window does not open under the overlay. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'appearance/AppearancePanel.qml')
-rw-r--r--appearance/AppearancePanel.qml44
1 files changed, 10 insertions, 34 deletions
diff --git a/appearance/AppearancePanel.qml b/appearance/AppearancePanel.qml
index 9b895f8..77053b3 100644
--- a/appearance/AppearancePanel.qml
+++ b/appearance/AppearancePanel.qml
@@ -625,41 +625,17 @@ Scope {
color: Wallpapers.qualityColor(subject, Wallpapers.target)
}
- // A reverse image search for a larger copy of the staged
- // image. Staged, not hovered: the pointer leaves the
- // thumbnail to reach the button. A search engine cannot be
- // handed a local file in a URL and its upload endpoints
- // sit behind bot and consent walls, so the image goes on
- // the clipboard and the browser opens TinEye, which takes
- // a pasted image and sorts its matches by size. The upload
- // is the paste, made by the user in the browser. Always
- // PNG: Firefox hands a page only image/png from the
- // clipboard, so a JPEG copied as itself pasted nothing.
- Column {
- id: finder
- readonly property string staged:
- Wallpapers.target === "V" ? Wallpapers.pendingV : Wallpapers.pendingH
- property string copied: ""
+ // wallhaven-dl searches wallhaven.cc and finds larger
+ // copies of low-res wallpapers. Launched through its
+ // desktop entry, which needs no ~/bin on quickshell's PATH
+ // and keeps the app's own taskbar icon. The panel closes
+ // so the app window is not opened under the overlay.
+ Tab {
anchors.horizontalCenter: parent.horizontalCenter
- visible: staged !== "" && Wallpapers.qualityNote(staged, Wallpapers.target) !== ""
- spacing: 4
-
- Tab {
- anchors.horizontalCenter: parent.horizontalCenter
- text: "Find a larger version"
- onClicked: {
- Quickshell.execDetached(["sh", "-c",
- 'magick "$1" png:- | wl-copy -t image/png && xdg-open https://tineye.com/',
- "sh", finder.staged]);
- finder.copied = finder.staged;
- }
- }
- Text {
- anchors.horizontalCenter: parent.horizontalCenter
- visible: finder.copied === finder.staged
- text: "image copied: paste it on TinEye with Ctrl+V"
- font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 }
- color: Theme.subtext
+ text: "Open wallhaven-dl"
+ onClicked: {
+ Quickshell.execDetached(["gtk-launch", "wallhaven-dl"]);
+ root.close();
}
}