From: Mario S. <ma...@er...> - 2004-05-06 11:29:11
|
Hi, Does anyone know, if there is a way to make easy text selection with SHIFT+ARROWS work in joe? I personally doubt this can be configured, but since 3.0 now enlarges the text selection block while moving the cursor around, it should be possible to hack this in. Is there a patch for something that way? Regards, mario |
From: David P. <da...@ac...> - 2004-05-06 14:47:06
|
Mario Salzer writes: > Does anyone know, if there is a way to make easy text selection > with SHIFT+ARROWS work in joe? I personally doubt this can be > configured, but since 3.0 now enlarges the text selection block > while moving the cursor around, it should be possible to hack > this in. Unfortunately not. There is no way to capture that key combination. -- David Phillips <da...@ac...> http://david.acz.org/ |
From: Mikhael G. <mi...@ho...> - 2004-05-06 15:09:52
|
On 06 May 2004 09:47:02 -0500, David Phillips wrote: > > Mario Salzer writes: > > Does anyone know, if there is a way to make easy text selection > > with SHIFT+ARROWS work in joe? I personally doubt this can be > > configured, but since 3.0 now enlarges the text selection block > > while moving the cursor around, it should be possible to hack > > this in. > > Unfortunately not. There is no way to capture that key combination. This is not true with the modern terminfo, here it generates "^[[1;2C" for Shift-rightarrow, for example. I wrote a dirty patch a year ago for my own use, it introduces some new commands that enable selection using Shift-arrows, Shift-PgDn/PgUp. This path does not conflict with cvs version, but it is not finished. I will be online in 2-3 days only, then I may post my idea/patch. If noone else has a better idea/patch, of course. :) Regards, Mikhael. |
From: Koblinger E. <eg...@uh...> - 2004-05-06 15:15:46
|
On Thu, 6 May 2004, Mikhael Goikhman wrote: > This is not true with the modern terminfo, here it generates "^[[1;2C" > for Shift-rightarrow, for example. well... on my system linux console sends ^[[C (the same as without shift) xterm sends ^[[1;2C gnome-terminal (gnome 2.4) sends ^[[2C konsole (kde 3.2) does nothing -- Egmont |
From: <ja...@av...> - 2004-05-06 18:40:34
|
Try the latest CVS version of JOE: Ctrl-Right Arrow select right Ctrl-Left Arrow select left Ctrl-Up Arrow select up Ctrl-Dn Arrow select down Ctrl-Del cut (^K Y if this doesn't work) Ctrl-Ins paste (ESC y if this doesn't work) Take a look at the joerc file to see how these work. I think it really needs more work: you want the block to go away if you hit any other key. Also there's the drop anchor key in jmacs: Ctrl-space, move cursor, Ctrl-W to cut, Ctrl-Y to paste. |
From: Mario S. <ma...@er...> - 2004-05-06 21:02:43
|
Hey, Joe wrote: > Try the latest CVS version of JOE: > Ctrl-Right Arrow select right > Ctrl-Left Arrow select left > ... > Take a look at the joerc file to see how these work. I could have lived with Mikhaels "dirty patch", but that sounds even better! But does it work under the linux virtual console - cause other posters already pointed out, that capturing shift keys or shift+extendedkeys is somewhat problematic there? (One of those things, that has been so much easier in DOS times ;) Moritz wrote: > You indeed cannot_ see "shift-press, move, shift-release". This is what > you really want, in order to mark a block, right? (Or can ncurses do > that?) I don't think capturing the shift alone is really necessary, because the selected block only needed to change, if a combination of shift+ something was detected. I know it was otherwise only detectable in raw keyboard mode or so. > > I think it really needs more work: you want the block to go > away if you hit any other key. Also there's the drop anchor > key in jmacs: Ctrl-space, move cursor, Ctrl-W to cut, Ctrl-Y to > paste. It probably doesn't need to be complicated much further - if that hack just can be used alternatively to ^K B and ^K K, then this would be fine (I doubt I would switch to the shift+arrow sequences that quickly again, anyhow). Do the new key sequences introduce some 'new type of block selection', or is this really just an alias to the existing code? Thanks so far, mario |
From: Mikhael G. <mi...@ho...> - 2004-05-07 02:04:42
Attachments:
markextend-markfinish.patch
|
On 06 May 2004 14:41:50 -0400, ja...@av... wrote: > > Try the latest CVS version of JOE: > > Ctrl-Right Arrow select right > Ctrl-Left Arrow select left > Ctrl-Up Arrow select up > Ctrl-Dn Arrow select down > Ctrl-Del cut (^K Y if this doesn't work) > Ctrl-Ins paste (ESC y if this doesn't work) > > Take a look at the joerc file to see how these work. > > I think it really needs more work: you want the block to go > away if you hit any other key. No, I never want the block to go away until I explicitely disable it (using Ctrl-K B, Ctrl K K, or your new Ctrl-space shortcut). > Also there's the drop anchor key in jmacs: Ctrl-space, move cursor, > Ctrl-W to cut, Ctrl-Y to paste. Just tried the cvs and defined Shift-anything instead of Ctrl-anything. No, I don't think it works well... My idea was definitelly better. :-) Here is what my patch does: markextend,uparw,markfinish ^[ [ 2 A markextend,dnarw,markfinish ^[ [ 2 B markextend,rtarw,markfinish ^[ [ 2 C markextend,ltarw,markfinish ^[ [ 2 D The new commands markextend and markfinish are smart and work differently depending on whether we were at the selection block edges (then they extend that edge) or not at the edge (then they start the new selection). I attach the patch. I warned you, it is not finished. :-) I am sure you may improve the idea and implementation. Regards, Mikhael. |
From: <ja...@av...> - 2004-05-06 18:50:16
|
Also in jmacs: try "Marking" mode (ESC ESC, look for Marking). Hit Ctrl-space to drop anchor, move cursor around- block will be highlighted, then hit ^W for cut, ^Y for paste. Hit Ctrl-space again cancels the marking. Even if you don't use jmacs, you could use it as an example to customize your joerc. Other people will want Ctrl right-arrow to move to next word, or indent block more. |
From: Moritz B. <bar...@gm...> - 2004-05-06 19:30:05
|
On Thu, May 06, 2004 at 14:52:21 -0400, ja...@av... wrote: > Other people will want Ctrl right-arrow to move to next word, or indent > block more. Indeed. But the code seems to be there. I'll go check CVS right now. :) Thanks, Joe, Moritz |
From: David P. <da...@ac...> - 2004-05-07 00:35:40
|
Mikhael Goikhman writes: > This is not true with the modern terminfo, here it generates "^[[1;2C" > for Shift-rightarrow, for example. It doesn't work for me on Debian (TERM=xterm) or FreeBSD (TERM=xterm-color) using PuTTY. Does it work for you with this test program? #!/usr/bin/env python import curses import curses.wrapper def test(screen): screen.scrollok(True) while True: c = screen.getch() screen.addstr("%3i = %s\n" % (c, curses.keyname(c))) screen.refresh() if c == ord('q'): break try: curses.wrapper(test) except: pass -- David Phillips <da...@ac...> http://david.acz.org/ |
From: Mikhael G. <mi...@ho...> - 2004-05-07 01:02:49
|
On 06 May 2004 19:35:38 -0500, David Phillips wrote: > > Mikhael Goikhman writes: > > This is not true with the modern terminals [typo fixed], here it > > generates "^[[1;2C" for Shift-rightarrow, for example. > > It doesn't work for me on Debian (TERM=xterm) or FreeBSD (TERM=xterm-color) > using PuTTY. Does it work for you with this test program? Yes, sure, the same key sequence for Shift-rightarrow. What is your xterm version? Mine is from XFree86 4.3.0, but as I said, it worked earlier too. gnome-terminal produces "^[[2C", aterm and rxvt both produce "^[[c" (note the lowecased "C"), konsole produces nothing. Shift-arrows, Ctrl-arrows, Alt-arrows all produce different sequences in xterm and some other terminal emulators. Regards, Mikhael. |
From: David P. <da...@ac...> - 2004-05-07 01:35:34
|
Mikhael Goikhman writes: > What is your xterm version? I'm using PuTTY 0.54. -- David Phillips <da...@ac...> http://david.acz.org/ |
From: Moritz B. <mo...@ba...> - 2004-05-06 15:54:35
|
Hi, David wrote: > Mario Salzer writes: > > with SHIFT+ARROWS work in joe? I personally doubt this can be > Unfortunately not. There is no way to capture that key combination. Then how does joe capture the arrow keys themself? Terminal sequences? If character sequences are sufficient (like for "nextword"), most of my terminals (not the blasted gnome-terminal though) produce different sequences for shift-arrow. You could define the keybindings shiftleft ^[ [ d shift-left in rxvt shiftright ^[ [ c shift-right in rxvt and then write a macro which moves one to the left/right (ltarw/rtarw) and then set the end of the block there (markk). But you'd have to know whether the you really need to set the end of the beginning (is the block before or after). Sometimes, you might need to guess. You indeed cannot_ see "shift-press, move, shift-release". This is what you really want, in order to mark a block, right? (Or can ncurses do that?) Regards, Moritz |