On Tue, 29 Jul 2008 11:24:21 -0500 Adam Krolnik <adam.krolnik@xxxxxxxxxxxxxxx> wrote: > I want to bind F10 to {command.focus; <down>; <enter>} > so I can click on the app (anywhere) and execute the last command again. > This helps when running a command, switching to the output file window > and updating > that, fixing a problem and then rerunning the command that started it all. > > That's why I'm looking for an action to bring up the last command and an > action to run > the command. I see, fake key-press(es), not just a different one. Are you up for some experimentation? In emelfm2.h (around about line 216) there's a line //#define E2_KEYALIAS Un-comment that line and clean and rebuild, there should be another action key.alias <arg> which is conceptually similar to a command alias. <arg> is a string indicating which key(s) are to be issued. Each key name must be in a form parsable by gtk e.g. <Ctrl><Alt>m (see keybindings config for examples). Sequential keys must be separated by ' ' ('space' without quotes issues an actual space-key). This stuff was coded long ago, and I don't recall if it was much tested. Now that I glance at it again, I see one problem: e2_keybinding.c at line 985, insert 2 lines as follows: if (from == NULL) from = app.main_window; gtk_propagate_event ((GtkWidget *)from, event2); <<< original line 985 This fix would work but not be entirely correct, 'from' really should be the actual widget to which the keypress is bound. No easy way to fix that. After these changes I guess you could bind F10 to: <custom command> command.focus;key.alias Down Return On another matter you raised, svn code now handles commands: set, set A B, set A=B, set A, set A= with optional whitespace around any '='. I need to think about whether an internal variable should automatically also become an external one, or even whether to abandon internal ones completely, in which case whether to discard the 'set' syntax again. Regards Tom -- Users can unsubscribe from the list by sending email to emelfm2-request@xxxxxxxxxxxxx with 'unsubscribe' in the subject field or by logging into the web interface.