Opened 12 years ago

Last modified 2 weeks ago

#9913 reopened bug

No word-wise jumping in Mail and Vision

Reported by: humdinger Owned by: jscipione
Priority: normal Milestone: Unscheduled
Component: Kits/Interface Kit Version: R1/Development
Keywords: shortcut Cc:
Blocked By: #9431 Blocking:
Platform: All

Description

This is hrev45830.

Since hrev44756, when the word-wise jumping shortcut-key was changed from CONTROL to COMMAND, that doesn't work any more for (at least) Mail and Vision. It's sorely missed...

Did we once say to use both CTRL and ALT for that function, so in case ALT+cursor is already taken by an app, CTRL+cursor is still there?

Change History (28)

comment:1 by pulkomandy, 10 years ago

This seems to be working in Mail currently (hrev48547). Vision is still using the shortcut (for folding and unfolding of the channel list apparently). Do we really want to have the shortcut on CTRL as well (or as a replacement?). Isn't changing Vision to not use it better?

comment:2 by humdinger, 10 years ago

I'd have no problem with changing Vision. Personally, I never had the need to collaps/unfold the channel-list anyway. And I can't even remember why we had to change the word-wse jumping from CTRL to CMD...

Anyway, this would still leave the Terminal that still uses CTRL+cursor.

comment:3 by anevilyak, 10 years ago

Just as a counterpoint, I'd like to note that Vision's been using those exact shortcuts since BeOS R5, it doesn't seem entirely reasonable to me to suddenly take them over and say every app that was using them suddenly has to change, especially since cmd + arrow in general I could see having a quite broad set of uses in apps. I likewise don't actually see the rationale for the word-wise jumping to have been changed to begin with.

comment:5 by anevilyak, 10 years ago

In this case that introduces inconsistencies into the app though, since it uses cmd and/or cmd+shift along with the arrow combinations to navigate said list as well as the collapse/expand shortcuts. Now all of a sudden you have to remember to use a different combo for manipulating the list in a certain way. This isn't an improvement.

comment:6 by anevilyak, 10 years ago

I might further note, it's currently done via a menu item that has an associated keyboard shortcut. BMenuItem shortcuts currently implicitly require command.

comment:7 by pulkomandy, 10 years ago

The ML thread more or less concluded that both CTRL and CMD + Arrows should do word-wise navigation, with the latter disabled if the app overrides it with a custom shortcut. I find that needlesly complex and would revert to the old behavior of using CTRL (if only for compatibility with BeOS), but I don't use the shortcut much so I'm not going to insist on it.

in reply to:  7 comment:8 by humdinger, 10 years ago

Replying to pulkomandy:

... and would revert to the old behavior of using CTRL (if only for compatibility with BeOS),

+1

but I don't use the shortcut much so I'm not going to insist on it.

I use it all the time. :)

comment:9 by jscipione, 10 years ago

From Oliver in the linked mailing list discussion above:

"Concerning the clashes with existing application shortcuts, this is just a bug in the implementation - the idea was to let BTextview activate the shortcut only temporarily when it has focus, but some part of that doesn't work quite right."

This is the correct way to handle the problem IMHO which is how it got implemented in Web+ which had the same problem. Yes, Cmd+Left & Cmd+Right may be used by applications, but, when the BTextView has focus these shortcuts are temporarily used by BTextView. Switching back to Ctrl is a hack.

comment:10 by jscipione, 9 years ago

Owner: changed from zooey to jscipione
Status: newassigned

comment:11 by jscipione, 9 years ago

Resolution: fixed
Status: assignedclosed

Fixed in hrev50156

comment:12 by humdinger, 8 years ago

Milestone: R1/beta1Unscheduled
Resolution: fixed
Status: closedreopened

This is hrev50544.

Sorry for re-opening this ticket, seemingly without specific cause... This is something that has annoyed me for many years (I can't believe it's been torturing me for almost 4 years now!!).

I don't think the issue is really fixed.

