(Genial gelöst!) Imageresizer im Kontextmenü

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

(Genial gelöst!) Imageresizer im Kontextmenü

Beitrag von Steve1 » 19.10.2023 12:27:58

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
Zuletzt geändert von Steve1 am 20.10.2023 10:11:17, insgesamt 1-mal geändert.
Dell 7480:
Debian 12 Bookworm GNOME

rodney
Beiträge: 337
Registriert: 09.12.2016 04:15:59

Re: Imageresizer im Kontextmenü

Beitrag von rodney » 19.10.2023 13:21:13

Steve1 hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 12:27:58

Ich möchte auf eine JPG Rechts-klicken und im Kontextmenü ein Reziser haben auf 800x600px.

PCManFM
Sollte problemlos mittels desktop-Datei zu loesen sein. Naehere Hinweise: https://wiki.archlinux.org/title/PCManF ... ntext_menu

Lässt sich sowas mit imagemagick realisieren oder einem anderen kommandotool?
Dafuer ist mogrify von ImageMagick wie gemacht: mogrify -resize 800x600 <bilddatei>, kann jedoch zu unerwuenschten Ergebnissen fuehren z.B. bei Bildern im Hochformat

Hinweis. Das hat nichts mit Skripten zu tun

Benutzeravatar
whisper
Beiträge: 3194
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Imageresizer im Kontextmenü

Beitrag von whisper » 19.10.2023 13:30:56

Hier mal ein Script für nautilus,
Dürfte selbsterklärend sein
https://zockertown.de/s9y/index.php?/ar ... ritte.html

Benutzeravatar
thunder11
Beiträge: 1367
Registriert: 19.04.2023 09:08:30

Re: Imageresizer im Kontextmenü

Beitrag von thunder11 » 19.10.2023 13:38:14

Die einfachste Möglichkeit wäre, die markierten Bilder mit Debianffmulticonverter zu bearbeiten.
bei mir in Thunar sieht das Kommando dafür so aus:

Code: Alles auswählen

