aisk / pick

create curses based interactive selection list in the terminal
MIT License
722 stars 61 forks source link

Issue with Windows PowerShell #75

Closed Okilele56 closed 1 year ago

Okilele56 commented 2 years ago

Hi The multiselect mode do not work on windows powershell since the version 1.6.0 (1.4.0 is working).

image

Okilele56 commented 2 years ago

I am using python 3.10.4

wong2 commented 2 years ago

Got it

wong2 commented 1 year ago

What version of Windows are you using?

Okilele56 commented 1 year ago

I am using Windows 10 professionnel

guiserle commented 1 year ago

Funnily enough, I have the same problem on windows cmd but it works fine on powershell. Would there be any chance to revert back to background color instead of character on demand? (maybe with a keyword argument)

PS. In my case I see the issue with multiselect=True

wong2 commented 1 year ago

I prefer the character method, but we can fall back to simple chars like () and (*) on terminals that don't support unicode. I haven't found out how to do the checking yet.

guiserle commented 1 year ago

After some research, I think this is not related to the terminal itself but to the font used by the terminal. I managed to make it work on CMD by setting the font to Cascadia Mono, which is the default for Windows Terminal, where I was using powershell.

Also using CMD on windows terminal didn't gave me the error, since it was already using Cascadia Mono font.

Therefore I am not sure if it would make sense to apply the fallback automatically. Either just noticing this behavior on README.md file or adding an extra argument to allow for manual fallback (or both options) would be fine on my opinion

wong2 commented 1 year ago

Thanks for your research! I'll try to find some way for automatic fallback

wong2 commented 1 year ago

I've decided to go the simple path: change those symbols to simpler ones: () and (x), which should work universally. Please upgrade to v2.0.2