Ever since the keyboard shortcut to jump wordwise in a text view was changed from CTRL+cursor to CMD+cursor, the behaviour is inconsistent between applications. Most notably, Terminal still jumps using CTRL, Vision doesn't word-jump at all, and Web+ doesn't either (CMD+cursorLeft goes Back instead). Mail had a very intuitive quoting shortcut with CMD+cursor, the one it uses now isn't reachable with my keymap.
Esp. in Web+ I often sigh aloud, because I don't dare use either CMD or CTRL + cursor, because I can't remember which one does/doesn't work and I don't want to potentially lose my text...

A TextView overriding CMD+cursor to word-jump when it's active isn't always useful. See Vision, where the TextView is pretty much always active. It also doesn't work there. Neither in Web+. Having CMD+cursor also might come in handy for a text editor (for indenting, for example).

Going back to system-wide CTRL+cursor for word-jumping is the simplest, sanest solution IMO. Otherwise, I implore you to please end my misery and adapt all apps to be consistent, most importantly Web+ and Terminal. Vision is an external app, but it should also be adapted.

in reply to:  12 ; comment:13 by jscipione, 8 years ago

Replying to humdinger:

Ever since the keyboard shortcut to jump wordwise in a text view was changed from CTRL+cursor to CMD+cursor, the behaviour is inconsistent between applications. Most notably, Terminal still jumps using CTRL, Vision doesn't word-jump at all, and Web+ doesn't either (CMD+cursorLeft goes Back instead). Mail had a very intuitive quoting shortcut with CMD+cursor, the one it uses now isn't reachable with my keymap.

Cmd+arrows does work in WebPositive in the address bar, but it doesn't work in text fields on webpages. Granted that is pretty annoying.

Terminal is its own beast when it comes to shortcuts I'm afraid. I am surprised that Ctrl+arrows does work jumping there, typically I use esc then B, esc then F (Emacs keybindings) to move back and forwards by words. This is terminal specific behavior though.

