contour-terminal / contour

Modern C++ Terminal Emulator
http://contour-terminal.org/
Apache License 2.0
2.38k stars 102 forks source link

Can't open Contour with latest Terminal or Latest powershell 7? #1258

Closed uuc110 closed 10 months ago

uuc110 commented 10 months ago

Contour Terminal version

0.2.3

Installer source

GitHub: release page

Operating System

Windows 11 Version 22H2 (0S Build 22621.2283)

Architecture

x86-64

Other Software

Windows Terminal Version: 1.17.11461.0 Powershell Version 7.3.7

Steps to reproduce

Simply clicking on controur from Start menu

Expected Behavior

Should Open Modern looking UI of Powershell UI in terminal or Powershell?? something like that which is shown in README file

Actual Behavior

Opening in old powershell of windows. image image

Additional notes

No response

Yaraslaut commented 10 months ago

powershell is a shell so it does not affect how terminal looks like could you attach a screenshot of what you expected to see there?

uuc110 commented 10 months ago

image maybe something like this?

uuc110 commented 10 months ago

I mean similar to this

Yaraslaut commented 10 months ago

image maybe something like this?

this is on fedora with zsh and powerlevel and some custom background image, most likely additionally blurred

uuc110 commented 10 months ago

image maybe something like this?

this is on fedora with zsh and powerlevel and some custom background image, most likely additionally blurred

So what is this contour about? and How is this different from Other Terminals

christianparpart commented 10 months ago

Blurred background

This requires some window manager support, which is DWM on Windows 10+ and on Linux it is KDE/Plasma and lately also GNOME desktop. Those are the three where we do support blurred background (needs to be enabled per config though).

"correct" Emoji display

This is also a non-standard feature, because Contour does not just render trivial single-codepoint emoji but also complex zero-width-joining and variation changing Emoji, such as

This is particular non-trivial due to how VTs used to work along with proper text shaping and VT cursor placement.

See

Pixel perfect ASCII arts

This is something you rarely see working correctly. Alacritty for examply only recently got support for it. But then it's also always a question on how many codepoints a terminal emulator is willing to implement these extra codepaths for.

A good example on that is also provided by Notcurses:

Screenshot 2023-10-13 at 08 09 14

Images in the Terminal

What Contour supports is actually the Sixel Image Protocol, something that did exist already in the old DEC VT340's. This has seen a rise in popularity in the past years, so there is now a handful of terminals providing this.

Unseen features

there are plenty of other features that you do not see in neither screenshot here.

Most notably is Indicator Statusline support (again, a DEC VT feature that we've implemented and to my knowledge is only implemented by very very few others), which we prominently feature, because it actually prove to be useful.

The second really strong feature, in my opinion, is the modal keyboard input modes that we feature, which enables the user to use the terminal in a way like you would do in vi/vim/neovim like editors. There is an insert mode (standard, the one you know) and various others to quickly navigate through the history, select regions, and operate on them. So far there are only two other terminals that feature this, one is Termite (discontinued due to the next), and Alacritty, which however both are implementing modal input only naively.

One side note, I think Contour is the only terminal to support dual colorschemes. This is used to automatically adjust the color scheme based on dark/light mode switches by the operating system (or configuration changes by the user). This is a fairly new feature as discussed in #1236 and specced here with its implementation in #1233.

Summary

All those features you see above work in Contour, however, on Windows platform, while all compiled in, not everything can be leveraged, because on Windows, each and every terminal emulator that runs using native APIs is limited to what ConPTY has implemented. There we cannot moan at any individual terminal for not providing feature X, Y, Z, nor at ConPTY. It'll probably just take time to improve, since this technology is fairly young. Most notable is PTY pass through mode to happen.

Finally, no software is perfect. Certainly not Contour, but so not others. Every terminal fits its niche, users just needs to find the one that fit them the most. It's a journey.