Custom Actions bei PCManFM

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Custom Actions bei PCManFM

Beitrag von Richard » 21.08.2018 09:15:39

Hallo,

ich bastel mir gerade ein paar Custom Actions für PCManFM-qt, genau genommen übertrage ich schon existierende KDE-ServiceMenüs. Bei den Service Menüs war es möglich 2 ähnliche Menüs in eine *.desktop einzutragen und als einzelne Profile zu unterscheiden. Unter [Desktop Entry] wurde dann z. B.

Code: Alles auswählen

Actions=profil21,profile2
eingetragen. Das geht bei CA nicht. Auch hier gibt es [Desktop Entry] und ich kann (muss?) hier

Code: Alles auswählen

Profiles=profile1
eintragen. Es passiert aber nichts, wenn ich da mehr als 2 Profile eintragen und darunter erstelle. Auch wird immer der Name angezeigt, der unter [Desktop Entry] eingetragen wurde, bei den KDE ServiceMenüs war es immer der im Profil.

Geht das grds. nicht oder nur in PCManFM-qt nicht. Es scheint wohl einen Standard dafür zu geben, finde aber die Seite nicht mehr. Möglich, dass PCManFM-QT den nicht komplett unterstützt. KDE macht ja auch scheinbar sein "eigenes Ding" und hält sich scheinbar nicht genau an den Standard.

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

Re: Custom Actions bei PCManFM

Beitrag von Huo » 21.08.2018 10:29:33

Du kannst in einer Custom Action für den PCManFM durchaus zwei oder mehr Profile eintragen und verwenden:

Code: Alles auswählen

Profiles=profile1;profile2;
Die zugehörigen Actions muss man sich aber mit einem logischen OR verknüpft denken. Trifft die MimeTypes-Bedingung der ersten Action zu, wird die zweite grundsätzlich nicht mehr ausgeführt. Ein instruktives Beispiel für den Druck von Dokumenten findet sich im Ubuntuusers-Wiki. Hier gibt es zwei unterschiedliche Profile, einmal für Office-Dateien, zum anderen für Text- bzw. PDF-Dokumente.
Richard hat geschrieben: ↑ zum Beitrag ↑
21.08.2018 09:15:39
Es scheint wohl einen Standard dafür zu geben, finde aber die Seite nicht mehr.
Hier.

Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: Custom Actions bei PCManFM

Beitrag von Richard » 21.08.2018 11:52:20

Wo ist denn in dem Bsp. das logische OR? Letztlich das es dort genauso eingetragen wie bei KDE und wie ich es erfolglos versucht habe.

Ich teste hier aber noch die Version 0.12, aktuell ist wohl die 0.13.1 die man aber bauen müsste.

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

Re: Custom Actions bei PCManFM

Beitrag von Huo » 21.08.2018 12:26:01

Ich nutze die GTK+-Version des PCManFM und habe mit Custom Actions keine Probleme. Möglicherweise hat die QT-Version tatsächlich einen Bug?

Vielleicht willst Du, damit sich das besser einschätzen lässt, hier den Code einer bei Dir nicht funktionierenden Custom Action im vollen Wortlaut posten?

Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: Custom Actions bei PCManFM

Beitrag von Richard » 21.08.2018 14:27:47

Ich hab es mit PCManFM-qt v0.13.1 versucht unter Lubuntu in einer virtuellen Maschine versucht. Es gibt die 00.13.1 in einem Daily-Repo. Da hab ich ein Bsp. aus deinem Link getestet:

Code: Alles auswählen

[Desktop Entry]
Name = Open terminal here
Icon = terminal
Profiles = on_folder; on_file; on_desktop;

[X-Action-Profile on_folder]
Name = open a terminal on the current folder or on the selected folder
MimeTypes = inode/directory;
SelectionCount = < 2
Exec = gnome-terminal --working-directory=%d

[X-Action-Profile on_file]
Name = open a terminal in the folder which contains selected items
MimeTypes = all/allfiles;
Exec = gnome-terminal --working-directory=$(echo %D | cut -d' ' -f1)

