Re: Using emelfm2 - questions, thanks.

  • From: <tpgww@xxxxxxxxxxx>
  • To: emelfm2@xxxxxxxxxxxxx
  • Date: Wed, 30 Jul 2008 12:16:20 +1000

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.

Other related posts: