makew0rld / amfora

A fancy terminal browser for the Gemini protocol.
GNU General Public License v3.0
1.14k stars 65 forks source link

'?' key does not bring up help menu on Windows #288

Open snapdeus opened 2 years ago

snapdeus commented 2 years ago

Hello,

I have Amfora installed via Scoop on Windows 10

Amfora 1.9.2 Commit: 61d864540140f463a183e187e4211c258bd518bf Built by: goreleaser

When I press the "?" key with Amfora as the active window, no help menu comes up.

Is there something I'm doing wrong here?

Thanks for your time

makew0rld commented 2 years ago

Forgive me if you were doing this already, but you are you pressing Shift and the forward slash key? That will send an actual ? character, which is required to bring up the help menu. On a US keyboard it looks like this:

image

AlexSeefeldt commented 2 years ago

Hi,

I'm trying out the browser for the first time and loving it, thank you for making this.

I am having the same issue described here (On Windows, version 1.9.2, downloaded the prebuilt release from GitHub), and I am pressing both the Shift and /? keys. It may also help to know I am running it in Windows Terminal.

Thanks for your time, Alex

makew0rld commented 2 years ago

Glad to hear you're enjoying it!

Thanks for confirming this issue. Sounds like a problem with Windows Terminal, or with an upstream terminal library like tcell. I'll have to look into this further, but I don't know when I'll get around to it.

The first step to solving this would be to create a basic tcell program to see what keys are being picked up when Shift and / is pressed. This would help figure out if the issue was with tcell or Windows Terminal. A bug report should then be filed to the appropriate project.

Phyllostachys commented 2 years ago

I can confirm that this also doesn't work in Cmder, native command prompt, and Powershell; besides Windows Terminal. So I'd lean towards the latter problem source.

CryptisMidnight commented 2 years ago

I have tested this thoroughly most of the shift commands don't work in windows, Shift+Tab works, but the tab selection: !,@,#,$,% doesn't. Additionally tested Fluent and Tabby Terminals all same issue. Then I tried to use WSL installed the from apt, using Debian, tried it and all commands worked, navigated to the windows install launched it and it didn't work.

makew0rld commented 2 years ago

A quick fix for this might be to change your keybindings for the help page. In the [keybindings] section of your config, set bind_help = "h" or whatever keybinding you'd like.

Can anyone confirm that setting bind_help = "H" (meaning you press Shift and h) works on Windows? If so I will update the code to set that keybinding as well, as a workaround for this. I won't set it to h by default because that conflicts with Vim navigation using hjkl.

CryptisMidnight commented 2 years ago

Originally I changed and had bind_help = "/":worked all the time. Switched to bind_help = "h":worked sometimes, i dont know why. But bind_help = "H":broke all the time. This was a tested in Windows terminal and the exe prompt. As I mentioned almost all shift commands in windows didn't work. Tab selection: !,@,#,$,%... none of them work but if I rebind them to other keys they do.

makew0rld commented 2 years ago

Damn. Got to find another keybinding or see how the issue can be fixed upstream. Thanks for letting me know.

mattcolewilson commented 2 years ago

I'm loving Amfora -- thanks for making it! But I am also having this issue. Would it be possible to get a list of the default keybindings that I can reference until this is fixed?

makew0rld commented 2 years ago