As far as Mail goes I guess that is my fault. I thought Cmd+' (quote) would be an intuitive shortcut for quoting. I'm not sure that Cmd+arrows is the right shortcut for this feature either. Another possibility I considered was using Cmd+] and Cmd+[ to quote and unquote respectively. This is a common idiom used for intending and de-indenting in text editor applications (like Pe). However, those shortcuts may not exist on international keyboards.

Esp. in Web+ I often sigh aloud, because I don't dare use either CMD or CTRL + cursor, because I can't remember which one does/doesn't work and I don't want to potentially lose my text...

This seems to be a problem on Macs too that use Command for back and forth as well as word-wise text navigation. However, it is used much more consistently on that platform so is less of an issue.

A TextView overriding CMD+cursor to word-jump when it's active isn't always useful. See Vision, where the TextView is pretty much always active. It also doesn't work there. Neither in Web+. Having CMD+cursor also might come in handy for a text editor (for indenting, for example).

I made some attempts at altering the Vision code to do text nav with Cmd+arrows but haven't had any success.

Going back to system-wide CTRL+cursor for word-jumping is the simplest, sanest solution IMO. Otherwise, I implore you to please end my misery and adapt all apps to be consistent, most importantly Web+ and Terminal. Vision is an external app, but it should also be adapted.

Did Ctrl+arrows do word-wise jumping on BeOS? From what I remember BeOS didn't support word-wise jumping at all.

in reply to:  13 comment:14 by humdinger, 8 years ago

Replying to jscipione:

As far as Mail goes I guess that is my fault. I thought Cmd+' (quote) would be an intuitive shortcut for quoting. I'm not sure that Cmd+arrows is the right shortcut for this feature either.

It's nice to have CTRL+cursor left/right, because it's not just quoting, but in/decrease the level of quoting.

Did Ctrl+arrows do word-wise jumping on BeOS? From what I remember BeOS didn't support word-wise jumping at all.

You may be right, I'm not 100% sure. But I think I remember a feeling of deepest joy, when word-jumping was introduced...

WRT using CTRL instead of CMD for cursor-jumping being different to other OS, I say it's just another little quirk of Haiku that people will have to come to terms with. :) The advantage that using CTRL for cursor-positioning never collides with an app command (all using CMD) are well worth it, IMO.

comment:15 by humdinger, 6 years ago

I'm going thru all my open tickets to see what can be closed. Just going to say, after all these years, this is still by far the most annoying thing for me using Haiku.

I could rely on CTRL+cursor word-jumping in every app. For years now, I don't dare using ALT+cursor, because the app may use that as a command (it's the Command key, after all). Web+ might move back instead (if I changed the focus accidentally, thought ALT+cursor doesn't word-jump anyway, it seems...), Vision folds channels, Terminal word-jumps with CTRL, any app may use ALT+cursor for something else... Frustrating.

comment:16 by jscipione, 14 months ago

https://review.haiku-os.org/c/haiku/+/7289

This fixes the problem in so far as it assigns arrow keys to both Control and Alt so that at least one of the two will be available to use.

We could still change or remove the open/close channels list shortcut in Vision so that Alt could be used instead of Ctrl in the chat box to move to beginning or end.

comment:17 by jscipione, 2 weeks ago

Fix described in previous comment implemented in hrev58589. You may now use either Ctrl or Alt + arrows to do line-wise jumping in BTextViews and Opt + arrows to do word-wise jumping. If Alt + arrows is taken by an application for example in Vision to open/close the channel list you'll have to settle for using the other one.

comment:18 by jscipione, 2 weeks ago

Blocked By: 9431 added

Opt + arrows to do word-wise jumping is still overloaded by Stack & Tile

The proposed fix for this issue is here: https://review.haiku-os.org/c/haiku/+/7294

comment:19 by humdinger, 2 weeks ago

Ctrl or Alt + arrows to do line-wise jumping

What's "line-wise jumping" supposed to do? I checked in Mail, and it appears to do the same as ALT+Pos1 and ALT+End, i.e. jump to the text box beginng/end. Is a combo to "line-wise jump" really needed?

comment:20 by waddlesplash, 2 weeks ago

If that's the behavior, I'd say not?

comment:21 by jscipione, 2 weeks ago

Line-wise jumping activated with Ctrl+left/right and Alt+left/right goes to the beginning or the end of the current line, same as home and end.

Word-wise jumping activated with Option+left/right goes the beginning and end of the current word.

Doc-wise jumping goes the beginning or end of the whole document activated via Ctrl+up/down, Alt+up/down and Alt+home/end.

This change is intentional. The philosophy here is that the Command key + arrows makes big jumps, option key makes small jumps, Ctrl is a backup for Alt to make big jumps. It's easier to alternate between Alt and Opt than to go all the way to the upper right for home and end to quickly move around and/or select parts of a document.

All of the above may be combined with Shift to select instead of navigate.

comment:22 by waddlesplash, 2 weeks ago

Yes, but why do we need these shortcuts in addition to Home and End? It just seems redundant?

If there are keyboards (like Apple ones) that lack Home/End and people want them, then we should have a global keymapping for them, not add more shortcuts to controls.

comment:23 by jscipione, 2 weeks ago

The redundant part is ok, it's about creating easy access to these modifiers so you may move around quickly without having to move your hands off of the arrow keys. If you have to go to Home/End you can't easily switch between line-wise and word-wise jumping/selecting. Option + up/down is supposed to do "paragraph" jump, the small jump compared to the big document jump but that is trickier to implement.

comment:24 by waddlesplash, 2 weeks ago

Well, if we decide to keep those shortcuts merely for convenience, they still need to be documented in the Userguide then.

comment:25 by humdinger, 2 weeks ago

It looks like I misremembered that "line jumping" shortcut. It's like jscipione wrote in comment:21.

[BTW, annoyingly enough, no keycombo works to word-jump in this comment box under Web+...]

I'll add the keycombo changes to the userguide when the S&T collision is corrected.

comment:26 by waddlesplash, 2 weeks ago

IMO, "Opt" should be generally reserved for system-level shortcuts like window management or the Deskbar and should not affect individual textboxes.

comment:27 by jscipione, 2 weeks ago

System level shortcuts generally use Ctrl + Alt, Opt is used by Stack and Tile and currently conflicts but I have a patch set to fix this. I understand what you’re going for but BTextView navigation is very important and sensitive. We can’t do the Windows thing of using Opt as global shortcut for things like minimize unless we switch to an AltGr type system since Opt is used to produce “special” characters in every keymap except US.

comment:28 by waddlesplash, 2 weeks ago

We already have TODOs about switching to AltGr, don't we?

Note: See TracTickets for help on using tickets.