> > As I use the new ginput.m for accessing gnuplot mousing events from
> > Octave, I can see some current "inconvencies". In principle, we would be
> > of advantage to get ginput(n) functionality of Matlab.
> I've never used Matlab. Perhaps you could cut-and-paste a man page
> description of ginput(n) so that I know what you have in mind?
In summary, it returns mouse position (x,y) and which mouse button was
clicked (1, 2, 3 from left) or ASCII number if key on the keyboard was hit,
at that position.
> > B. Mousing hotkeys (including those "hardcoded" to x11 like "q" and
> > "space") should be disabled during "pause mouse".
> Why would you want to do that?
From Octave, I run 3 instances of gnuplot. The main one draws a map. I do
"infinitely" 'pause mouse' and analyze key or mouse: if 'h' pressed => draw
horizontal section through the map in 2nd gnuplot, 'v' for vertical in 3rd
gnuplot, 'q' get off the loop.
> I should think it would be useful to be able to zoom, unzoom, and rotate
> during mouse mode. Same for the space key.
Sometimes yes, sometimes not => that's why my proposal for
pause mouse key
will pause until mouse click or key press, with gnuplot default hotkeys
being switched off.
> If you want character input rather than mouse coordinates, then
> why are you issuing a 'pause mouse' command in the first place?
I want to know the key pressed in x11 graph.
> You want a way to back out of a 'pause mouse' command without
> actually sending mouse coordinates, is that right?
No, I want them too.
> Would it be sufficient to activate a SIGINT handling routine for the
> plot window during pause mouse, so that you can type ctrl-C in it?
> > - x11_set_cursor(), pm_set_cursor() etc. should be changed from
> > term_set_cursor(int type, int x, int y)
> > to
> > term_set_special(int what, int option, int x, int y)
> Those are functionally equivalent, aren't they?
Currently only for what==TERM_SPECIAL_SETCURSOR
> Your first pair of examples below use an extra parameter, but it doesn't
> gain anything other the second pair.
> > term->set_special(TERM_SPECIAL_HOTKEYS, 1, 0, 0) // enable hotkeys
> > term->set_special(TERM_SPECIAL_HOTKEYS, 0, 0, 0) // disable
> > term->set_special(TERM_SPECIAL_RAISE, 0, 0, 0) // used by "raise" and
> > term->set_special(TERM_SPECIAL_LOWER, 0, 0, 0) // "lower" commands
The main idea is to avoid plenty of new x11/pm/win API functions in x11.trm,
pm.trm, win.trm, rather than adding a new integer (command) into a table of
interactive terminal functions.
=> support for commands "raise", "lower", "setcursor", "switch hotkeys" etc.
would be done without touching x11.trm, pm.trm etc -- just add one #define
TERM_SPECIAL_BLA into a common .h file, and implement the catch for this
TERM_SPECIAL_BLA in gclient.c, gplt_x11.c or ... (and if not implemented,
then it is silently ignored).
I hope I made it more clear now.