{"action":"created","issue":{"url":"https://api.github.com/repos/emacs-helm/helm/issues/1203","labels_url":"https://api.github.com/repos/emacs-helm/helm/issues/1203/labels{/name}","comments_url":"https://api.github.com/repos/emacs-helm/helm/issues/1203/comments","events_url":"https://api.github.com/repos/emacs-helm/helm/issues/1203/events","html_url":"https://github.com/emacs-helm/helm/issues/1203","id":110324667,"number":1203,"title":"Relative numbering for candidates","user":{"login":"jgarvin","id":102322,"avatar_url":"https://avatars.githubusercontent.com/u/102322?v=3","gravatar_id":"","url":"https://api.github.com/users/jgarvin","html_url":"https://github.com/jgarvin","followers_url":"https://api.github.com/users/jgarvin/followers","following_url":"https://api.github.com/users/jgarvin/following{/other_user}","gists_url":"https://api.github.com/users/jgarvin/gists{/gist_id}","starred_url":"https://api.github.com/users/jgarvin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgarvin/subscriptions","organizations_url":"https://api.github.com/users/jgarvin/orgs","repos_url":"https://api.github.com/users/jgarvin/repos","events_url":"https://api.github.com/users/jgarvin/events{/privacy}","received_events_url":"https://api.github.com/users/jgarvin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/emacs-helm/helm/labels/fixed_wait_confim","name":"fixed_wait_confim","color":"eb6420"},{"url":"https://api.github.com/repos/emacs-helm/helm/labels/unrelated","name":"unrelated","color":"fbca04"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":19,"created_at":"2015-10-07T21:44:32Z","updated_at":"2015-11-30T01:07:04Z","closed_at":"2015-10-13T07:27:00Z","body":"I use the linum-relative package to get line numbers relative to the cursor in the margin. The reason this is useful to me is I drive emacs with speech recognition, and the speech recognizer has a specialized more accurate mode for numbers than it does for general speech, so I try to navigate using commands based on numbers where possible. So with relative line numbers I can say \"up 5\" or \"down 29\" and know exactly where I will end up. Relative numbers are better than absolute because they are smaller and easier to say; if I'm in the middle of a big file and I want to go down 3 lines I don't want to say \"goto line three thousand four hundred and twenty six.\" I just want to say, \"down 3\".\r\n\r\nNow I'm trying to give helm a spin and I noticed that when I use helm-M-x the relative line numbers don't work in the completion window. They appear, but always consider the first line of the buffer to be 0 regardless of where the cursor is. That is until you scroll down past the end of the window, then they move again but stay still after that until you go outside the window boundary again. I think this is because the cursor is actually in the minibuffer and you're driving the completion window off input events.\r\n\r\nOriginally I was going to try some hacks to get linum-relative working properly in the completion window, but then I experimented some more and discovered that relative line numbers aren't even really what I want with helm, I want relative candidate numbers. When browsing the kill ring for example a lot of the candidates are going to be multiple lines, but pressing up/down jumps candidates, not lines, so candidates are really what I want numbered so I can use the right voice command.\r\n\r\nI could see this being useful even for keyboard users. It'd be nice to press say, alt-3 and have it pick the 3rd entry without having to move down to it first (similar to choosing a candidate in company-mode's popup window), but in order to eyeball that easily you'd want the relative candidate numbering in the margin."},"comment":{"url":"https://api.github.com/repos/emacs-helm/helm/issues/comments/160491037","html_url":"https://github.com/emacs-helm/helm/issues/1203#issuecomment-160491037","issue_url":"https://api.github.com/repos/emacs-helm/helm/issues/1203","id":160491037,"user":{"login":"YorkZ","id":742238,"avatar_url":"https://avatars.githubusercontent.com/u/742238?v=3","gravatar_id":"","url":"https://api.github.com/users/YorkZ","html_url":"https://github.com/YorkZ","followers_url":"https://api.github.com/users/YorkZ/followers","following_url":"https://api.github.com/users/YorkZ/following{/other_user}","gists_url":"https://api.github.com/users/YorkZ/gists{/gist_id}","starred_url":"https://api.github.com/users/YorkZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YorkZ/subscriptions","organizations_url":"https://api.github.com/users/YorkZ/orgs","repos_url":"https://api.github.com/users/YorkZ/repos","events_url":"https://api.github.com/users/YorkZ/events{/privacy}","received_events_url":"https://api.github.com/users/YorkZ/received_events","type":"User","site_admin":false},"created_at":"2015-11-30T01:07:04Z","updated_at":"2015-11-30T01:07:04Z","body":"Thank you very much Thierry!\r\n"}}