Thanks. I have applied this, but I thought it was better to put the x-y and x-y-and-cancel in the same if() block so I have changed to do that. Let me know if you see any mistakes.
I didn't change the default keys. I don't want non-mouse default keys in the root table. I don't mind having bindings for S-NPage and S-PPage in copy mode though but you will need to add both I think. The changes should be GitHub next time it syncs up in an hour or so. On Wed, Nov 15, 2017 at 07:09:15PM -0800, Stephen Hicks wrote: > I've added the documentation. > I also went ahead and added S-PageUp and S-PageDown bindings to the > default keymap, the latter of which uses page-down-and-cancel.A This > mirrors the scrollback behavior of xterm and standard linux TTYs, and > should therefore be natural for many users (provided their terminals send > those keys in the first place).A If you want, I can revert that change. > On Sat, Nov 11, 2017 at 1:33 PM, Nicholas Marriott > <nicholas.marri...@gmail.com> wrote: > > thanks. you also need to add these to tmux.1 > > On Fri, Nov 10, 2017 at 02:53:26PM -0800, Stephen Hicks wrote: > >A A Sorry for the delay.AA I've redone the patch to instead provide > the > >A A -and-cancel versions of the three relevant commands > >A A (cursor-down-and-cancel doesn't seem to make sense, in my > opinion, nor > >A A does it currently respect the copy-mode -e flag). > >A A On Mon, Oct 30, 2017 at 12:51 AM, Nicholas Marriott > >A A <nicholas.marri...@gmail.com> wrote: > > > >A A A OK well we can just leave -e for the moment and have the new > commands as > >A A A well assuming the new diff is pretty small. > > > >A A A On Mon, Oct 30, 2017 at 03:50:15PM +1100, Cam Hutchison wrote: > >A A A > Yes, I have Prefix-[ and Prefix-^[ set to copy-mode, and > >A A A > MouseDrag1Pane, WheelUpPane and "-T root PPage" using > copy-mode -e. > >A A A > > >A A A > On 29 October 2017 at 19:34, Nicholas Marriott > >A A A > <nicholas.marri...@gmail.com> wrote: > >A A A > > Have you got some key bindings that do copy-mode -e and > some that > >A A A just > >A A A > > do plain copy-mode? > >A A A > > > >A A A > > > >A A A > > > >A A A > > On Sun, Oct 29, 2017 at 01:17:37PM +1100, Cam Hutchison > wrote: > >A A A > >> Stephen, > >A A A > >> > >A A A > >> Sorry for the delay in responding - life got in the > way... > >A A A > >> > >A A A > >> Stephen Hicks wrote: > >A A A > >> > In my mind, those two models are not mutually > exclusive.AA When I > >A A A use the > >A A A > >> > mouse wheel to initiate a scrollback, I do tend to be > in the > >A A A second model, > >A A A > >> > but on the keyboard, how I enter copy mode is more > related to > >A A A whether the > >A A A > >> > thing I'm looking for is on the screen or not, in > addition to > >A A A whether I'm > >A A A > >> > searching, scrolling, or copying. > >A A A > >> > >A A A > >> No, not mutually exclusive but when nicm said to also > remove the -e > >A A A > >> option, I didn't see how your proposed changes would > allow me to > >A A A retain > >A A A > >> the mode I ues. > >A A A > >> > >A A A > >> > My setting looks roughly like this: > >A A A > >> > > >A A A > >> > bind [ copy-mode > >A A A > >> > bind -n S-PgUp copy-mode -u > >A A A > >> > bind -T copy-mode PgUp send-keys -X page-up > >A A A > >> > bind -T copy-mode S-PgUp send-keys -X page-up > >A A A > >> > bind -T copy-mode PgDn send-keys -X page-down > >A A A > >> > bind -T copy-mode S-PgDn send-keys -X > page-down-maybe-cancel > >A A A > >> > >A A A > >> I wonder if a simpler way would be to define two new copy > mode > >A A A commands, > >A A A > >> autoexit-on and autoexit-off. It's not quite ideal as two > commands, > >A A A as > >A A A > >> it smells more like an option but there are no pane > options or copy > >A A A mode > >A A A > >> options. > >A A A > >> > >A A A > >> With these two commands, you could replace 'copy-mode -e' > with > >A A A > >> 'copy-mode; send-keys -X autoexit-on' and you could > replace your > >A A A > >> bindings with a similar sequence that sends autoexit-off > then > >A A A page-down, > >A A A > >> or autoexit-on then page-down, etc. > >A A A > >> > >A A A > >> That is, give control of the basic components needed to > compose the > >A A A > >> higher-level behaviour. > >A A A > >> > >A A A > >> I'd be happy with getting rid of copy-mode -e with > something like > >A A A this > >A A A > >> > >A A A > >> If I seem a little defensive of copy-mode -e its because > I added it > >A A A :-) > >A A A > >> > >A A A > >> Cheers, > >A A A > >> Cam > >A A A > >> > >A A A > >> > On Wed, Oct 25, 2017 at 7:37 PM, Cam Hutchison > <c...@camh.ch> > >A A A wrote: > >A A A > >> > > >A A A > >> > > On 26 October 2017 at 05:39, Stephen Hicks > >A A A <stephenhi...@gmail.com> wrote: > >A A A > >> > > > I appreciate the patch that went in a while back to > add > >A A A "copy-mode -e", > >A A A > >> > > > allowing to automatically exit copy-mode when > reaching the > >A A A bottom of the > >A A A > >> > > > buffer.AA But I find that this functionality is a > bit of > >A A A "spooky action > >A A A > >> > > at a > >A A A > >> > > > distance": the decision to exit depends not on the > input the > >A A A caused the > >A A A > >> > > > scroll-down, but instead of the input that > initially scrolled > >A A A up. > >A A A > >> > > > >A A A > >> > > I'm not sure I understand your use case or your issue > with the > >A A A current > >A A A > >> > > behaviour. Is it just the "spooky action at a > distance" that > >A A A you object to? > >A A A > >> > > > >A A A > >> > > The current behaviour is intended to model two > different ways > >A A A that copy > >A A A > >> > > mode can be used: > >A A A > >> > > > >A A A > >> > > 1) The normal mode where you are copying data out of > the > >A A A scrollback > >A A A > >> > > buffer, searching through it, or some other explicit > action. > >A A A This mode > >A A A > >> > > requires you to take an equally explicit action to > exit. > >A A A > >> > > > >A A A > >> > > 2) Scrollback mode, where you are just scrolling back > through > >A A A the > >A A A > >> > > terminal history. In this mode, you enter typically > with just a > >A A A PageUp > >A A A > >> > > or ScrollUp event, not a binding that is explicitly > copy-mode. > >A A A This > >A A A > >> > > way, exiting mirrors your entry - when you scroll > back to where > >A A A you > >A A A > >> > > started, you're no longer in copy mode. > >A A A > >> > > > >A A A > >> > > I don't understand the "spooky action at a distance" > (I get > >A A A that how you > >A A A > >> > > enter the mode defines how you can exit the mode, but > that's > >A A A all related > >A A A > >> > > and not spooky unrelated stuff, or at a distance). > >A A A > >> > > > >A A A > >> > > I can't see how your approach allows the distinction > between > >A A A these two > >A A A > >> > > use cases to be retained. Perhaps using separate key > tables, > >A A A but that > >A A A > >> > > feels like a lot of extra configuration. > >A A A > >> > > > >A A A > >> > > Can you explain why you want to change this? > >A A A > >> > > > >A A A > >> > > > > >A A A > >> > > > I've put together a small patch to allow opting > into the > >A A A auto-exit > >A A A > >> > > behavior > >A A A > >> > > > on scroll-down commands instead.AA Currently I've > overloaded > >A A A the > >A A A > >> > > send-keys -R > >A A A > >> > > > argument (which seems somewhat appropriate given > that exiting > >A A A copy-mode > >A A A > >> > > is a > >A A A > >> > > > sort of "reset"), but I'd also be happy to find a > different > >A A A way to pass > >A A A > >> > > the > >A A A > >> > > > option (either adding an additional argument to > send-keys, or > >A A A adding > >A A A > >> > > > scroll-down, etc, to the 1-arg branch so that you'd > write > >A A A "send-keys -X > >A A A > >> > > > scroll-down -e", though in that case I'm not sure > what to do > >A A A if the > >A A A > >> > > argument > >A A A > >> > > > is anything *other* than -e - currently it silently > does > >A A A nothing if a > >A A A > >> > > > command has the wrong (number of) arguments, which > isn't > >A A A great. > >A A A > >> > > > > >A A A > >> > > > Please let me know how to proceed so that this > functionality > >A A A can be > >A A A > >> > > added. > >A A A > >> > > > Or if you'd rather continue on a GitHub pull > request, that > >A A A would be > >A A A > >> > > great as > >A A A > >> > > > well. > >A A A > >> > > > > >A A A > >> > > > Thanks! > >A A A > >> > > > steve > >A A A > >> > > > > >A A A > >> > > > -- > >A A A > >> > > > You received this message because you are > subscribed to the > >A A A Google Groups > >A A A > >> > > > "tmux-users" group. > >A A A > >> > > > To unsubscribe from this group and stop receiving > emails from > >A A A it, send an > >A A A > >> > > > email to tmux-users+unsubscr...@googlegroups.com. > >A A A > >> > > > To post to this group, send email to > >A A A tmux-users@googlegroups.com. > >A A A > >> > > > For more options, visit > https://groups.google.com/d/optout. > >A A A > >> > > > >A A A > >> > >A A A > >> -- > >A A A > >> You received this message because you are subscribed to > the Google > >A A A Groups "tmux-users" group. > >A A A > >> To unsubscribe from this group and stop receiving emails > from it, > >A A A send an email to tmux-users+unsubscr...@googlegroups.com. > >A A A > >> To post to this group, send an email to > >A A A tmux-users@googlegroups.com. > >A A A > >> For more options, visit > https://groups.google.com/d/optout. > >A A A > > > >A A A > > -- > >A A A > > You received this message because you are subscribed to > the Google > >A A A Groups "tmux-users" group. > >A A A > > To unsubscribe from this group and stop receiving emails > from it, > >A A A send an email to tmux-users+unsubscr...@googlegroups.com. > >A A A > > To post to this group, send an email to > tmux-users@googlegroups.com. > >A A A > > For more options, visit > https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "tmux-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to tmux-users+unsubscr...@googlegroups.com. To post to this group, send an email to tmux-users@googlegroups.com. For more options, visit https://groups.google.com/d/optout.