
Fluent Terminal – Open-source, native Windows 10 tabbed terminal - nailer
https://github.com/felixse/FluentTerminal
======
hs86
The situation for terminal emulators is still bad on Windows.

Those web-based ones have no problems with fancy font features like powerline
icons or ligatures but they still have a limitation when it comes to color
support. [1] Fluent seems to be affected from this as well.

The other important feature for me is tmux with mouse support. To my
knowledge, only WSLtty [2] does this right. It lacks support for font
ligatures but I value a functional tmux more than some ligature eye candy.

I still hope that Microsoft will improve their own conhost.exe in further
updates. Also, the upcoming 1903 update will improve the color support those
web-based terminal emulators.

[1]
[https://github.com/zeit/hyper/issues/1968](https://github.com/zeit/hyper/issues/1968)

[2] [https://github.com/mintty/wsltty](https://github.com/mintty/wsltty)

~~~
bpye
I tried out Alacritty [1] yesterday - it seems to work pretty well. It's the
only one I've found so far that uses the new ConPty API. It's font rendering
doesn't seem quite as nice as conhost though.

[1] - [https://github.com/jwilm/alacritty](https://github.com/jwilm/alacritty)

------
segphault
Looking at the source code, this appears to be a UWP wrapper around the xterm
JavaScript library loaded in a system web view. It uses a WebSocket connection
to facilitate communication between the embedded web environment and the
application. I’m not sure how comfortable I am with that from a security
standpoint.

~~~
AnIdiotOnTheNet
Sadly I doubt this even comes close to being the most convoluted way to
emulate simple technology from the 1970s.

------
norswap
Interesting. I'm wondering how it stacks up against ConEmu [1], which has been
the MVP of terminal emulators on Windows for a long time now.

[1]: [https://conemu.github.io/](https://conemu.github.io/)

~~~
nailer
I wouldn't call ConEmu the MVP (if you mean most valuable rather than minimum
viable) - there's a number of unfixable bugs due to the insistence on Windows
XP support.

Breakdown of Windows Terminals

# Top Quality (supports line editing, history, scrollback, copy on select,
right click paste, tabs, iterm colors, everything else you'd expect from
iTerm2 or gnome-terminal)

\- Fluent Terminal (native, lightweight)

\- Terminus (electron, so heavier, but also excellent and stable)

\- Hyper 3 Canary (electron, in beta as Hyper 2 has serious bugs, but a
massive plugin ecosystem)

# Minimal (no tabs but fast and stable)

\- Powershell 6.2's inbuilt terminal

\- Alacritty

# Windows XP apps (UI has everything everywhere, some unfixable bugs)

\- ConsoleZ

\- ConEmu

# Not actually a terminal

\- Cmder

More details, config files: [https://github.com/mikemaccana/powershell-
profile#for-a-dece...](https://github.com/mikemaccana/powershell-profile#for-
a-decent-tabbed-terminal)

~~~
reificator
> _Fluent Terminal (native, lightweight)_

The very first line of the README:

> _A Terminal Emulator based on UWP and web technologies._

I understand the hate for electron apps and the demand for native. While I do
use VSCode as my daily editor, I've also seen some electron apps that
definitely don't make the cut.

That said, I don't understand the growing trend of using the native web view
and calling it "native". _(Meaning it can 't be ported to other platforms, so
it must be native?)_

If you're building it with web technologies, you might as well just go with
electron for the more modern browser[1], easier portability, and isolation
from browser version changes.

[1]: I haven't looked much at the windows web view since edge came out. I was
going to say perhaps this doesn't matter as much if you can select edge, but
now that edge is becoming chromium anyway, I suppose the point is moot. Hooray
for monocultures I guess.

~~~
whywhywhywhy
>If you're building it with web technologies, you might as well just go with
electron for the more modern browser[1], easier portability, and isolation
from browser version changes.

You wont get something that feels like a modern Windows app if you make it
with electron, also the app will balloon by 80 meg and portability again isn't
an issue if your goal is to make something that feels like a modern Windows
app.

I really appreciate the work of the people behind FluentTerminal and honestly
had no idea it had web under the hood till I looked at the source because
building it on UWP makes it feel like a first class windows app.

------
jeroenhd
Is there a good reason why running this requires you to install a certificate
authority?

I get that this might be because of software signing requirements on Windows,
but in that case you should bundle a script that generates+signs the build
using a local certificate instead of loading a random CA into the system trust
source.

~~~
loeg
UWP apps are signed. To sideload, you either need to enable developer mode
(allow installing untrusted app signatures), OR install the signing CA (but
don't enable developer mode).

Your proposed individual CA model does seem like an improvement for that
route, but I just enable developer mode.

~~~
jeroenhd
Interesting. If turning on developer options also allows you to run unsigned
software, I don't see any advantages at all for installing this random
certificate authority. Thank you for your explanation.

~~~
crazysim
It would mean you don't trust some other certificate authority implicitly.
That's the advantage. It's nice to have that choice.

------
shawxe
When I'm forced to use Windows (which is pretty much just at work), I run an X
server through Cygwin then use URxvt with GNU screen. I haven't found a
Windows console application that doesn't play nicely with this when run
through winpty, so for me it's the best of both worlds. I have used ConEmu and
Cmndr, but I found them both to be nowhere near as reliable as my current
setup (much like how WSL still can't touch Cygwin for my use case).

~~~
peterwwillis
But the X server is annoying too, because for some reason setting -dpi doesn't
work for me, and the fonts render like crap. If I set fonts really small they
aren't as bad.

I just use PuTTY into a local or remote sshd as it's the least bad of
everything I've tried so far. Wish it supported tabs natively tho.

If this thing supports mouse, copy-paste, good fonts, and doesn't steal or
disable any of my key mapping, I'll take it

------
zerr
What's the reason behind using "web tech" if you're already comfortable with
C#/UWP?

~~~
felixse
Author here. The main reason is that I already had some experience with
'hybrid' approaches and xterm.js made it possible to build something usable
without spending too much time writing a vt parser. I'm planning to start
working on a 'native' renderer next to get rid of some limitations and also
improve the performance.

------
h4t
Interesting. I have been using ConEmu for a very long time and every time I
try something new I always end up going back to ConEmu... and I have tried
many others such as Hyper, MobaXTerm, Terminus and others which names have
fled the hallways of my mind. I will give this one a try. I am also going to
try out cmder which I hear is built upon ConEmu.

~~~
GordonS
I've been using Cmder for years, and wouldn't use anything else - it is indeed
built on top of ConEmu.

~~~
osigurdson
Cmder is great. However, I haven't had much luck with using it to ssh into a
docker container (docker for windows). Arrow keys, etc don't work.

------
sghiassy
I’m a Mac user. But I wish the project the best of luck!!! The proliferation
of powerful terminals on all platforms is a blessing for all devs!

------
begoon
MS could buy/employ conemu guys and close the question forever.

~~~
nailer
They were going to have tabs in native terminal (which is otherwise pretty
good asides from this) via Sets until that feature was cancelled. Hopefully
Rich etc has a backup plan.

~~~
GrzegorzWidla
Sets have not been canceled.

------
slim
Last time I used Windows 15 years ago I used teraterm. The project seems to be
alive and doing well

[https://ttssh2.osdn.jp/](https://ttssh2.osdn.jp/)

~~~
syockit
That requires you to have ssh server running if you to use it with WSL. You
can't use it as the frontend to powershell or cmd.

That said: yes, it's alive and well. I'm using it at work, mostly because
that's what everyone else in the office is using (in Japan)

------
samanator
Great stuff! Thank you. Would be great if shift would highlight text (I
constantly use that in CMD to copy text).

------
dingo_bat
My entire workstation is an Ubuntu VM hosted at my office. I just need a
simple SSH client that works well on Win10. Nothing has been as good as the
chrome extension Secure Shell. I've used conemu, putty, mobaxterm, and
countless others. But I always come back to secure shell. I hope this one is
good enough to replace that because I just want to get rid of chrome.

~~~
bpye
Have you tried the Win32 build of OpenSSH in box in Windows?

------
coldtea
I was expecting some Electron crap. I was pleasantly surprised.

