Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Console Improvements #279

Closed
GuerrillaCoder opened this issue Apr 27, 2016 · 34 comments
Closed

Console Improvements #279

GuerrillaCoder opened this issue Apr 27, 2016 · 34 comments
Assignees
Labels
Milestone

Comments

@GuerrillaCoder
Copy link

@GuerrillaCoder GuerrillaCoder commented Apr 27, 2016

I remember seeing in the original release video some mention of improving the console window but mine looks pretty much the same it always has.

Is there any way to improve it so it is more like working in putty/xterm? By this I mean things like easy copy/paste and mapping mouse clicks to the terminal.

I was using cygwin before and that had a nicer console window. Can I use that safely with win bash?

@dimasdanz
Copy link

@dimasdanz dimasdanz commented Apr 27, 2016

Try to use ConEmu and use the following as startup
%windir%\system32\bash.exe ~ -cur_console:p
The -cur_console:p is important as stated on this issue

@bitcrazed bitcrazed changed the title Console Improvemens Console Improvements Apr 28, 2016
@bitcrazed
Copy link
Contributor

@bitcrazed bitcrazed commented Apr 28, 2016

Mouse support is already on our backlog for considering in a future version.

Regarding copy/paste, in Bash, we pass the keystrokes straight through to /bin/bash or whatever app is currently running. How Bash and *NIX tools handle modern keyboard commands, including CTRL + V is a topic of much conversation. We'll consider in the future.

@GuerrillaCoder
Copy link
Author

@GuerrillaCoder GuerrillaCoder commented Apr 28, 2016

Thanks. Will give ConEmu a go.

@bitcrazed I meant the actual console window. In putty you can select text and it automatically copies. In console you need to select "Mark" and then select and then hit enter which is a little awkward. Also to paste you need to right click and go "paste" whereas putty is just a right click.

@benhillis
Copy link
Member

@benhillis benhillis commented Apr 28, 2016

@GuerrillaCoder Have you tried quick edit mode in cmd?

@GuerrillaCoder
Copy link
Author

@GuerrillaCoder GuerrillaCoder commented Apr 28, 2016

@benhillis I didn't know about that one, thanks! Enabling it now.

@bitcrazed
Copy link
Contributor

@bitcrazed bitcrazed commented Apr 28, 2016

@GuerrillaCoder Did quick-edit mode work for you?

@navidR
Copy link

@navidR navidR commented May 3, 2016

Instead of conemu which does have quite childish/ridiculous design I prefer to see this two features/options in command line window(which overall does have simple and good design):

  1. Hide scroll bar (which is quite waste of space,because in all cases command line users tend to use keyboard)
  2. Unlimited buffer (which I prefer to have natively in command line window instead of piping output to less)

Both gnome-terminal, KDE's konsole dos have these.and I think both is one-day job to implement.

@mintty
Copy link

@mintty mintty commented May 4, 2016

How about a real terminal application which provides a rich xterm-like feature set?

To make mintty interoperable with Bash on Windows, I see a few issues missing.
From a cygwin-based mintty, I can run cmd.exe but bash won't run from there, probably because of pty handling incompatibility.
Likely, mintty should be compiled natively in Ubuntu on Windows for that purpose, but as it uses a combination of native Windows and POSIX APIs, that would need to be supported in UoW.

[edit]

Mintty as a terminal for WSL is now available with an installer: https://github.com/mintty/wsltty

@bitcrazed
Copy link
Contributor

@bitcrazed bitcrazed commented May 6, 2016

We'll be publishing a blog post highlighting the many improvements we've made to the Windows Console once some of the latest fixes bubble up into the insider releases.

We hear you regarding improvements to the console's VT-100/ANSI/XTerm support and for additional console app features and will talk more about our plans to address many of your suggestions and requests in the future.

In the meantime, if you have console-specific feature requests, please be sure to upvote/add to our Console UserVoice: https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo

