Yes, there are some warts, but they're papered over remarkably well. Give mintty a shot: you'll never go back to conhost.
Yes, there are some warts, but they're papered over remarkably well. Give mintty a shot: you'll never go back to conhost.
https://github.com/simonzack/urxvt-tabbed - is this the project you're using?
rxvt-unicode-256color
I use it on cygwin at work because I use it on linux at home, because of the tabs (which are text-based and have nothing to do with whatever desktop environment it's running in), and because the 256 colors make it easier for me to distinguish different code parts in a colored text editing session.
The default terminal in cygwin is OK, but the small number of colors were really bothering me (old eyes).
As for unicode, I've displayed Japanese and other scripts in rxvt-unicode-256color just fine.
The right terminal has two tabs open, and it shows unicode displayed in the last command.
This is on linux, it looks the same on cygwin (except it has window borders there).
I use conemu for my windows command shell. I have tried it to run a cygwin bash shell, but I recall there being some annoyances, don't remember what anymore.
But fundamentally, no, it wouldn't be better to run ConEmu and mintty, because urxvt is exactly what I like. :)
As for running mintty in conemu, it's still not quite right. If I figure it out, this will be what I recommend to people.
But for me, I like having urxvt the same at home on linux and at work in cygwin. I use urxvt's keyboard management of its tabs a lot.
Additionally you'll find a lot of scripting language libraries just wrap gnu utils and invoke commands using a sub shell. Being able to run those scripts/libraries from batch files or other windows processes without dealing with Cygwin is awesome too.
I used that setup all the time and it worked fine for me. Mixing win32 and Cygwin binaries is the point of Cygwin, as far as I'm concerned.
I don't use MSYS, but my Cygwin installs are rooted at C:\. Win32 path functions actually accept forward slashes as well as backward slashes as path separators, so often, Win32 programs interpret paths like "/etc/passwd" just fine (with the drive resolving to C:\).
LF-versus-CRLF is an annoyance, but I've always solved it by using wrapper scripts that invoke u2d and d2u to perform the proper translation.
I think I previously my "injob" utility. Thanks to your comment, I got around to putting it on github: https://github.com/dcolascione/injob
No, give cmder a shot: http://bliker.github.io/cmder/ I've tried mintty and cmder, and cmder was just perfect for me.
FWIW, I took a quick stab at the tmux & ncurses code to try to find a fix, but it was far from obvious. Maximus (ConEmu author) said it had to do with how cygwin flags stdin streams, which just happens to break when ConEmu provides them. (sorry details vague)
> Think about cmder more as a software package than a separate app. All the magic is happening through Conemu. With enhancements from Clink.
But people would rather just hack up a "terminal emulator" instead of doing things the properly and the hard way.
Unfortunately it's still not quite as fast as on Linux and OS X, but it's about as fast as native/MSYS versions of Git on Windows.
It's not the number of "transitions to kernel mode" (which is actually really fast), but the cost of performing the UID mapping, especially considering that this effort is frequently wasted when programs don't bother inspecting st_uid and friends. That's why I wish the Linux xstat syscall, the one that let programs ask for just what they need, had gone through: it'd have made other systems more efficient too.