[X-Action-Profile on_desktop]
Name = open a terminal of the desktop
Schemes = x-nautilus-desktop;
Exec = gnome-terminal --working-directory=~/Desktop
Auch hier das gleiche. Es wird nichts angezeigt.

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

Re: Custom Actions bei PCManFM

Beitrag von Huo » 21.08.2018 16:52:23

Also diese Custom Action funktioniert bei mir auch nicht – selbst wenn ich sie notdürftig anpasse und z. B. gnome-terminal durch das von mir genutzte lxterminal ersetze. Dies hat wohl mannigfaltige Gründe, z. B. wurde der im Beispiel verwendete Parameter %D mittlerweile abgeschafft und darf nicht mehr benutzt werden.

Ich habe aber mal – für Demonstrationszwecke – die .desktop-Datei auf die Schnelle so umgebaut, dass sie funktionieren sollte. Auf das dritte Profil "on_desktop" habe ich, um mir die Arbeit zu erleichtern, ganz verzichtet:

Code: Alles auswählen

[Desktop Entry]
Type=Action
Name = Open terminal here
Icon = terminal
Profiles = on_folder; on_file;

[X-Action-Profile on_folder]
Name = open a terminal on the current folder or on the selected folder
MimeTypes = inode/directory;
SelectionCount = < 2
Exec = lxterminal --working-directory=%f

[X-Action-Profile on_file]
Name = open a terminal in the folder which contains selected items
MimeTypes = all/allfiles;
Exec = sh -c 'lxterminal --working-directory=$(dirname "%f")'
Gegebenenfalls lxterminal durch anderes Terminalprogramm ersetzen und Datei mit der Datei-Endung .desktop im Verzeichnis ~/.local/share/file-manager/actions speichern, dann klappt's – jedenfalls bei mir unter der GTK+-Version von PCManFM.

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

Re: Custom Actions bei PCManFM

Beitrag von Revod » 21.08.2018 19:05:11

Hi Leute

Auch ich versuche seid 3 Tage eine " X-Action... " für x-cd-image in PCManFM ( GTK, übrigens das Terminal Aktion ...desctop funktioniert bei mit unter lxde-gtk auch tadellos )

Was ich gemacht habe für eine Aktion für Iso, Img usw. um eine Iso mit PCManFM direkt einzubinden mit iso-mount.desktop,
[Desktop Entry]
Type=Action
Name = Iso mount
Icon = media-optical
Profiles = on_file;

[X-Action-Profile on_file]
Name = Mount Iso
MimeTypes = inode/allfiles;
SelectionCount = < 2
Exec = fuseiso -p = $(filename "%f")
Habe die Zeilen " Name, Ico und Exec " vom Terminal X-Action Desktop Datei geändert und das " on-folder " Sektion gänzlich weg editiert ( Gestern hatte ich auch so einen x-action ...desktop editiert und PCManFM zeigte es auch gestern nicht in der Liste an ).

Das Exec von Fuseiso habe ich aus dem Terminal
Usage: fuseiso [-n] [-p] [-c <iocharset>] [-h] <isofs_image_file> <mount_point> [<FUSE library options>]
Where options are:
-n -- do NOT maintain file $HOME/.mtab.fuseiso
-p -- maintain mount point;
create it if it does not exists and delete it on exit
-c <iocharset> -- specify iocharset for Joliet filesystem
-h -- print this screen

Common FUSE library options are:
-f -- run in foreground, do not daemonize
-d -- run in foreground and print debug information
-s -- run single-threaded
PCManFM zeigt mir das Aktion Symbol in der Liste nicht Mal an.

@ Huo

Wo stehe ich da das Schlauch, oder was wäre in der Desktop Datei richtig zu editieren ( Die Anleitungen die hier gelinkt wurden habe ich auch schon durch gelesen )?
Systemd und PulseAudio, hmmm, nein danke.

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

Re: Custom Actions bei PCManFM

Beitrag von Huo » 21.08.2018 20:57:26

@Revod: Ha, wenn ich jetzt die Custom Actions aller Benutzer redigieren sollte, wäre ich leicht überfordert; beschäftige mich ja auch nicht täglich mit den Dingern ... :wink:

Aber so klappt's bei mir:

Code: Alles auswählen