@bitcrazed bitcrazed added this to the Backlog milestone May 6, 2016
@DanielGGordon
Copy link

@DanielGGordon DanielGGordon commented May 11, 2016

@mintty So it's not possible to run this in Mintty? I was hoping to install Zsh with Powerline and get some nice prompt colors, but it doesn't seem like that's possible - unless I'm missing something.

I don't think Windows should underestimate the power of a pretty prompt. Imagine if the next blog post had a picture of the Windows command line looking like this or something. That would really catch people's attention.

@yantis
Copy link

@yantis yantis commented May 12, 2016

@DanielGGordon You might want to try ConsoleZ https://github.com/cbucher/console
ZSH with Powerline works great with build 14342

Here is a screenshot of it runing on Windows 10 Build 14342
consolez

@midurad
Copy link

@midurad midurad commented Aug 10, 2016

Unfortunately neither ConEmu, Console2 nor ConsoleZ seem to work fully with Bash on Windows (or Cygwin for that matter). Ctrl+/ and other key bindings are not passed to bash when running under these. For me, when running Windows 10 Bash under ConsoleZ, the arrow keys don't work either. ConEmu had the same problem (although in that case the problem was solvable). Windows terminal isn't any better in that respect either.

The lack of a unified terminal emulator under Windows, especially with Windows 10 Bash being out is a real bummer. Microsoft has done a great work thus far with bringing Linux to Windows and improving the existing terminal but as @DanielGGordon has already pointed out, the power of a familiar, modern terminal cannot be underestimated.

Also, a question to the Microsoft team. How about Clink? It makes interaction with cmd so much more bearable. It is open source. Why not make integrate it into cmd?

@aseering
Copy link
Contributor

@aseering aseering commented Aug 10, 2016

@midurad -- you mentioned gnome-terminal, etc; have you considered running one of them directly? I know that's one of @fpqc 's favorite topics :-)

This seems to be a common discussion topic; there are a bunch of tickets about it. I suspect that, as far as bug-tracking purposes go, the WSL team gets the point :-) For us users figuring out what to do, maybe it's worth starting a forum thread?

@fpqc
Copy link

@fpqc fpqc commented Aug 10, 2016

@aseering lol sniped.

@midurad I have like 5000 posts on this github where I tell someone how to set up rxvt-unicode-256color with vcXsrv

@Perlence
Copy link

@Perlence Perlence commented Aug 10, 2016

I've managed to run st on my WSL, turned out to be very nice! Thanks @aseering for the cue.

st on Windows 10

@fpqc
Copy link

@fpqc fpqc commented Aug 10, 2016

@Perlence wow, cute! gonna try st now!

@aseering
Copy link
Contributor

@aseering aseering commented Aug 11, 2016

Thanks @Perlence ! I'll have to give that a try

@fpqc
Copy link

@fpqc fpqc commented Aug 11, 2016

@aseering to set the default geometry in st (which will dictate the size it launches), it's at the verrrrry bottom of st.c, hardcoded at the top of int main (here's my edit):

  main(int argc, char *argv[])
{
        uint cols = 140, rows = 22;

[...]} 

I did make a request to the sucksless developers to move that to config.h, and it looks like maybe they might do it =)

@Perlence
Copy link

@Perlence Perlence commented Aug 12, 2016

@aseering @fpqc You can also set geometry via -g command-line option.

@fpqc
Copy link

@fpqc fpqc commented Aug 12, 2016

@Perlence yeah I saw that, but it's nice to set defaults too.

@dswartzen
Copy link

@dswartzen dswartzen commented Aug 18, 2016

It would be nice if the PGUP and PGDN keys worked for paging up and down in the terminal with bash, like they do in the powershell or in an Xterm.

