google_translate: Make possible to save triggers with translate
We mark the _Language class as serilizable; Kupfer will then save a
representation of the Language object right in the trigger (since it
can't find the language in the catalog). The only important part saved
is the _Language.object attribute.
If the plugin changes incompatibly in relation to _Language, you can
increase the 'serilizable' number: if it doesn't match the saved copy,
the serialized trigger won't be active anymore.
higherorder: Run (Take Result) and Run (Discard Result)
The Take Result action allows the user to make triggers where you
chain actions: Execute one action dynamically, then apply another
action on the result.
For example, a two-part trigger that creates a new document, then
opens it.
(Selected File (folder)) -> Create New Document -> Latex-Template
Ctrl+Return
Take Result
Return
Result of .. (..) -> Open With -> Vim
Ctrl+Return
(Composed object) -> Add Trigger.. -> ..
higherorder: Extra actions for triggers and similar
We start with an action "Select in Kupfer": it only makes sense in
Triggers or delayed commands. With it, you can make a trigger to
show Kupfer, with a particular object selected. It is much like the
"magic keybinding" for current selection, but for any object.
Using __slots__ limits object compatibility (technical Python stuff),
while we can't even measure if it saves us any memory. Better avoid
this "optimization".