[Desktop Entry]
Type=Action
Name = Iso mount
Icon = media-optical
Profiles = on_file;

[X-Action-Profile on_file]
Name = Mount Iso
MimeTypes = application/x-cd-image;
Exec = sh -c 'fuseiso -p %f /media/fuseiso/$(basename "%f")_iso-mount'
Das Mountverzeichnis kann natürlich anders gewählt werden. Ich habe mir hierfür das Verzeichnis "/media/fuseiso" angelegt und dessen Besitzerrecht per "chown" auf meinen Standardbenutzer übertragen. Den Befehl hinter Exec musste ich nur deshalb mit "sh -c ..." einleiten, weil sonst die Kommandosubstitution $(basename "%f") nicht funktioniert.

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

Re: Custom Actions bei PCManFM

Beitrag von Revod » 21.08.2018 23:32:44

Danke Huo

Nee musst Du nicht, das sind eher seltene extravagante Wünsche, die wie ich durch Deine Befehlssequenz gemerkt habe viel Hintergrundwissen braucht und wie es für PCManFM und xy.desktop gültigen Zeichen die Zeile richtig mit den Sonderzeichen ( ' ' oder " " ) schreibt . Im lxde konnte ich bisher praktisch alles in der Art einrichten, mit einfachere Befehle. Mit " Appliction/x-cd-image " anstatt mit " inode/... " hatte ich auch bereits ohne Erfolg versucht.

Doch nun ja... soeben getestet, funktioniert, bei einen Benutzer Ordner nur mit volles Pfad. :D

Schon ok, PCManFM > Öffnen mit... > Furiusisomount klappt auch sehr schnell, oder mit SpaceFM.

Edit:

Doch, es funktioniert auch mit §HOME/Ordnername/Ordnername1 :THX: :THX:

Edit 2:
Exec = sh -c 'fusermount -u $HOME/Ordnername/Ordnername1/*.iso'
Klappt alles wunderbar, damit es so mit dem lösen klappt habe ich allerdings das " _iso-mount " hinten weg geputzt, weil fusermount keine grosse Optionen bietet, oder mit dem " basename " nicht klar kommt.

Danke Dir nochmals vielmals und vielleicht gucken die LXDE Benutzer hier rein.
Systemd und PulseAudio, hmmm, nein danke.

Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: Custom Actions bei PCManFM

Beitrag von Richard » 24.08.2018 09:16:27

Also ich hab an CA bisher alles hinbekommen, bis auf mehrere Einträge in eine Desktop-Datei unterzubringen.

Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: Custom Actions bei PCManFM

Beitrag von Richard » 26.08.2018 21:43:37

Hab es jetzt so gelöst, dass ich für jede Aktion eine eigene Desktop erstellt habe.

Weiß jemand wie man die CA sortieren kann? Bei KDE gab es dafür Werte die man eintragen konnte (eine Art "Wichtigkeit" von 99 absteigend).

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

Re: Custom Actions bei PCManFM

Beitrag von Huo » 28.08.2018 13:07:26

Ich konnte meine Custom Actions zwar anordnen, allerdings erscheinen sie dann in einem eigenen Untermenü des Kontextmenüs.

Hiertzu habe ich im Ordner ~/.local/share/file-manager/actions (also dort, wo auch die Desktop-Dateien für die Aktionen untergebracht sind), eine zusätzliche Desktop-Datei unter dem Namen level-zero.desktop mit folgendem Inhalt erstellt:

Code: Alles auswählen

[Desktop Entry]
Type=Menu
Icon=go-right
Name=Custom Actions
ItemsList=copy_file_name;show_mime_type;decrypt;set_as_wallpaper;edit_as_root;open-folder-as-root;SEPARATOR;show_image_data;show_image_keywords;set_image_keyword;delete_image_keyword;image_search;
Unter ItemsList habe ich in der gewünschten Reihenfolge die Namen der Aktions-Desktop-Dateien OHNE Endung .desktop aufgelistet (wohlgemerkt die Dateinamen, NICHT die in den Dateien definierten Namen für die Aktionen!). Mit dem Item SEPARATOR lässt sich das Untermenü, falls gewünscht, durch Trennstriche gliedern.

Antworten