(Genial gelöst!) Imageresizer im Kontextmenü
(Genial gelöst!) Imageresizer im Kontextmenü
Hi,
ich kann nicht besonders gut Linux Scripting oder Windows BAT, aber vllt. könnt ihr mir helfen und ihr müsst mir ja hier nichts vorlegen, sondern könnt mich nur einfach unterstützen wie ich das mache.
Ich möchte auf eine JPG Rechts-klicken und im Kontextmenü ein Reziser haben auf 800x600px.
PCManFM
Lässt sich sowas mit imagemagick realisieren oder einem anderen kommandotool?
Wie gesagt, es wäre das fast erste Skript was ich schreibe in meinem Leben und würde mich über Tipps & Tricks freuen.
Gruß, Steve
Edit: ok den Befehl hätte ich schon ein mal
mogrify -resize 800x600 *.jpg
ich kann nicht besonders gut Linux Scripting oder Windows BAT, aber vllt. könnt ihr mir helfen und ihr müsst mir ja hier nichts vorlegen, sondern könnt mich nur einfach unterstützen wie ich das mache.
Ich möchte auf eine JPG Rechts-klicken und im Kontextmenü ein Reziser haben auf 800x600px.
PCManFM
Lässt sich sowas mit imagemagick realisieren oder einem anderen kommandotool?
Wie gesagt, es wäre das fast erste Skript was ich schreibe in meinem Leben und würde mich über Tipps & Tricks freuen.
Gruß, Steve
Edit: ok den Befehl hätte ich schon ein mal
mogrify -resize 800x600 *.jpg
Zuletzt geändert von Steve1 am 20.10.2023 10:11:17, insgesamt 1-mal geändert.
Dell 7480:
Debian 12 Bookworm GNOME
Tastatur US-Layout
Debian 12 Bookworm GNOME
Tastatur US-Layout
Re: Imageresizer im Kontextmenü
Sollte problemlos mittels desktop-Datei zu loesen sein. Naehere Hinweise: https://wiki.archlinux.org/title/PCManF ... ntext_menuSteve1 hat geschrieben:19.10.2023 12:27:58
Ich möchte auf eine JPG Rechts-klicken und im Kontextmenü ein Reziser haben auf 800x600px.
PCManFM
Dafuer ist mogrify von ImageMagick wie gemacht: mogrify -resize 800x600 <bilddatei>, kann jedoch zu unerwuenschten Ergebnissen fuehren z.B. bei Bildern im Hochformat
Lässt sich sowas mit imagemagick realisieren oder einem anderen kommandotool?
Hinweis. Das hat nichts mit Skripten zu tun
- whisper
- Beiträge: 3379
- Registriert: 23.09.2002 14:32:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: Imageresizer im Kontextmenü
Hier mal ein Script für nautilus,
Dürfte selbsterklärend sein
https://zockertown.de/s9y/index.php?/ar ... ritte.html
Dürfte selbsterklärend sein
https://zockertown.de/s9y/index.php?/ar ... ritte.html
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt.
Re: Imageresizer im Kontextmenü
Die einfachste Möglichkeit wäre, die markierten Bilder mit ffmulticonverter zu bearbeiten.
bei mir in Thunar sieht das Kommando dafür so aus:
wobei das %F die ausgewählten Dateien / Pfade repräsentiert. Im ffmulticonverter kannst du beliebige Größen und Formate einstellen.
Unter der Haube wird dann wohl ImageMagick bemüht.
Wenn du das prozentual willst, hab ich ein Skript, das ich mir mal vor Jahren von Github geholt habe:
Zwischen <command> </command> ist der eigentliche Befehl. Must auch dafür einiges installieren. Suche nach /usr/bin/ im skript.
bei mir in Thunar sieht das Kommando dafür so aus:
Code: Alles auswählen
ffmulticonverter %F
Unter der Haube wird dann wohl ImageMagick bemüht.
Wenn du das prozentual willst, hab ich ein Skript, das ich mir mal vor Jahren von Github geholt habe:
Zwischen <command> </command> ist der eigentliche Befehl. Must auch dafür einiges installieren. Suche nach /usr/bin/ im skript.
Code: Alles auswählen
<action>
<icon>window-restore-symbolic</icon>
<name>Bilder verkleinern</name>
<submenu></submenu>
<unique-id>1557307048069112-6</unique-id>
<command>(set -e;export TEXTDOMAIN='thunar-custom-actions';export TEXTDOMAINDIR='/usr/local/share/locale';. /usr/bin/gettext.sh; SCALE=$(/usr/bin/zenity --text="$(eval_gettext 'Scale to what percentage?')" --scale --value=50 --min-value=1 --max-value=99) || exit; (AMOUNT=$(for file in %F;do echo "$file";done | wc -l);NR=0;for file in %F;do NR="$(echo "$NR+1" | /usr/bin/bc)"; PERCENTAGE="$(echo "$NR*100/$AMOUNT" | /usr/bin/bc)"; filebase=$(basename "$file"); echo '#'$(eval_gettext 'Scale to $SCALE percent') ... "$filebase"; (fileinput="$(echo "$file")";filefinalout="$(echo "$file")";if test "$fileinput" = "$filefinalout";then fileout=$(f=$(echo "$filefinalout");while test -e "$f";do f=$(dirname "$f")/.$(basename "$f").tmp;done;echo "$f");else fileout="$filefinalout";fi;OVERWRITE=yes;if test -e "$filefinalout" -a ! "$fileinput" = "$filefinalout";then base=$(basename "$filefinalout"); if ! (/usr/bin/zenity --question --text="$(echo $(eval_gettext 'overwrite $base?'))");then OVERWRITE=no; fi;fi;if test "$OVERWRITE" = "yes";then (/usr/bin/convert "$fileinput" -resize ${SCALE}%% "$fileout");fi;if ! test "$fileout" = "$filefinalout";then if cp "$fileout" "$filefinalout";then rm "$fileout"; else /usr/bin/zenity --error --text="$(echo $(eval_gettext 'something went wrong copying the file $fileout over to $filefinalout.'))"; fi;fi ); echo $PERCENTAGE;done )|/usr/bin/zenity --progress --auto-kill --auto-close )</command>
<description>Die ausgewählten Bilder werden auf einen gewählten Prozentsatz der ursprünglichen Größe skaliert.</description>
<range></range>
<patterns>*</patterns>
<image-files/>
</action>
Re: Imageresizer im Kontextmenü
Ich habe mir mal geschwind pcmanfm installiert und mit der Datei ~/.local/share/file-manager/actions/800x600.desktop:
das gewuenschte erreicht.
Edit: fehlenden Slash eingefuegt
Code: Alles auswählen
[Desktop Entry]
Type=Action
Profiles=800x600
Name=Resize to 800x600
Icon=exec
[X-Action-Profile 800x600]
MimeTypes=image/*
Exec=mogrify -resize 800x600 %f
Edit: fehlenden Slash eingefuegt
Re: Imageresizer im Kontextmenü
Dell 7480:
Debian 12 Bookworm GNOME
Tastatur US-Layout
Debian 12 Bookworm GNOME
Tastatur US-Layout
Re: Imageresizer im Kontextmenü
Wie Verzeichnisse erstellt werden weisst du? Wie du Dateien erstellst weisst du? Wenn beide Fragen mit 'ja' beantwortet werden kannst du das Problem in Sekundenschnelle selbst loesen.
Re: Imageresizer im Kontextmenü
Dell 7480:
Debian 12 Bookworm GNOME
Tastatur US-Layout
Debian 12 Bookworm GNOME
Tastatur US-Layout
Re: Imageresizer im Kontextmenü
Funktioniert hier problemlos:
Code: Alles auswählen
$ > cat ~/.local/share/file-manager/actions/800x600.desktop
[Desktop Entry]
Type=Action
Profiles=800x600
Name=Resize to 800x600
Icon=exec
[X-Action-Profile 800x600]
MimeTypes=image/*
Exec=mogrify -resize 800x600 %f
$ > apt show pcmanfm | head
Package: pcmanfm
Version: 1.3.2-1
Priority: optional
Section: utils
Maintainer: Debian LXDE Maintainers <pkg-lxde-maintainers@lists.alioth.debian.org>
Installed-Size: 1,631 kB
Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.14), libcairo2 (>= 1.2.4), libfm-gtk4 (>= 1.2.0), libfm4 (>= 1.2.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgtk2.0-0 (>= 2.24.0), libpango-1.0-0 (>= 1.20.0), libpangocairo-1.0-0 (>= 1.14.0), libx11-6, shared-mime-info
Recommends: gvfs-backends, gvfs-fuse, lxpolkit | polkit-1-auth-agent | policykit-1-gnome, lxde-icon-theme | gnome-icon-theme | oxygen-icon-theme | tango-icon-theme
Homepage: http://pcmanfm.sourceforge.net/
Tag: implemented-in::c, interface::graphical, interface::x11, role::program,
$ >
Re: Imageresizer im Kontextmenü
@rodney.
Gerade mal auf die Schnelle in thunar eine 'custom action' mit der Befehlszeile
eingefügt. Klappt!
Gruß KH
Gerade mal auf die Schnelle in thunar eine 'custom action' mit der Befehlszeile
Code: Alles auswählen
mogrify -resize 800x600 %f
Gruß KH
Re: Imageresizer im Kontextmenü
Ich persoenlich wuerde ja eher das Konstrult mogrify -resize 800x800 %f verwenden.
Edit: Buchstabendreher
Edit: Buchstabendreher
Zuletzt geändert von rodney am 19.10.2023 20:33:39, insgesamt 1-mal geändert.
Re: Imageresizer im Kontextmenü
OK, verstanden.rodney hat geschrieben:19.10.2023 18:38:31Ich persoenlich wuerde ja eher das Konstrult morgify -resize 800x800 %f verwenden.
Quelle: https://imagemagick.org/script/mogrify.phpYou can resize all your JPEG images in a folder to a maximum dimension of 256x256 with this command:
magick mogrify -resize 256x256 *.jpg
Du gibst also einen max.Werte für eine Achse an, da wohl nicht alle Pics quadratisch sind.
Nebenbei, du hast einen typo 'morgify' statt 'mogrify' drin.
Danke für den Tip, auch in thunar nützlich.
Gruß KH
Re: Imageresizer im Kontextmenü
Mal OT:
Ich packe mal meine ~/.config/Thunar/uca.xml nach NoPaste 41986
Kannst dich gerne bedienen bzw. einzelne "actions" nehmen.
Eine einzelne Custom- Action ist immer von <action> bis </action>
Für die Root- Geschichten brauchst du teilweise einzelne policies in /usr/share/polkit-1/actions/.
Falls Interesse, bitte schreien.
Re: Imageresizer im Kontextmenü
Ich würde trotzdem meinen Tipp mit dem ffmulticonverter mal in Betracht ziehen.kalle123 hat geschrieben:19.10.2023 19:41:23OK, verstanden.rodney hat geschrieben:19.10.2023 18:38:31Ich persoenlich wuerde ja eher das Konstrult morgify -resize 800x800 %f verwenden.
Quelle: https://imagemagick.org/script/mogrify.phpYou can resize all your JPEG images in a folder to a maximum dimension of 256x256 with this command:
magick mogrify -resize 256x256 *.jpg
Du gibst also einen max.Werte für eine Achse an, da wohl nicht alle Pics quadratisch sind.
Danke für den Tip, auch in thunar nützlich.
Hat den Vorteil, dass man sowohl mit dem Bildformat als auch der Größe flexibel ist.
Re: Imageresizer im Kontextmenü
@thunder11.
Dank dir für den Einblick, hab es mal kurz rein gesetzt, aber DAS ist mir persönlich zu überladen.
Ich hab es an der Stelle lieber klein und kompakt.
'Hidden files' ist mir wichtig, 'Resize' hab ich mal probeweise mit rein gesetzt, aber wenn ich das nicht wirklich brauche, fliegt das wieder raus. Motto 'keep it simple, stupid!'
Gruß KH
Dank dir für den Einblick, hab es mal kurz rein gesetzt, aber DAS ist mir persönlich zu überladen.
Ich hab es an der Stelle lieber klein und kompakt.
'Hidden files' ist mir wichtig, 'Resize' hab ich mal probeweise mit rein gesetzt, aber wenn ich das nicht wirklich brauche, fliegt das wieder raus. Motto 'keep it simple, stupid!'
Gruß KH
Re: Imageresizer im Kontextmenü
Hey Kalle & Thunder, Guten Morgen,
wie genau habt ihr den mogrify Befehl, wie ich das auch gerne möchte, ins Kontextmenü von Thunar bekommen?
Ich habe mich mal selbst probiert, aber es wird noch nichts bei mir, es taucht nicht im Kontextmenü auf, weder bei Ordnern, noch bei der Datei/JPG
siehe Screencast
https://youtu.be/9HORP_Djvjo
Gruß
wie genau habt ihr den mogrify Befehl, wie ich das auch gerne möchte, ins Kontextmenü von Thunar bekommen?
Ich habe mich mal selbst probiert, aber es wird noch nichts bei mir, es taucht nicht im Kontextmenü auf, weder bei Ordnern, noch bei der Datei/JPG
siehe Screencast
https://youtu.be/9HORP_Djvjo
Gruß
Dell 7480:
Debian 12 Bookworm GNOME
Tastatur US-Layout
Debian 12 Bookworm GNOME
Tastatur US-Layout
Re: Imageresizer im Kontextmenü
Mal selber in die angebotenen Hilfsseiten zu schauen scheint ja nun nicht deine starke Seite zu sein
https://docs.xfce.org/xfce/thunar/custom-actions
Gruß KH
Re: Imageresizer im Kontextmenü
Ja, hast du den Screencast überhaupt geschaut?,
Ich habe es doch so, aber es taucht nicht im Kontextmenü auf
Ich habe es doch so, aber es taucht nicht im Kontextmenü auf
Dell 7480:
Debian 12 Bookworm GNOME
Tastatur US-Layout
Debian 12 Bookworm GNOME
Tastatur US-Layout
Re: Imageresizer im Kontextmenü
Im Fenster "Aktion bearbeiten" musst du eine passende Dateizuordnung im entsprechenden Reiter festlegen – für deinen Zweck am besten einfach ein Häkchen bei "Bilddateien" setzen.
Re: Imageresizer im Kontextmenü
UPS und Yeah, das wars, wie Geil ist das denn, Es klappt jetzt letztlich!!! Thunar sei Dank!!!
I'm Happy for the Day
Vielen Dank an euch!!
I'm Happy for the Day
Vielen Dank an euch!!
Dell 7480:
Debian 12 Bookworm GNOME
Tastatur US-Layout
Debian 12 Bookworm GNOME
Tastatur US-Layout
Re: (Genial gelöst!) Imageresizer im Kontextmenü
Re: (Genial gelöst!) Imageresizer im Kontextmenü
Ich würde das eher so ausdrücken:
Trotz der Verweigerung, mal eine Anleitung zu lesen, hat es -- Kalle123 sei Dank --geklappt.
Re: (Genial gelöst!) Imageresizer im Kontextmenü
Ja Kalle sei Dank! Hoch soll er leben! Have Fun
Dell 7480:
Debian 12 Bookworm GNOME
Tastatur US-Layout
Debian 12 Bookworm GNOME
Tastatur US-Layout
Re: (Genial gelöst!) Imageresizer im Kontextmenü
Was soll das? Sind wir hier im Kindergarten?