Frage Wo speichert Wallch die Liste der Bilder und Ordner, von denen Bilder aufgenommen werden?


Ich möchte ein Bash-Skript schreiben, das das aktuelle Wallpaper aus dem Wall entfernen kann Wiedergabeliste. Bei der Playlist spreche ich von dieser Liste in Wallch, zu der Sie Bilder und Ordner hinzufügen können, um Wallch mitzuteilen, dass sie diese als Hintergrund verwenden können.

Wie wird diese Playlist von Wallch gespeichert? SQLite? XML? Kann ich diese Playlist programmatisch aufrufen und ändern?


4
2018-03-01 00:22


Ursprung


hast du "man wallch" für info ausprobiert - Ringtail
@BlueXrider Ja, die Manpage ist eher klein und ich habe nichts gefunden. - Shawn


Antworten:


Es wäre ziemlich schwierig, das aktuelle Hintergrundbild von Wallchs Liste zu entfernen, während Wallch läuft und Hintergrundbilder abruft, da auf die Liste vom Arbeitsspeicher zugegriffen wird (auch in ~ / .config / Wallch / MainWindow.conf gespeichert, aber dort nicht gelesen) Live wird dieser Ort verwendet, um die Wiedergabeliste wiederherzustellen, wenn zB der Computer abgestürzt ist oder das Programm nicht ordnungsgemäß heruntergefahren wird.

Es wäre viel einfacher, ein Skript zu erstellen, das automatisch den Hintergrund ändert, während eine album.wallch-Datei mit dem Befehl gelesen wird

gsettings set org.gnome.desktop.background picture-uri "/path to image/here.jpg"

und eine 'while'-Schleife. Beispiel:

while read line; do
   gsettings set org.gnome.desktop.background picture-uri "$line"
   #here do what you want, remove image from the file being read, move image to trash
   #(located in ~/.local/share/Trash/files) and mark it as not wallpaper material.
   sleep $timeout #<- sleep the timeout you want until the next image
done < album.wallch

Eine andere Lösung, aber zu kompliziert wäre das Folgende:

  1. Starte Wallch normal und füge einige Bilder hinzu, wenn es keine in der Liste gibt
  2. Quit Wallch (Strg + Q)
  3. Starten Sie Wallch in einem Terminal mit dem Befehl wallch --constant
  4. Entfernen Sie den entsprechenden Hintergrund von ~ / .config / Wallch / MainWindow.conf
  5. Mach was du willst.
  6. Wiederholen Sie den Vorgang ab Schritt 3.

Aber ich würde wirklich die 1. Lösung empfehlen, indem Sie ein eigenes Skript dafür erstellen. Wenn Sie Wallch nur zum Ändern des Hintergrundbildes verwenden möchten, sollten Sie den direkten Befehl verwenden

gsettings set org.gnome.desktop.background picture-uri "/path to image/here.jpg"

4
2018-03-01 05:11



Würde es funktionieren, wenn ich Wallch schließe, bevor ich das Hintergrundbild von der Liste entferne? Ich konnte mir die aktuelle Tapete notieren, die Tapete wechseln, den Wall schließen, das vorherige Hintergrundbild entfernen und den Wallch erneut starten. Ist das sinnvoll? Und für die Neugierigen stelle ich fast jede Bilddatei, die ich in dieser Liste habe, zur Verfügung und mache verschiedene Tastaturkürzel, um alle meine Bilder einfach zu durchsuchen (Bild in Papierkorb verschieben, in Gimp öffnen, als nicht Tapetenmaterial markieren, etc.) - Shawn


Ich benutze Wallch und mag es im Allgemeinen nicht: Es ist ein Schmerz, die Liste der Dateien zu ändern (wie Sie sehen). Es ist jedoch möglich, ein Verzeichnis voller Soft-Links zu erstellen, und Wallch diese anzuzeigen. Dann kann Ihr Skript mit den weichen Links Affe, und Wallch wird nicht einmal bemerken. Verwenden Sie den Befehl "ln" mit -s, um einen Softlink einzurichten. Wenn Sie / home / me / Pictures / Backgrounds als Verzeichnis mit den Links darin haben, tun Sie etwas wie

ln -sf /home/me/Pictures/Vacation2013/GreatPic.jpg /home/me/Pictures/Backgrounds/1.jpg

Ersetzen der Datei "1.jpg" im Hintergrundverzeichnis. Es wird zu GreatPic.jpg in dem anderen Verzeichnis verknüpft und kann programmgesteuert leicht ersetzt werden. Verwenden Sie weiche Verknüpfungen (Option -s), damit Sie die Bilder nicht fest verknüpfen. Verwenden Sie die Option "force" (-f oder -sf), um vorhandene Verknüpfungen oder Dateien im Verzeichnis zu löschen und zu ersetzen.

Ein Problem: Bei diesem Ansatz können Sie nicht die Anzahl der Hintergrund-Wallch-Anzeigen ändern. Sie können nur ändern, welche Bilder sie sind.

Ich habe den Befehl gsettings ausprobiert und festgestellt, dass der Teil "path" die Formatdatei: / blah / blah / blah haben muss. Ich war überrascht, das zu sehen http: //server.tld/blah/blah/blah funktioniert nicht.

Ist es möglich etwas mit dem aktuell angezeigten Hintergrund zu tun? Dann wäre es wahrscheinlich besser, ein Python- oder Perl-Skript (was auch immer Sie damit kennen) auszuführen und Signale zu verarbeiten. Zum Beispiel könnten Sie Ihrem Skript einen Signal-Handler geben, der es die aktuell angezeigte Datei löschen lässt (wenn Sie das beabsichtigt haben).


0
2018-05-30 14:58