Right now the only way to scroll (that I've found) is to use the mouse and the scrollbar, or right click and enter "scroll" mode and then the page keys work. That's too tedious. The idea is to scroll without taking your hands off the keyboard. CTRL-B, CTRL-F like in vim would also be acceptable.

The cut and paste with the mouse is clunky but works well enough for now.

@fpqc
Copy link

@fpqc fpqc commented Aug 19, 2016

@dswartzen you can manually change your TERM= variable to one that is more correct (since the Windows console does not implement lots of xterm's features). I think someone on this github repo has found a good terminfo setting that is included in the terminfo database and represents the true functionset of the Win10 console.

Ideally, someone could throw a proper terminfo for bash.exe and the Windows console (both the wrapper and the Windows console impose their own limitations (for example, stripping of color codes and mouse escape sequences is done at the wrapper level, not the console level).

@dswartzen
Copy link

@dswartzen dswartzen commented Aug 19, 2016

@fpqc I've tried most of the TERM variants in /lib/terminfo to try to get one where the page keys work, but I'm not having any luck. Please post in here if you find out which TERM is the best to use in the windows console.

The only way I could get a full size block cursor in vim was to do a set term=ansi in .vimrc

@mintty
Copy link

@mintty mintty commented Sep 16, 2016

Mintty as a terminal for WSL is now available with an installer: https://github.com/mintty/wsltty

@be5invis
Copy link

@be5invis be5invis commented Oct 26, 2016

Please, implement the pty api in win32, so that we will no longer need to hook the programs.

@fpqc
Copy link

@fpqc fpqc commented Oct 26, 2016

@be5invis this may be coming. Read all of #111

@wolf99
Copy link

@wolf99 wolf99 commented Feb 17, 2017

Would be cool if there was some way of scrolling within the console without having to resort to the mouse. Ubuntu bash uses Shift+PageUp/Down AFAIK.

@shaunuk
Copy link

@shaunuk shaunuk commented Mar 8, 2017

Found a work around :)

run cmd first then type bash....

@bonki
Copy link

@bonki bonki commented Apr 10, 2017

@Perlence Can you give a hint on how to get st (/X) running?

@Perlence
Copy link

@Perlence Perlence commented Apr 11, 2017

@bonki I built st from source, then I installed VcXsrv and set DISPLAY environment variable in WSL to that of VcXsrv. Everything worked pretty smooth, I didn't have to do any workarounds.

@bonki
Copy link

@bonki bonki commented Apr 11, 2017

@Perlence Thanks for the fast reply, works perfectly! I think I'll stick to wsltty though for the time being until I need X anyway.

@dman777
Copy link

@dman777 dman777 commented Feb 8, 2018

Is there a way to enable quick edit mode?

@lqueryvg
Copy link

@lqueryvg lqueryvg commented Apr 21, 2018

Mouse selection has always broken IMO on windows terminals. For some reason this bad behaviour has been "ported" through to all the relatives (ConEmu, Cmder etc) rather than being properly fixed. I really don't understand why.

For example, double left-click a word (on this page) then on the second click keep the left mouse button down and drag over other words. The selection will be extended to included entire words.

Triple-click should do similar for whole lines.

This works in all GUI applications on Mac, Linux & Windows and is an accepted and expected idiom. But not in a Windows command prompt !

If Microsoft really want to embrace unix, I suggest they take a look at the rich set of mouse selection features available in Putty (where you can even choose your own character selection classes) and use that as their benchmark. Also take look at iTerm2 on Mac.

@bitcrazed
Copy link
Contributor

@bitcrazed bitcrazed commented May 22, 2018

Closing this issue since:

  1. We've delivered most of these asks over the last few Win10 releases, including 24-bit color support, improved Console color palette, mouse and Copy & Paste support in Linux Console instances, etc.
  2. This is the WSL issues repo, but this is an issue in Console which has its own Console GitHub Repo
  3. GitHub doesn't allow issues to be moved between repos, preserving posters' identity :(

If you have further asks/issues, please file new issues on our Console GitHub Repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet