Zum Inhalt springen

Imv: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{SEITENTITEL:imv}}{{inuse|[[Benutzer:Dirk|Dirk]] ([[Benutzer Diskussion:Dirk|Diskussion]])}}
{{SEITENTITEL:imv}}
imv ist ein sehr minimalistisch gehaltener Bildbetrachter, der sich konzeptionell primär über die [[:kategorie:Shell|Befehlszeile]] bedienen lässt, und sich als Tool im Umfeld von [[:Kategorie:Fenstermanager|Tiling-WMs]] positioniert, aber selbstverständlich überall eingesetzt werden kann.
imv ist ein sehr minimalistisch gehaltener Bildbetrachter, der sich konzeptionell primär über die [[:kategorie:Shell|Befehlszeile]] bedienen lässt, und sich als Tool im Umfeld von Tiling-WMs positioniert, aber selbstverständlich überall eingesetzt werden kann. imv unterstützt neben ''klassischen Rastergrafiken'' auch SVG-Dateien und animierte GIFs, sowie Bilddateien mit Alphakanal (Transparenz).


{{installation|imv}}
{{installation|imv}}
Zeile 7: Zeile 7:


== Verwendung und Konfiguration ==
== Verwendung und Konfiguration ==
Beim starten prüft imv in dieser Reihenfolge ab, ob die Datei existiert, und lädt bei vorhandensein aus dieser die Konfiguration.
Beim starten prüft imv in dieser Reihenfolge ab, ob die Datei existiert, und lädt bei Vorhandensein aus dieser die Konfiguration.


* {{ic|$XDG_CONFIG_HOME/imv/config}}
* {{ic|$XDG_CONFIG_HOME/imv/config}}
Zeile 16: Zeile 16:
* {{ic|/etc/imv_config}}
* {{ic|/etc/imv_config}}


Zudem kann imv beim Starten mittels des beliebig oft wiederholbaren Parameters {{ic|-c}} in der angegebenen Riehenfolge weitere Konfigurationsoptionen („Commands“) übergeben werden, die nach dem LAden der gefundenen Konfigurationsdatei angewendet werden.
Zudem kann imv beim Starten mittels des beliebig oft wiederholbaren Parameters {{ic|-c}} in der angegebenen Reihenfolge weitere Konfigurationsoptionen („Commands“) übergeben werden, die nach dem Laden der gefundenen Konfigurationsdatei angewendet werden.


=== Fensterdekorationen anzeigen ===
=== Bilder anzeigen ===
Aufgrund seiner Positionierung im Umfeld von Tiling-WMs werden die Fensterdekorationen von imv standardmäßig nicht angezeigt. Dies liegt darin begründet, dass die meisten Tiling-WMs entweder genrell keine Fensterdekorationen anzeigen, oder aber selbständig eigene Lösungen für die Fensterdekorationen verwenden, und die Konfiguration von Programmen diesbezüglich sowieso ignorieren.
imv liest Bildpfade von der [[Umleitungen#Eingabeumleitung|Standardeingabe]]. Bei Verwendung von {{ic|imv-dir}} werden automatisch alle weiteren Bilder im Pfad des übergebenen Bilddateinamens geladen.


Will man Fensterdekorationen verwenden, so muss man diese explizit in der Konfiguration des [[:Kategorie:Compositor|Compositors]] oder [[:Kategorie:Fenstermanager|Fenstermanagers]] aktivieren. imv lässt sich sowohl unter [[Wayland]] als auch unter [[X]] über die ID, bzw. Fensterklasse {{ic|imv}} konfigurieren.
imv bildname.png
echo bildname.png | imv
imv {{taste|enter}} bildname.png
 
Dies führt alles gleichermaßen dazu, dass die Bilddatei {{ic|bildname.png}} angezeigt wird. Die letzte Methode erlaubt zudem, einfach weitere Pfade einzutippen, die Bilder werden dann in der aktuellen Instanz von imv eingereiht.
 
Zudem können mittels {{ic|imv-msg}} (siehe Abschnitt [[#Fernsteuerung_mittels_IPC|Fernsteuerung mittels IPC]]) ebenfalls Bilder an die jeweilige imv-Isntanz übergeben werden.
 
imv-msg 11361 open bildname.png
 
Es können natürlich auch über die Befehlszeile ({{taste|doppelpunkt}}) per {{ic|open bildname.png}} Bilder geladen werden.
 
Allen genannten Methoden kann zudem ein Verzeichnis übergeben werden, woraus dann alle Bilder geladen werden.
 
=== Fensterdekorationen aktivieren ===
Aufgrund seiner Positionierung im Umfeld von Tiling-WMs ist die Fensterdekoration von imv standardmäßig deaktiviert. Dies liegt darin begründet, dass die meisten Tiling-WMs entweder genrell keine Fensterdekorationen anzeigen, oder aber selbständig eigene Lösungen verwenden, und die Konfiguration von Programmen diesbezüglich sowieso ignorieren.
 
Will man Fensterdekorationen haben, so muss man diese explizit in der Konfiguration des [[:Kategorie:Compositor|Compositors]] oder [[:Kategorie:Fenstermanager|Fenstermanagers]] aktivieren. imv lässt sich sowohl unter [[Wayland]] als auch unter [[X]] über die ID, bzw. Fensterklasse {{ic|imv}} konfigurieren.


Bei Verwendung von [[labwc]] (Wayland) kann man zum Beispiel diese Fensterregel benutzen. Dadurch wird für alle imv-Fenster der Status der Fensterdekoration umgeschaltet.
Bei Verwendung von [[labwc]] (Wayland) kann man zum Beispiel diese Fensterregel benutzen. Dadurch wird für alle imv-Fenster der Status der Fensterdekoration umgeschaltet.
Zeile 70: Zeile 87:


Dadurch werden die meisten Standard-Tasten(kombinationen) deaktiviert.
Dadurch werden die meisten Standard-Tasten(kombinationen) deaktiviert.
=== Informationsoverlay anpassen ===
Mittels {{taste|D}} lässt sich ein einfaches Informationsoverlay anzeigen, dass einige Details zum aktuell angezeigten Bild ausgeben kann. Da das Overlay das einzige GUI-Element vom imv ist, lässt es sich umfangreich mittels mehrerer Konfigurationsoption anpassen.
{{hc|1=~/.config/imv/config|2=
overlay = false                    # Overlay beim starten anzeigen
overlay_font = 'Monospace:24'      # Schritart des Overlays
overlay_text = '...'              # Overlaytext mit Variablen
overlay_text_color = ffffff        # Textfarbe
overlay_text_alpha = ff            # Transparenz des Textes
overlay_background_color = 000000  # Hintergrundfarbe
overlay_background_alpha = c3      # Transparenz des Hintergrundes
overlay_position_bottom = false    # Overlay unten statt oben anzeigen
}}
[[Datei:Imv overlay example.png|thumbnail|Das im Beispiel konfigurierte Overlay zeigt die Informationen eines Bildes an.]]
Der {{ic|overlay_text}} ist ''shell expanded'', das bedeutet, dass die gängigen Möglichkeiten einer Shell benutzt werden können, die umfasst jegliche Variablen und Subshells, sowie alle von imv für Scripte bereitgestellten Umgebungsvariablen. Zeilenumbrüche mittels {{ic|\n}} sind nicht direkt möglich, hier kann man aber mittels {{ic|$(echo -e oben\nunten)}} einen Zeilenumbruch zwischen {{ic|oben}} und {{ic|unten}} erreichen. Die folgende Konfiguration verdeutlicht dies.
{{hc|1=~/.config/imv/config|2=
overlay_text = $(echo -e "Bildindex: ${imv_current_index}\nBilder total: ${imv_file_count}\nDateiname: ${imv_current_file##*/}\nDimensionen: ${imv_width}x${imv_height}\nSkalierung: ${imv_scale}%")
}}
Wenn man das Overlay direkt konfiguriert gibt imv ab einer gewissen Länge (beim Erstellen dieses Wikiartikels insgesamt bei 186 Zeichen inklusive aller Shell-Zeichen) eine Fehlermeldung beim Starten aus, die auf einen Fehler in der Zeile nach der Definition von {{ic|overlay_text}} hinweist. Dies kann man umgehen, indem man das Overlay durch ein Script generieren lässt.
{{hc|1=~/.config/imv/config|2=
overlay_text = $(/pfad/zum/script.sh)
}}
Das Script wird mit entsprechenden Umgebungsvariablen gestartet, die die Informationen zum jeweiligen Bild und dessen Eigenschaften und Formatierung enthalten. Siehe auch Abschnitt [[#Scripts_und_Programme_ausführen|Scripts und Programme ausführen]]. Die Rückgabe des Scripts auf [[Umleitungen#Bezeichnungen|STDOUT]] wird dabei als Overlaytext benutzt. Da das Script bei jeder Aktion in imv neu ausgeführt wird, sollte man keine all zu umfangreichen Befehle im Script verwenden.


=== Scripts und Programme ausführen ===
=== Scripts und Programme ausführen ===
Zeile 84: Zeile 130:


==== Beispielscript ====
==== Beispielscript ====
Dieses Beispielscript benutzt einige der verfügbaren Umgebungsvariablen, um das aktuelle Bild mittels {{paket|waybg}} als Hintergrundbild zu setzen, es zuvor aber noch in ein Wallpaper-Verzeichnis zu kopieren.
Dieses POSIX-konforme Beispielscript benutzt einige der verfügbaren Umgebungsvariablen, um das aktuelle Bild mittels {{paket|swaybg}} als Hintergrundbild zu setzen, es zuvor aber noch in ein Wallpaper-Verzeichnis zu kopieren.


{{hc|1=~/wp.sh|2=
{{hc|1=~/wp.sh|2=
Zeile 97: Zeile 143:


echo " -> Führe swaybg zum setzen aus"
echo " -> Führe swaybg zum setzen aus"
$(swaybg -m fill -i "${_wpdir}/${_name}" & disown) &
exec swaybg -m fill -i "${_wpdir}/${_name}" >/dev/null 2>&1 &
}}
}}


Wenn man das Script nun zum Beispiel aus imv-dir heraus ausführt, mit dem man sich die Bilder eines Verzeichnisses ansieht, werden die per {{ic|echo}} ausgegebenen Texte angezeigt, und die anderen Befehle ausgeführt.
Wenn man das Script nun zum Beispiel aus imv-dir heraus ausführt, mit dem man sich die Bilder eines Verzeichnisses ansieht, werden die per {{ic|echo}} ausgegebenen Texte angezeigt, und die anderen Befehle ausgeführt.


{{hc|1=% imv-dir /home/user/bildersammlung|2=
{{hc|1=imv-dir /home/user/bildersammlung|2=
  Setze mein_bild.png (Bild 2 von 6) als Hintergrundbild
  Setze mein_bild.png (Bild 2 von 6) als Hintergrundbild
  -> mein_bild.png ins Wallpaper-Verzeichnis kopiert
  -> mein_bild.png ins Wallpaper-Verzeichnis kopiert
  -> Führe swaybg zum setzen aus
  -> Führe swaybg zum setzen aus
... - [swaybg-1.2.1/main.c:282] Found config * for output ...
}}
}}


Im Beispiel wird {{ic|mein_bild.png}}, das zweite von sechs Bildern, also erst in das im Script konfigurierte Verzeichnis kopiert, und dann swaybg in einer Subshell in den Hintergrund verfrachtet, damit imv sich weiter bedienen lässt und das Wallpaper auch nach dem beenden bestehen bleibt.
Im Beispiel wird {{ic|mein_bild.png}}, das zweite von sechs Bildern, also erst in das im Script konfigurierte Verzeichnis kopiert.
 
Wenn das Script nicht „sauber beendet“ wird, bleibt imv am Ende hängen, und lässt sich nicht mehr bedienen, da das Script die Eingaben empfängt, mittels {{ic|exec swaybg ... >/dev/null 2>&1 &}} wird das Script durch swaybg ersetzt, und zudem von der Shell gelöst, damit bleibt imv nach dem setzen des Wallpapers durch dieses Script bedienbar.


=== Fernsteuerung mittels IPC ===
=== Fernsteuerung mittels IPC ===
Für die IPC-Steuerung wird beim starten einer imv-Instanz ein [[Gerätedatei#Socketorientiert|Socket]] unter {{ic|$XDG_RUNTIME_DIR/imv-$PID.sock}} erstellt. Diesr Socket kann direkt verwendet werden. Einfacher ist es allerdings, das mitgelieferte Tool {{ic|imv-msg}} zu verwenden, das die Benutzung des Sockets vereinfacht, da man lediglich die Prozess-ID (PID) der imv-Instanz angeben muss, die man „fernsteuern“ möchte. Im Beispiel wird {{ic|11361}} als PID einer {{ic|imv-dir}}-Instanz angenommen.
Für die IPC-Steuerung wird beim starten einer imv-Instanz ein [[Gerätedatei#Socketorientiert|Socket]] unter {{ic|$XDG_RUNTIME_DIR/imv-$PID.sock}} erstellt. Dieser Socket kann direkt verwendet werden. Einfacher ist es allerdings, das mitgelieferte Tool {{ic|imv-msg}} zu verwenden, das die Benutzung des Sockets vereinfacht, da man lediglich die Prozess-ID (PID) der imv-Instanz angeben muss, die man „fernsteuern“ möchte. Im Beispiel wird {{ic|11361}} als PID einer {{ic|imv-dir}}-Instanz angenommen.


  imv-msg 11361 overlay                      # Befehl
  imv-msg 11361 overlay                      # Befehl
Zeile 123: Zeile 170:


Wenn man {{ic|imv-msg}} innerhalb eines aus imv heraus aufgerufenen Scripts verwenden möchte, so geht dies mittels {{ic|imv-msg $imv_pid ...}}, ohne dass man selbst erst die PID ermitteln muss.
Wenn man {{ic|imv-msg}} innerhalb eines aus imv heraus aufgerufenen Scripts verwenden möchte, so geht dies mittels {{ic|imv-msg $imv_pid ...}}, ohne dass man selbst erst die PID ermitteln muss.
== Siehe auch ==


== Weblinks ==
== Weblinks ==

Aktuelle Version vom 19. Februar 2025, 10:48 Uhr

imv ist ein sehr minimalistisch gehaltener Bildbetrachter, der sich konzeptionell primär über die Befehlszeile bedienen lässt, und sich als Tool im Umfeld von Tiling-WMs positioniert, aber selbstverständlich überall eingesetzt werden kann. imv unterstützt neben klassischen Rastergrafiken auch SVG-Dateien und animierte GIFs, sowie Bilddateien mit Alphakanal (Transparenz).

Installation

Das Programm ist als imv in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S imv

Mittels imv wir der Bildbetrachter gestartet. Optional kann man mit imv-wayland bzw. imv-x11 explizit die gewünschte Version starten. imv-msg dient zur IPC-Steuerung. Mittels imv-dir kann man imv im Verzeichnismodus starten.

Verwendung und Konfiguration

Beim starten prüft imv in dieser Reihenfolge ab, ob die Datei existiert, und lädt bei Vorhandensein aus dieser die Konfiguration.

  • $XDG_CONFIG_HOME/imv/config
  • $HOME/.config/imv/config
  • $HOME/.imv_config
  • $HOME/.imv/config
  • /usr/local/etc/imv_config
  • /etc/imv_config

Zudem kann imv beim Starten mittels des beliebig oft wiederholbaren Parameters -c in der angegebenen Reihenfolge weitere Konfigurationsoptionen („Commands“) übergeben werden, die nach dem Laden der gefundenen Konfigurationsdatei angewendet werden.

Bilder anzeigen

imv liest Bildpfade von der Standardeingabe. Bei Verwendung von imv-dir werden automatisch alle weiteren Bilder im Pfad des übergebenen Bilddateinamens geladen.

imv bildname.png
echo bildname.png | imv
imv ↵ Enter bildname.png

Dies führt alles gleichermaßen dazu, dass die Bilddatei bildname.png angezeigt wird. Die letzte Methode erlaubt zudem, einfach weitere Pfade einzutippen, die Bilder werden dann in der aktuellen Instanz von imv eingereiht.

Zudem können mittels imv-msg (siehe Abschnitt Fernsteuerung mittels IPC) ebenfalls Bilder an die jeweilige imv-Isntanz übergeben werden.

imv-msg 11361 open bildname.png

Es können natürlich auch über die Befehlszeile ( : ) per open bildname.png Bilder geladen werden.

Allen genannten Methoden kann zudem ein Verzeichnis übergeben werden, woraus dann alle Bilder geladen werden.

Fensterdekorationen aktivieren

Aufgrund seiner Positionierung im Umfeld von Tiling-WMs ist die Fensterdekoration von imv standardmäßig deaktiviert. Dies liegt darin begründet, dass die meisten Tiling-WMs entweder genrell keine Fensterdekorationen anzeigen, oder aber selbständig eigene Lösungen verwenden, und die Konfiguration von Programmen diesbezüglich sowieso ignorieren.

Will man Fensterdekorationen haben, so muss man diese explizit in der Konfiguration des Compositors oder Fenstermanagers aktivieren. imv lässt sich sowohl unter Wayland als auch unter X über die ID, bzw. Fensterklasse imv konfigurieren.

Bei Verwendung von labwc (Wayland) kann man zum Beispiel diese Fensterregel benutzen. Dadurch wird für alle imv-Fenster der Status der Fensterdekoration umgeschaltet.

<windowrules>
  <windowRule identifier="imv">
    <action name="ToggleDecorations" />
  </windowRule>
</windowrules>

Bei Nutzung von Openbox (X11) kann man die Dekoration ebenfalls umschalten. Auch hier gilt dies dann für alle Fenster.

<application class="imv">
  <decor>yes</decor>
</application>

Es sei auf die Konfiguration der Compositoren oder Fenstermanager verwiesen.

Tastenkombinationen

imv verfügt standardmäßig über diverse Tastenkombinationen, die sich grob an den Vim-Tastenkombinationen orientieren.

  • G, G springt bei Ansicht merherer Bilder zum ersten Bild
  • ⇧ Shift + G springt bei Ansicht merherer Bilder zum letzten Bild
  • X schließt das Aktuelle Bild (aber nicht imv)
  • Q schließt imv und damit alle geöffneten Bilder
  • / zoomt in das Bild hinein, bzw. wieder heraus
  • H/J/K/L verschiebt ein Bild in die jeweilige Richtung
  •  :  aktiviert die Befehlseingabezeile

Viele weitere Tastenkombinationen lassen sich in der Manpage nachlesen.

In der Konfiguration kann man im Abschnitt [binds] eigene Tastenkombinationen anlegen.

~/.config/imv/config
[binds]
<KP_Add> = zoom 10
<KP_Substract> = zoom -10

Dies fügt Zoom in 10-Prozent-Schritten über die Tasten + und auf dem Nummernblock hinzu.

Will man die Standardtastenkombinationen nicht benutzen, so kann man dies ebenfalls konfigurieren

~/.config/imv/config
[options]
suppress_default_binds = true

Dadurch werden die meisten Standard-Tasten(kombinationen) deaktiviert.

Informationsoverlay anpassen

Mittels D lässt sich ein einfaches Informationsoverlay anzeigen, dass einige Details zum aktuell angezeigten Bild ausgeben kann. Da das Overlay das einzige GUI-Element vom imv ist, lässt es sich umfangreich mittels mehrerer Konfigurationsoption anpassen.

~/.config/imv/config
overlay = false                    # Overlay beim starten anzeigen
overlay_font = 'Monospace:24'      # Schritart des Overlays
overlay_text = '...'               # Overlaytext mit Variablen
overlay_text_color = ffffff        # Textfarbe
overlay_text_alpha = ff            # Transparenz des Textes
overlay_background_color = 000000  # Hintergrundfarbe
overlay_background_alpha = c3      # Transparenz des Hintergrundes
overlay_position_bottom = false    # Overlay unten statt oben anzeigen
Das im Beispiel konfigurierte Overlay zeigt die Informationen eines Bildes an.

Der overlay_text ist shell expanded, das bedeutet, dass die gängigen Möglichkeiten einer Shell benutzt werden können, die umfasst jegliche Variablen und Subshells, sowie alle von imv für Scripte bereitgestellten Umgebungsvariablen. Zeilenumbrüche mittels \n sind nicht direkt möglich, hier kann man aber mittels $(echo -e oben\nunten) einen Zeilenumbruch zwischen oben und unten erreichen. Die folgende Konfiguration verdeutlicht dies.

~/.config/imv/config
overlay_text = $(echo -e "Bildindex: ${imv_current_index}\nBilder total: ${imv_file_count}\nDateiname: ${imv_current_file##*/}\nDimensionen: ${imv_width}x${imv_height}\nSkalierung: ${imv_scale}%")

Wenn man das Overlay direkt konfiguriert gibt imv ab einer gewissen Länge (beim Erstellen dieses Wikiartikels insgesamt bei 186 Zeichen inklusive aller Shell-Zeichen) eine Fehlermeldung beim Starten aus, die auf einen Fehler in der Zeile nach der Definition von overlay_text hinweist. Dies kann man umgehen, indem man das Overlay durch ein Script generieren lässt.

~/.config/imv/config
overlay_text = $(/pfad/zum/script.sh)

Das Script wird mit entsprechenden Umgebungsvariablen gestartet, die die Informationen zum jeweiligen Bild und dessen Eigenschaften und Formatierung enthalten. Siehe auch Abschnitt Scripts und Programme ausführen. Die Rückgabe des Scripts auf STDOUT wird dabei als Overlaytext benutzt. Da das Script bei jeder Aktion in imv neu ausgeführt wird, sollte man keine all zu umfangreichen Befehle im Script verwenden.

Scripts und Programme ausführen

Scripts oder generell Programme lassen sich innerhalb von imv mittels des Befehls exec ausführen. Hierzu kann man entweder die Befehlseingabezeile mittels  :  öffnen, oder im Abschnitt [binds] eine Tastenkombination festlegen.

Sowohl die Scripts, als auch die Programmaufrufe haben dabei Zugriff auf diverse von imv erstellte Umgebungsvariablen.

  • $imv_current_file beinhaltet den Pfad der aktuell angezeigten Bilddatei
  • $imv_pid ist die Prozess-ID der aktuellen imv-Instanz (für die IPC-Steuerung relevant)
  • $imv_width und $imv_height beschreiben die Dimensionen des Bildes in Pixeln
  • $imv_file_count ist die Anzahl der aktuell in dieser Instanz geladenen Bilder

In der Manpage sind noch einige weitere Umgebungsvariablen zu finden.

Beispielscript

Dieses POSIX-konforme Beispielscript benutzt einige der verfügbaren Umgebungsvariablen, um das aktuelle Bild mittels swaybg als Hintergrundbild zu setzen, es zuvor aber noch in ein Wallpaper-Verzeichnis zu kopieren.

~/wp.sh
#!/bin/sh
_name=$(basename "${imv_current_file}")
_wpdir="${HOME}/.wallpapers"

echo "Benutze ${_name} (Bild ${imv_current_index} von ${imv_file_count}) als Hintergrundbild"

cp "${imv_current_file}" "${_wpdir}/${_name}"
echo " -> ${_name} ins Wallpaper-Verzeichnis kopiert"

echo " -> Führe swaybg zum setzen aus"
exec swaybg -m fill -i "${_wpdir}/${_name}" >/dev/null 2>&1 &

Wenn man das Script nun zum Beispiel aus imv-dir heraus ausführt, mit dem man sich die Bilder eines Verzeichnisses ansieht, werden die per echo ausgegebenen Texte angezeigt, und die anderen Befehle ausgeführt.

imv-dir /home/user/bildersammlung
Setze mein_bild.png (Bild 2 von 6) als Hintergrundbild
 -> mein_bild.png ins Wallpaper-Verzeichnis kopiert
 -> Führe swaybg zum setzen aus

Im Beispiel wird mein_bild.png, das zweite von sechs Bildern, also erst in das im Script konfigurierte Verzeichnis kopiert.

Wenn das Script nicht „sauber beendet“ wird, bleibt imv am Ende hängen, und lässt sich nicht mehr bedienen, da das Script die Eingaben empfängt, mittels exec swaybg ... >/dev/null 2>&1 & wird das Script durch swaybg ersetzt, und zudem von der Shell gelöst, damit bleibt imv nach dem setzen des Wallpapers durch dieses Script bedienbar.

Fernsteuerung mittels IPC

Für die IPC-Steuerung wird beim starten einer imv-Instanz ein Socket unter $XDG_RUNTIME_DIR/imv-$PID.sock erstellt. Dieser Socket kann direkt verwendet werden. Einfacher ist es allerdings, das mitgelieferte Tool imv-msg zu verwenden, das die Benutzung des Sockets vereinfacht, da man lediglich die Prozess-ID (PID) der imv-Instanz angeben muss, die man „fernsteuern“ möchte. Im Beispiel wird 11361 als PID einer imv-dir-Instanz angenommen.

imv-msg 11361 overlay                      # Befehl
imv-msg 11361 background checks            # Option setzen
imv-msg 11361 exec ./wp.sh                 # Script ausführen
imv-msg 11361 exec 'echo $imv_file_count'  # Programm ausführen
imv-msg 11361 quit                         # Befehl

Die Bedienung entspricht dem, was auch über die eingebaute Befehlszeile möglich ist. Im Beispiel wird zuerst ein einfacher Befehl (das Textoverlay mit den Bildinformationen umschalten) ausgeführt, dann wird eine Option gesetzt (Hintergrund von Transparenten Bildern auf Schachbrettmuster umschalten), dann wird mittels exec ein Script ausgeführt. Der Programmaufruf von echo gibt die Anzahl der aktuell geladenen Bilder nicht an die Shell zurück, aus der man imv-msg aufgerufen hat, sondern an die, in der imv-dir läuft. Sum Schluss imv noch sauber beendet.

Wenn man imv-msg innerhalb eines aus imv heraus aufgerufenen Scripts verwenden möchte, so geht dies mittels imv-msg $imv_pid ..., ohne dass man selbst erst die PID ermitteln muss.

Weblinks