[gelöst] Ein "Wally" für LXDE

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

[gelöst] Ein "Wally" für LXDE

Beitrag von Revod » 24.03.2015 23:15:30

Hi Leute

Der Titel ist mit Wally etwas übertrieben, eher Wally light wäre passender. Es geht darum eine automatische Bilderschleife für das LXDE WM das Hintergrund nach Ablauf einer Zeitspanne zu tauschen, resp. das nächste Bild setzen usw.

Folgender sh Script kann nur jpg und kann nicht so ohne weiteres beendet werden, resp. ich weiss es nicht wie. Das Script wurde vom PCLinuxOS User, longtom, geschrieben und es funktioniert.

Forum-Thread vom Entwickler

Code: Alles auswählen

#!/bin/bash

DIR=/home/longtom/Wallpapers/
FLOOR=1
RANGE=`ls -1 "$DIR"/*.jpg | wc | awk '// {print $1}'`

number=0

while [ 1 -eq 1 ]; do
   
   number=$RANDOM
   while [ "$number" -le $FLOOR ]; do
        number=$RANDOM
   done
   let "number %= $RANGE"  # Scales $number down within $RANGE.
   COUNTER=1
   for X in "$DIR"/*.jpg
   do
      if [ $number -eq $COUNTER ]; then
         pcmanfm --set-wallpaper "$X"
      fi
   COUNTER=$(($COUNTER+1))
   done
   COUNTER=1
   sleep 10m
done
ich habe es auch mit

Code: Alles auswählen

DIR=$HOME/Wallpapers/
anstatt mit

Code: Alles auswählen

DIR=/home/longtom/Wallpapers/
getestet und funktioniert, also für Systemweit einsetzbar.

Ich wurde von poptray-minus für meine Hilfe Anfrage inspiriert.

Wäre es möglich den Code in einer Datei Qt-Python umzuschreiben?

Ist es möglich von der Qt-Version unabhängig zu codieren, oder dass es automatisch die höchste, installierte Qt-Version Umgebung um die UI aufzubauen auswählt (also nicht wenn es die genaue Qt-Version-4.123.aa nicht findet es nicht startet oder gar installierbar wäre)?

Folgende Funktionen sollte es noch können, implementiert werden:

- Bilder Ordner wählen

- Intervall Zeiten setzen (auch über Monate hinweg, Optionen Minuten, Tage, Wochen, Monate)

- Funktion starten

- Funktion-Schleife Pause

- Funktion-Schleife beenden

- Nächstes Bild <> Voriges Bild (egal ob die Schleife aktiv, pausiert oder beendet ist)

- Programm beenden

- Programm Start sollte klar sein, via einer Desktop-Datei :)

XFCE, KDE usw. haben dafür eigene gute Tools und Wally wurde u. Anderem auch für diese WM dafür entwickelt, doch für WM ohne diese Hintergrund-Bilder-Schleifen Tools eben und ausgerechnet nix.

Ich nehme an, die gelisteten Funktionen sollten keine grosse Sache sein (wissen tue ich es leider nicht) in das Qt-Python Script zu packen / implemtieren und das Script wie es poptray-minus kann eine UI erzeugen. Natürlich, das Programm würde nur im Tray starten und nur für die Einstellungen einen Fenster öffnen.

Wenn das Einstellung Fenster dann minimiert würde oder auf das "xkill" Symbol geklickt würde sich das Program wieder im Systemtray verzieht.

Rechte Maustaste auf das Symbol des Tray sollte folgendes beinhalten:

- Einstellungen
- Bilder Verzeichnis wählen
-------------------------------------- < dieser trenner wäre nicht ungeschickt
- Hintergrund Diashow starten
- Pause
- Stoppen
- Nächstes Bild
- Vorheriges Bild
- Einstellungen
- Dienst neu starten
-------------------------------------- < dieser trenner wäre nicht ungeschickt
- Programm beenden < inkl. des pid (Prozess-ID)

"Links-Klick auf das Tray Symbol würde das Einstellung Fenster öffnen"

Wäre auch ganz ok wenn es nicht nur auf das jpg Format beschränkt wäre. Wenn es möglich ist und realisierbar wäre.

Ich vermute auch, dass

Code: Alles auswählen

      if [ $number -eq $COUNTER ]; then
         pcmanfm --set-wallpaper "$X"
      fi
für meine Funktion Vorstellungen entsprechend erweitert werden müsste um es dann im Qt-Python Code zu schreiben.

Icon / Icon's würde ich basteln :)

Wäre doch super oder, Debian-LXDE hätte es demnach auch so ein kleines "Spielzeug" .... :D
Zuletzt geändert von Revod am 01.04.2015 02:51:00, insgesamt 1-mal geändert.
Systemd und PulseAudio, hmmm, nein danke.

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Ein "Wally" für LXDE

Beitrag von uname » 25.03.2015 09:09:37

Vielleicht liegen die Bildformatprobleme an Debianpcmanfm. Mindestens Debiannitrogen als auch Debianfeh können auch Hintergrundbilder setzen.

Wenn dir die Reihenfolge egal ist (also Zufall statt Reihenfolge) könntest du folgenden Einzeiler z.B. per Cron oder als Schleife mit "sleep" probieren. Pfade bitte an beiden Stellen anpassen. Könnte auch mit "pcmanfm --set-wallpaper" gehen. Ich nutze aber nur nitrogen und auch nur mit einem Hintergrundbild.

Code: Alles auswählen

nitrogen --set-scaled --save "/images/wallpapers/$(ls /images/wallpapers/*.{jpg,png} 2>/dev/null | sed 's#.*/##' | sort -R | sed 1q)"

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: Ein "Wally" für LXDE

Beitrag von Revod » 25.03.2015 11:30:35

Wäre ja praktisch die gleiche Funktion wie es das Script tut. Und wie nun die anderen Funktionen einbinden?

Macht mir jedoch Sorgen weil

https://wiki.archlinux.org/index.php/Nitrogen
Freeze with dual monitors

Remove the current nitrogen configuration: [1]

Code: Alles auswählen

$ rm -r ~/.config/nitrogen/
Ich kenne das alles, die Einstell-Tools für das Standard des LXDE sind bereits ok und sehr Umfangreich und brauchen keine Zusätze.

Mal abwarten, vlt. kann jemand mir zu meiner Idee verhelfen. Eine UI in Python-Qt sind genug Beispiele im Netz und so 1 zu 1 kopieren und testen kann ich, doch weiter verarbeiten für meine Ideen eben nicht.

Danke trotzdem
Systemd und PulseAudio, hmmm, nein danke.

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] Ein "Wally" für LXDE

Beitrag von Revod » 01.04.2015 02:54:20

Gelöst mit GTK-Dialog.

Siehe:

http://www.pic-upload.de/view-26580932/ ... n.png.html

Kann noch nicht sagen ob es mit Debian-LXDE auch funktioniert, weil

1. Habe im Debian XFCE und daher kann ich es nicht testen, und

2. Wegen des GTK-Dialog

Danke trotzdem :)
Systemd und PulseAudio, hmmm, nein danke.

Antworten