On Mon, 21 Jun 2021 01:48:17 +0000
dep via tde-users <users(a)trinitydesktop.org> wrote:
said E. Liddell:
| If it's a true plugin, it probably doesn't *have* a separate executable.
| Plugins are sort of like the inverse of libraries: they implement some
| sort of interface or contract provided by the host program. The kipi
| plugins appear to implement a common interface used by multiple TDE
| graphics programs.
I considered that possibility, but there has to be some way to invoke it.
Through whatever interface is in the program, usually.
| Unless you can figure out how to use DCOP to send a
message to gwenview
| that will force-invoke the plugin, or you're willing to write some kind
| of kipi stub-invoker, I suspect you're out of luck here.
Do you think that the code in the actual menu entry contains all that code?
Because all I hope to do it copy it from one menu on Gwenview to another
menu in Gwenview, the latter being a freely editable one. It's not as if I
want it to run free-standing, or to open it in a different program. Juast
literally move it from one menu to another.
I expect the menu code calls a function somewhere. If you're willing to
muck around with the gwenview source, it should theoretically be
possible to replicate the original menu item (unless TDE did something
really weird here).
I don't use gwenview, but have you checked for a way to create a
toolbar button for this plugin, or bind its invocation to a keystroke?
Seems to me that that would be easier all around.
Something that also puzzled me a little is that there
is a
kipiplugin.metadataedit.desktop file (in /opt/trinity/share/services).
Beyond listing every language spoken in the solar system and nearby parts
of the galaxy, it has this:
X-TDE-ServiceTypes=KIPI/Plugin
Type=Service
X-TDE-Library=kipiplugin_metadataedit
Which I'm sure means something, though I know not what, beyond the
extremely obvious.
Examining the other files in the share/services directory suggests it's TDE's
dumping ground for invocation information on plugins, embeds, and
protocols. Poking around inside a couple of them suggests that if any of
these has a separate executable, the file will contain a line "Exec=[name]".
Look in kxkb.desktop for an example.
E. Liddell