Gibt es eine Möglichkeit, feh zwischen Übergängen auszublenden?

7

Ich möchte, dass mein Desktop-Hintergrundbild zwischen Übergängen anstelle eines Schnitts ausgeblendet wird. Gibt es eine Möglichkeit, dies mit feh zu tun? Vielleicht mit xcompmgr oder compton?

Wenn nicht, gibt es eine Möglichkeit, dies zu tun, ohne zu einem anderen Wm zu wechseln? Ich benutze im Moment genial.

ashleysmithgpu
quelle
Ich denke, wenn Sie awesome verwenden und feh ein neues Fenster für jedes Bild öffnet (und das vorherige Fenster schließt), ist es möglich. Überprüfen Sie awesome.naquadah.org/wiki/Signals#client - wenn Ihre Frage tatsächlich jetzt ist :)
uzsolt
Ich bin mir nicht sicher, ob es bei Hintergrundproblemen helfen würde, aber um der Suche willen ist beeindruckend eine fehAlternative zu Übergängen.
Skippy le Grand Gourou

Antworten:

2

Sie können einen xscreensaver als Hintergrundbild verwenden, und glslideshow macht, was Sie wollen. Obwohl es eine -rootOption gibt, benötigen Sie normalerweise xwinwrap, damit es richtig funktioniert:

xwinwrap -ov -fs -- \
    /usr/lib/xscreensaver/glslideshow -window-id WID -zoom 100
# location of xscreensavers may vary between distros

Mit dieser -zoomOption werden die Bilder so eingestellt, dass sie den Bildschirm ausfüllen, damit sie nicht verschoben werden.

Sie können mit dieser Lösung kein Bild manuell auswählen, aber Sie können ein Verzeichnis festlegen, aus dem glslideshow zufällige Bilder aufnimmt (es rekursiv in Unterverzeichnisse). Dies kann entweder auf der Registerkarte "Erweitert" in xscreensaver-demooder durch Erstellen einer Datei .xscreensaverin Ihrem Home-Verzeichnis mit folgendem Inhalt erfolgen:

chooseRandomImages: True
imageDirectory: /your/wallpaper/path

Weitere Optionen zum Anpassen finden Sie in der Manpage von glscreensaver.


Ohne xwinwrap kann glslideshow seltsame Dinge tun, z. B. das Zeichnen über alle Fenster, wenn Sie Compositing verwenden (z. B. mit xcompmgr). Wenn Sie das Compositing deaktivieren, wird das Stammbild nur beim Verschieben neu gezeichnet. Sie müssen also entweder glslideshow festlegen, um kontinuierliche Bildtransformationen durchzuführen, oder Sie haben Blackboxes, in denen Fenster seit dem letzten Neuzeichnen vorhanden waren. Manchmal funktioniert es, aber es ist sicherer, xwinwrap zu verwenden.

crater2150
quelle
1

Wenn Sie imagemagickder Gleichung hinzufügen , lautet die Antwort auf Ihre Frage Ja. Was folgt, könnte eine ziemlich grobe Implementierung sein:

mv current.bg old.bg
imagemagick convert old.bg -fill black -colorize 50% transition.bg
feh --bg-scale transition.bg
imagemagick convert new.bg -fill black -colorize 50% transition.bg
feh --bg-scale transition.bg
feh --bg-scale new.bg
mv new.bg current.bg

Trotzdem sind imagemagickIhre Optionen ziemlich weit offen.

mikeserv
quelle