News for hackers. Stuff that matters.
Re:i3 4.18 by jolmg on Monday February 17, 2020 @02:06PM (#22349758)
With exception of the directional keybindings. I wonder how it came to be that the defaults are "jkl;" for the directions instead of the "hjkl" used by everything else (vi(m), less, shells, repls, etc.).
Re:i3 4.18 by yyhhsj0521 on Monday February 17, 2020 @02:12PM (#22349820)
It seems that the intention was to emulate Vim [0], maybe the author was not familiar with it and made a mistake?

[0] https://github.com/i3/i3/commit/6d0071db197031845b5f77febc22...

Re:i3 4.18 by ppseafield on Monday February 17, 2020 @03:10PM (#22350303)
IIRC it was deliberate so that users wouldn't have to move off the home row. The User's Guide states this is the reasoning behind it.

> To move the focus between the two terminals, you can use the direction keys which you may know from the editor vi. However, in i3, your homerow is used for these keys (in vi, the keys are shifted to the left by one for compatibility with most keyboard layouts). Therefore, $mod+j is left, $mod+k is down, $mod+l is up and $mod+; is right.

https://i3wm.org/docs/userguide.html

Re:i3 4.18 by jolmg on Monday February 17, 2020 @04:27PM (#22350960)
> in vi, the keys are shifted to the left by one for compatibility with most keyboard layouts

I wonder where they got that idea. The keys are "hjkl" simply because they were inscribed with arrows in the machine Bill Joy used when creating vi[1][2]. From [1]:

> Joy used a Lear Siegler ADM-3A terminal... the keys h,j,k,l served double duty as cursor movement keys and were inscribed with arrows, which is why vi uses them in that way.

The StackExchange question has a picture of the keys.

[1] https://en.wikipedia.org/wiki/Vi#Creation

[2] https://vi.stackexchange.com/a/9315/14283

Re:i3 4.18 by secure on Monday February 17, 2020 @04:34PM (#22351045)
I remember reading about that, but it must have been after I wrote that part of the userguide 11 years ago: https://github.com/i3/i3/commit/1fcad44f66926e679f4af6e4f4d6... :)

Can you send a PR for https://github.com/i3/i3/blob/30e886b0319ee948863a36a65e5b72... with your correction please?

Re:i3 4.18 by jolmg on Monday February 17, 2020 @04:44PM (#22351110)
I'm not sure what you want the correction to be. Just delete the note in parentheses? Or change the default to "hjkl"?
Re:i3 4.18 by secure on Monday February 17, 2020 @04:54PM (#22351191)
Ideally, replace the note in parentheses with the correct historical reason that you explained in your comment here? :)
Re:i3 4.18 by jolmg on Monday February 17, 2020 @05:27PM (#22351497)
Isn't the note there to explain why i3 differs from vi? Adding the historical reason why vi used hjkl doesn't seem to justify i3 differing. It's almost irrelevant.

Or do you think that not having arrows on "hjkl" is the justification of using "jkl;"?

Personally, I can't see a good reason for "jkl;". The rationale that those are the keys where the fingers rest has been brought up here, but here is my response:

https://news.ycombinator.com/item?id=22349868

The thing is that I believe the designers of ADM-3A made a good choice in putting the arrows on "hjkl" as opposed to "jkl;". It's much more ergonomic.

Re:i3 4.18 by jolmg on Tuesday February 18, 2020 @03:03PM (#22359768)
s/the justification of/a rationale to/ and s/justify/rationalize/.

Couldn't think of the right word at the time.

Re:i3 4.18 by awake on Monday February 17, 2020 @02:09PM (#22349782)
h for help and your fingers rest on jkl; not hjkl if you are typing with proper form
Re:i3 4.18 by jolmg on Monday February 17, 2020 @02:17PM (#22349868)
When you're browsing text, though, it's more common to move up and down in text than it is to move sideways.

If you're typing with proper form, "hjkl" results in the index finger moving down and the middle finger moving up. So, your most useful finger is used for the most common action, and your second most useful finger for the second most common action. What's probably the third most common action, moving left would be done with your index finger, and right with your ring finger. You'd never have to use your awkward pinky finger for anything.

With "jkl;", you'd be moving down with the middle finger, and up with the ring finger. Your dexterious index finger would be waiting for the moment when you'd want to move left, which is not as often, and you'd be encouraged to use your awkward pinky finger quite often.

This isn't necessarily the case when working with windows, but by now it's a matter of consistency. Although, encouraging to use the pinky finger and not being able to use the index finger for 2 actions still sucks.

Re:i3 4.18 by msoucy on Monday February 17, 2020 @02:09PM (#22349785)
Probably just QWERTY "home row" layout
Re:i3 4.18 by calvinmorrison on Monday February 17, 2020 @02:13PM (#22349830)
i am always surprised when people do not have

noremap ; l

noremap l k

noremap k j

noremap j h