@mattcolewilson here's the output the help page. Note that it will look different if you have different keybindings configured.

 ?                                           Bring up this help. You can scroll!                                                                                                               
                                                                                                                                                                                             ▒ 
 Esc                                         Leave the help                                                                                                                                  ▒ 
                                                                                                                                                                                             ▒ 
 Arrow keys, h(left)/j(down)/k(up)/l(right)  Scroll and move a page.                                                                                                                         ▒ 
                                                                                                                                                                                             ▒ 
 u, PgUp                                     Go up a page in document                                                                                                                        ▒ 
                                                                                                                                                                                             ▒ 
 PgDn, d                                     Go down a page in document                                                                                                                      ▒ 
                                                                                                                                                                                             ▒ 
 g, Home                                     Go to top of document                                                                                                                           ▒ 
                                                                                                                                                                                             ▒ 
 End, G                                      Go to bottom of document                                                                                                                        ▒ 
                                                                                                                                                                                             ▒ 
 Tab                                         Navigate to the next item in a popup.                                                                                                           ▒ 
                                                                                                                                                                                             ▒ 
 Shift-Tab                                   Navigate to the previous item in a popup.                                                                                                       ▒ 
                                                                                                                                                                                             ▒ 
 b, Alt-Left                                 Go back in the history                                                                                                                          ▒ 
                                                                                                                                                                                             ▒ 
 f, Alt-Right                                Go forward in the history                                                                                                                       ▒ 
                                                                                                                                                                                             ▒ 
 Space                                       Open bar at the bottom - type a URL, link number, search term.                                                                                  ▒ 
                                             You can also type two dots (..) to go up a directory in the URL.                                                                                ▒ 
                                             Typing new:N will open link number N in a new tab                                                                                               ▒ 
                                             instead of the current one.                                                                                                                     ▒ 
                                                                                                                                                                                             ▒ 
 1 to 0                                      Go to links 1-10 respectively.                                                                                                                  ▒ 
                                                                                                                                                                                             ▒ 
 e                                           Edit current URL                                                                                                                                ▒ 
                                                                                                                                                                                             ▒ 
 C                                           Copy current page URL                                                                                                                           ▒ 
                                                                                                                                                                                             ▒ 
 c                                           Copy current selected URL                                                                                                                       ▒ 
                                                                                                                                                                                             ▒ 
 Enter, Tab                                  On a page this will start link highlighting.                                                                                                    ▒ 
                                             Press Tab and Shift-Tab to pick different links.                                                                                                ▒ 
                                             Press Enter again to go to one, or Esc to stop.                                                                                                 ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-U                                      Open the highlighted URL with a URL handler instead of the configured proxy                                                                     ▒ 
                                                                                                                                                                                             ▒ 
 ! to (                                      Go to a specific tab. (Default: Shift-NUMBER)                                                                                                   ▒ 
                                                                                                                                                                                             ▒ 
 )                                           Go to the last tab.                                                                                                                             ▒ 
                                                                                                                                                                                             ▒ 
 F1                                          Previous tab                                                                                                                                    ▒ 
                                                                                                                                                                                             ▒ 
 F2                                          Next tab                                                                                                                                        ▒ 
                                                                                                                                                                                             ▒ 
 Backspace                                   Go home                                                                                                                                         ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-T                                      New tab, or if a link is selected,                                                                                                              ▒ 
                                             this will open the link in a new tab.                                                                                                           ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-W                                      Close tab. For now, only the right-most tab can be closed.                                                                                      ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-R, R                                   Reload a page, discarding the cached version.                                                                                                   ▒ 
                                             This can also be used if you resize your terminal.                                                                                              ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-B                                      View bookmarks                                                                                                                                  ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-D                                      Add, change, or remove a bookmark for the current page.                                                                                         ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-S                                      Save the current page to your downloads.                                                                                                        ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-A                                      View subscriptions                                                                                                                              ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-X                                      Add or update a subscription                                                                                                                    ▒ 
                                                                                                                                                                                             ▒ 
 Ctrl-Q, Ctrl-C, q                           Quit                                                                                                                                            ▒ 
mattcolewilson commented 2 years ago

Perfect, thank you very much!

makew0rld commented 2 years ago

Switched to bind_help = "h":worked sometimes, i dont know why.

@CryptisMidnight maybe because h is already bound for page movement? I can't reproduce this issue. In any case you could try this:

[keybindings]
# Leave whatever you had already...

bind_help = "h"
bind_moveleft = "H"

This binds moveleft, which already used h, to a key you're not using, which allows the help menu to use h alone. Let me know how it goes.

CryptisMidnight commented 2 years ago

yep that did it. I just can not figure out the reason shift commands are not working