ffmulticonverter  %F
wobei das %F die ausgewählten Dateien / Pfade repräsentiert. Im Debianffmulticonverter 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.

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=&apos;thunar-custom-actions&apos;;export TEXTDOMAINDIR=&apos;/usr/local/share/locale&apos;;. /usr/bin/gettext.sh;    SCALE=$(/usr/bin/zenity --text=&quot;$(eval_gettext &apos;Scale to what percentage?&apos;)&quot; --scale --value=50 --min-value=1 --max-value=99) || exit;    (AMOUNT=$(for file in %F;do echo &quot;$file&quot;;done | wc -l);NR=0;for file in %F;do  NR=&quot;$(echo &quot;$NR+1&quot; | /usr/bin/bc)&quot;; PERCENTAGE=&quot;$(echo &quot;$NR*100/$AMOUNT&quot; | /usr/bin/bc)&quot;; filebase=$(basename &quot;$file&quot;); echo &apos;#&apos;$(eval_gettext &apos;Scale to $SCALE percent&apos;) ... &quot;$filebase&quot;;  (fileinput=&quot;$(echo                 &quot;$file&quot;)&quot;;filefinalout=&quot;$(echo                 &quot;$file&quot;)&quot;;if test &quot;$fileinput&quot; = &quot;$filefinalout&quot;;then  fileout=$(f=$(echo &quot;$filefinalout&quot;);while test -e &quot;$f&quot;;do f=$(dirname &quot;$f&quot;)/.$(basename &quot;$f&quot;).tmp;done;echo &quot;$f&quot;);else  fileout=&quot;$filefinalout&quot;;fi;OVERWRITE=yes;if test -e &quot;$filefinalout&quot; -a ! &quot;$fileinput&quot; = &quot;$filefinalout&quot;;then  base=$(basename &quot;$filefinalout&quot;); if ! (/usr/bin/zenity --question --text=&quot;$(echo $(eval_gettext &apos;overwrite $base?&apos;))&quot;);then   OVERWRITE=no; fi;fi;if test &quot;$OVERWRITE&quot; = &quot;yes&quot;;then  (/usr/bin/convert &quot;$fileinput&quot; -resize ${SCALE}%% &quot;$fileout&quot;);fi;if ! test &quot;$fileout&quot; = &quot;$filefinalout&quot;;then  if cp &quot;$fileout&quot; &quot;$filefinalout&quot;;then   rm &quot;$fileout&quot;; else   /usr/bin/zenity --error --text=&quot;$(echo $(eval_gettext &apos;something went wrong copying the file $fileout over to $filefinalout.&apos;))&quot;; 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>

rodney
Beiträge: 337
Registriert: 09.12.2016 04:15:59

Re: Imageresizer im Kontextmenü

Beitrag von rodney » 19.10.2023 15:15:37

Ich habe mir mal geschwind pcmanfm installiert und mit der Datei ~/.local/share/file-manager/actions/800x600.desktop:

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
das gewuenschte erreicht.

Edit: fehlenden Slash eingefuegt

Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

Re: Imageresizer im Kontextmenü

Beitrag von Steve1 » 19.10.2023 15:31:17

Sehr cool! Nur habe ich unter .local/share/ Kein file-manager

4350
Dell 7480:
Debian 12 Bookworm GNOME

rodney
Beiträge: 337
Registriert: 09.12.2016 04:15:59

Re: Imageresizer im Kontextmenü

Beitrag von rodney » 19.10.2023 15:38:58

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.

Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

Re: Imageresizer im Kontextmenü

Beitrag von Steve1 » 19.10.2023 16:29:03

Ich habe dann aber nichts im Kontextmenü, siehe Screencast

https://youtu.be/lECoDMDqGQY
Dell 7480:
Debian 12 Bookworm GNOME

rodney
Beiträge: 337
Registriert: 09.12.2016 04:15:59

Re: Imageresizer im Kontextmenü

Beitrag von rodney » 19.10.2023 17:16:00

Funktioniert hier problemlos:

4351

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,

$ >

Benutzeravatar
kalle123
Beiträge: 2720
Registriert: 28.03.2015 12:27:47
Wohnort: Mönchengladbach

Re: Imageresizer im Kontextmenü

Beitrag von kalle123 » 19.10.2023 17:23:03

@rodney.
Gerade mal auf die Schnelle in thunar eine 'custom action' mit der Befehlszeile

Code: Alles auswählen

mogrify -resize 800x600 %f
eingefügt. Klappt!

Gruß KH

rodney
Beiträge: 337
Registriert: 09.12.2016 04:15:59

Re: Imageresizer im Kontextmenü

Beitrag von rodney » 19.10.2023 18:38:31

Ich persoenlich wuerde ja eher das Konstrult mogrify -resize 800x800 %f verwenden.

Edit: Buchstabendreher
Zuletzt geändert von rodney am 19.10.2023 20:33:39, insgesamt 1-mal geändert.

Benutzeravatar
kalle123
Beiträge: 2720
Registriert: 28.03.2015 12:27:47
Wohnort: Mönchengladbach

Re: Imageresizer im Kontextmenü

Beitrag von kalle123 » 19.10.2023 19:41:23

rodney hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 18:38:31
Ich persoenlich wuerde ja eher das Konstrult morgify -resize 800x800 %f verwenden.
OK, verstanden. :wink:
You can resize all your JPEG images in a folder to a maximum dimension of 256x256 with this command:
magick mogrify -resize 256x256 *.jpg
Quelle: https://imagemagick.org/script/mogrify.php

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 Debianthunar nützlich.

Gruß KH

Benutzeravatar
thunder11
Beiträge: 1367
Registriert: 19.04.2023 09:08:30

Re: Imageresizer im Kontextmenü

Beitrag von thunder11 » 19.10.2023 22:12:45

kalle123 hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 19:41:23
Danke für den Tip, auch in Debianthunar nützlich.
Mal OT:
Ich packe mal meine ~/.config/Thunar/uca.xml nach NoPaste NoPaste-Eintrag41986
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.

Benutzeravatar
thunder11
Beiträge: 1367
Registriert: 19.04.2023 09:08:30

Re: Imageresizer im Kontextmenü

Beitrag von thunder11 » 19.10.2023 22:25:37

kalle123 hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 19:41:23
rodney hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 18:38:31
Ich persoenlich wuerde ja eher das Konstrult morgify -resize 800x800 %f verwenden.
OK, verstanden. :wink:
You can resize all your JPEG images in a folder to a maximum dimension of 256x256 with this command:
magick mogrify -resize 256x256 *.jpg
Quelle: https://imagemagick.org/script/mogrify.php

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 Debianthunar nützlich.
Ich würde trotzdem meinen Tipp mit dem Debianffmulticonverter mal in Betracht ziehen.
Hat den Vorteil, dass man sowohl mit dem Bildformat als auch der Größe flexibel ist.

4352

Benutzeravatar
kalle123
Beiträge: 2720
Registriert: 28.03.2015 12:27:47
Wohnort: Mönchengladbach

Re: Imageresizer im Kontextmenü

Beitrag von kalle123 » 19.10.2023 23:18:02

@thunder11.

Dank dir für den Einblick, hab es mal kurz rein gesetzt, aber DAS ist mir persönlich zu überladen. :wink:

4353

Ich hab es an der Stelle lieber klein und kompakt.

4354

'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

Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

Re: Imageresizer im Kontextmenü

Beitrag von Steve1 » 20.10.2023 03:17:51

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ß
Dell 7480:
Debian 12 Bookworm GNOME

Benutzeravatar
kalle123
Beiträge: 2720
Registriert: 28.03.2015 12:27:47
Wohnort: Mönchengladbach

Re: Imageresizer im Kontextmenü

Beitrag von kalle123 » 20.10.2023 08:08:17

4360

Mal selber in die angebotenen Hilfsseiten zu schauen scheint ja nun nicht deine starke Seite zu sein :wink:

4359

https://docs.xfce.org/xfce/thunar/custom-actions

Gruß KH

Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

Re: Imageresizer im Kontextmenü

Beitrag von Steve1 » 20.10.2023 09:35:47

Ja, hast du den Screencast überhaupt geschaut?,

Ich habe es doch so, aber es taucht nicht im Kontextmenü auf

4361

4362
Dell 7480:
Debian 12 Bookworm GNOME

Huo
Beiträge: 615
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Imageresizer im Kontextmenü

Beitrag von Huo » 20.10.2023 09:40:48

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.

Benutzeravatar
kalle123
Beiträge: 2720
Registriert: 28.03.2015 12:27:47
Wohnort: Mönchengladbach

Re: Imageresizer im Kontextmenü

Beitrag von kalle123 » 20.10.2023 09:47:29

Du raffst es einfach nicht :roll:

Du bist in deinem letzten Bild auf einem VERZEICHNIS und was hast du hier aktiviert??

4363

KH

Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

Re: Imageresizer im Kontextmenü

Beitrag von Steve1 » 20.10.2023 10:10:16

UPS und Yeah, das wars, wie Geil ist das denn, Es klappt jetzt letztlich!!! Thunar sei Dank!!! :D :D

I'm Happy for the Day

Vielen Dank an euch!!
Dell 7480:
Debian 12 Bookworm GNOME

Benutzeravatar
thunder11
Beiträge: 1367
Registriert: 19.04.2023 09:08:30

Re: (Genial gelöst!) Imageresizer im Kontextmenü

Beitrag von thunder11 » 20.10.2023 10:21:27

kalle123 hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 23:18:02
Ich hab es an der Stelle lieber klein und kompakt.
Das sind doch die ganz normalen Thunar- Aktionen :facepalm:
4364

Benutzeravatar
thunder11
Beiträge: 1367
Registriert: 19.04.2023 09:08:30

Re: (Genial gelöst!) Imageresizer im Kontextmenü

Beitrag von thunder11 » 20.10.2023 10:23:57

Steve1 hat geschrieben: ↑ zum Beitrag ↑
20.10.2023 10:10:16
Es klappt jetzt letztlich!!! Thunar sei Dank!!!
Ich würde das eher so ausdrücken:

Trotz der Verweigerung, mal eine Anleitung zu lesen, hat es -- Kalle123 sei Dank --geklappt.

Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

Re: (Genial gelöst!) Imageresizer im Kontextmenü

Beitrag von Steve1 » 20.10.2023 10:34:01

Ja Kalle sei Dank! Hoch soll er leben! Have Fun
Dell 7480:
Debian 12 Bookworm GNOME

Benutzeravatar
kalle123
Beiträge: 2720
Registriert: 28.03.2015 12:27:47
Wohnort: Mönchengladbach

Re: (Genial gelöst!) Imageresizer im Kontextmenü

Beitrag von kalle123 » 20.10.2023 13:04:59

Was soll das? Sind wir hier im Kindergarten?

Antworten