I just don't understand the use case here. It's an Electron-based terminal... that has a thousand pretty themes, but lacks basic functionality like being able to expand your scroll buffer. It's just not usable as a daily driver.
I'm not trying to hate on Electron (VS Code is my main editor now, and I enjoy it). But I just don't see the point here other than, "Look what they wrote with Electron!". Is it the "social" aspect of posting color themes and seeing how many downloads you get, and I'm just old?
No youre not old, just wise. Terminals are actually pretty complex beasts and performance matters above all, closely followed by compatibility. I feel the same way as you.
Or maybe we're both just old. Lets chase the kids off our lawn, get some dr pepper and fire up the alphaservers?
Ditto here. Given how performance- and security intensive a terminal emulator is (who wants to add JavaScript injection to their list of server security worries?), writing one in Electron seems a bit nuts to me.
A web dev friendly developer experience and a javascript plugin ecosystem opens that up to a new audience.
It's a pretty big audience. I guess the hope is that raises the bar for what users expect from a terminal and it's plugins, while providing performance that is adequate enough for it's target audience.
I dunno. An audience that's fine with a 1,000-line scroll buffer probably aren't heavy terminal users in the first place. Before you can "raise the bar", you need to reach feature parity with the built-in OSX terminal, or any of the hundred Windows apps like ConEmu.
Just because you don't consider yourself part of the audience doesn't mean this isn't intended for heavy terminal users. I'm using it right now and I'm impressed by the performance with dozens of production logs that aren't limited to a thousand lines of scrollback.
I'm not sure what a "gatekeeper" is, or the concern with it being "not inclusive". I suspect this is Twitter jargon, leaking out more broadly.
Terminal apps are a 1970's concept. We're discussing the possible use cases for a brand new one, which has yet to implement a number of basic features common to virtually all existing ones.
If anyone happens to not need those common features, and does have use cases satisfied by the new entry, then that's great! Your existence is not invalidated, there is no membership card for anyone to revoke.
However, while I'm not sure if there's a contemporary jargon term for expressing this in a single word... you should perhaps avoid "raise the bar" boasts, if you're simultaneously sensitive to anyone else pointing at a bar.
I suppose to the many JS developers out there (which is a lot), having your software built in it makes it easier and more appealing to write extensions for. I have no data, but it's my impression that the growth curve for VS Code extensions compared to VS "classic" is much steeper.
This may or may not be a good thing but IMO it does tend to make some interesting and novel things surface.
It's just an experiment. If you try to use it and you use the terminal for work you'll see that it freezes and crashes often with more that a few hundred lines, and that it uses a lot of RAM.
its one of the few options you can use on both windows and osx with the same themes and plugins etc. However, i agree, it wasn't able to get me to stop using item2
Wow, talk about someone I wouldn't want to work with...
Regardless of whether or not the app makes sense or should be used, (I am not a fan of it), the rhetoric you are using is childish and immature. You can voice dislike without being an asshole about it.
Well, this is odd. I agree with him, and I really do not care about the way he expressed his opinion to the point that I would work with him more than people who think that an Electron-based terminal is a good idea. If I have to choose between the two, I would choose the former. We are different, I suppose, which is OK.
I imagine that at one point there were people that didn't want to work with people who thought that garbage collection was a good idea. Or IDEs. Or high-level languages.
Voicing dislike with brutal honesty is far more effective. And it's the truth. Why should the truth be watered down? Just to make a few sensitive people feel better? That's not reality. As far as I'm concerned, that is fraud.
> Voicing dislike with brutal honesty is far more effective
then your way of voicing it is not brutal honesty, because you are most definitely not being effective, the only thing you are going to accomplish is putting whoever you are talking to on the defensive and now you lost your opportunity of convincing them. Or maybe brutal honesty is not that effective, you choose which one of the 2
You can say the truth of the matter without being brutal. You are trying to tear down someone that contributes to open source, and whether or you not like it, people out there do or they wouldn't still be developing it.
And contrary to what you seem to think, if you don't like the product don't use it, and better yet don't comment on it as you aren't helping anyone.
What's fraud is that you represented your opinions in such a tremendously ineffective way that none of us can read them now, and you are acting like you blessed the world. Nobody even knows what your opinion was, I hope you're happy.
Yes, it was admittedly a while ago but I looked hard for killer features or at least something that makes use of this obscene abstraction of Electron, but I could only find minor features. I mean, for Windows Conemu or Cmder looks much better. And soon Microsoft’s own upcoming Windows Terminal looks better too.
I gave up on Hyper about 8 months ago after only using it for a few weeks.
2.1 was close to unusable on Windows. Major prompt / cursor bugs (it would disappear all the time), ~200ms input latency (but a terminal's only job is to make typing feel awesome) and it took 5 seconds+ to open on an SSD. I reported a number of those issues but the maintainers didn't even respond even though people were commenting that it was a problem for them too.
Since then I've moved to wsltty for WSL and it's great when combined with tmux. Lightning fast with all of the terminal features you could ever want thanks to tmux (separate windows (ie. tabs), split panes, buffer searching and session saving / restoring). Close to zero input latency too as of wsltty 3.0.0.
Unfortunately that terminal requires an insider's version of Windows to run.
Enabling insiders means MS will track a bunch of data about you besides anonymous metrics and you can't opt out of it because insiders requests that info.
WSL v2 and / or that terminal sounds good but it may not be until Oct 2019 or Apr 2020 before the stable Windows channel sees it. They tend to release 2 major updates a year and if WSL v2 is only being released in June 2019 for insiders it's quite the push to have it ready by Oct 2019 for stable.
> Enabling insiders means MS will track a bunch of data about you besides anonymous metrics and you can't opt out of it because insiders requests that info.
As much as Microsoft tries to change it still remains the same...
I have no intention of ever using Hyper again but I did attempt to install 3.0.0 to see if anything improved just from a pure curiosity standpoint.
After running the setup program, it opens a green rectangle that animates. I can only assume that's the installer, except it doesn't let you customize where it gets installed to or anything like that. After 5 full minutes of animating without ever providing a UI hint that it's doing something (on an SSD), I killed the task. I guess I'll never know!
In before the JavaScript gripes begin. How about we skip the Electron whinging this time?
I haven't switched to Hyper because I have found it a bit pokey and that doesn't work for me, but I'll still give this one a try. I'm curious to hear about any interesting reasons other people _have_ chosen Hyper, or particularly cool things it enables by being built on web technologies. Anybody?
> In before the JavaScript gripes begin. How about we skip the Electron whinging this time?
I have a feeling that it's used to farm hate (as karma or "acceptance"). In a less accusatory way, let me say, I think that people really like to see that other people share their hate. This is just my gut feeling though, as I don't share their passionate hate,even though I don't "love" electron.
Sad commentary on the state of the world when you feel the need to comment on the speed with which a computer can pain text to the screen.
If you read their changelog you'll see that Hyper 3.0 uses WebGL to achieve this.
OpenGL. To draw text at a reasonable speed. It's not individually an insane thing to do within the context of Electron, etc. but take five steps back and talk about using a sledgehammer to crack a nut...
It's not insane. FYI the fastest terminal (alacritty) achieves its performance by rendering via gpu, and it's written in rust. iTerm recently started doing it too.
But if you look at input latency benchmarks (there was one posted not too long ago on HN, maybe a month or 6 weeks ago) alacritty isn't close to the fastest terminal for pressing a key and being able to see the key on the screen.
IMO pressing a key and seeing it is the primary focus of a terminal.
I wrote the WebGL renderer after explorations in rendering the text using a 2D canvas which simply didn't live up to my expectations. It wasn't so much about drawing text at a "reasonable" speed, that was very easy to accomplish using the DOM, it was about excelling and trying to reach native-level performance from within a web context.
You can argue about the downsides of Electron all you want, but in xterm.js (the component that does the terminal parsing/rendering that Hyper consumes) we have a portable terminal frontend that can run on anything that has a webview and is getting really fast. It's also used in _a lot_ of software[0]. I wouldn't call that particularly sad.
Actually that's a very reasonable thing to do. macOS has been using hardware accelerated graphics since 10.0, and leveraging this is better than fighting it.
I know that's the answer for running multiple sessions at once, but even if you're a tmux expert I don't see how people live with only one window. I constantly have multiple iterm windows open and frequently open new windows for one-off things.
If you're a tmux expert, it'd work something like this:
1) You don't have the default config/bindings.
2) You use some plugins.
3) You use multiple _panes.
4) You use multiple _windows_ (Do not confuse these 2).
5) You save sessions which persist between tmux sessions/reboots.
6) You run your terminal full screen or at least maximized.
Example:
I make a pane with ctrl+a (I don't use ctrl+b as tmux hotkey) plus - or plus |.
I make a window with ctrl+a + c.
I can switch between panes with ctrl+a + hjkl (or pointer).
I can switch between windows with ctrl+a + 1234567890 (or pointer).
So what matters is that running multiple terminal windows side by side is akin to using Tmux panes, and using multiple terminal tabs is akin to using Tmux windows.
It requires some practice to get used to it because basically Tmux becomes more and more your window manager...
(You can even run Firefox in a terminal btw, with Browsh.)
I have been using Cmder on Windows for a while, but Hyper has also looked really good.
With the announcement of the new Windows Terminal, I wonder if these projects will become irrelevant. The only reason I use Cmder is for tabs, and once I have Windows Terminal with that feature, I doubt I would ever use Cmder or Hyper.
If you adapt using tmux then you are free to pick whatever terminal you want because tabs / split panes are done very well in tmux.
For example I tried nearly every terminal on Windows and ultimately use wsltty because tmux offers nearly instant tabs and split panes, buffer searching and everything else you could want in a terminal.
Perhaps. I love tmux for multiple terminals in one SSH connection, but I'm a big fan of tabbed browsing, tabbed file explorers, etc., so having tabs in my terminal just makes sense. I could probably get used to tmux handling tabs and split panes all the time.
Only downside is you can't (easily) map Ctrl+Tab to switch between tmux Windows. Doesn't matter much if you spend your life in the terminal, but for occasional users consistency between applications is important.
I mean I use Dolphin because I'm a KDE user, but I believe it's possible in Windows with the Set UI [0]. There are third party Windows file explorers but I don't have any experience with them.
Hyper certainly looks cool, but “looks cool” doesn’t cut it when it comes to winning me over for what might be the #1 most important tool I use on a daily basis. Is there a page telling me why I should use this over my current terminal (iTerm2, FWIW)?
This is my personal experience, but for me, considering that the terminal is so frequently used, the small improvements add up over time.
I found the font rendering more pleasant on the eyes. I'm not entirely sure why this is, and I'd be interested to see what options could be tweaked in iTerm2 to make it visually similar, but Hyper just "feels" nicer to look at for me.
Second, I've found it useful to be able to customize my terminal with web technologies. Previously I used a custom prompt with lots of different bits of context (git status, node environment, python environment, Kubernetes context, etc). With Hyper it's been fairly easy for me to create a local plugin that renders a statusbar with those bits of context. It's built with React, CSS, etc, so personally the ability to easily adjust and create is super nice.
Two things I miss from iTerm2 are infinite scrollback and the ability to search output with Command-F. I would assume there's a plugin out there to handle searching, I just haven't looked that far into it yet.
Performance of Hyper 2 was adequate enough for me to switch. I'm interested to see how Hyper 3 compares.
I'm also interested in iTerm2 3.3, which overhauls the iTerm2 UI.
tl;dr - small customizations add up. It's basically the same migration as when I moved from Sublime Text to Atom (though I use VS Code now)
You say the small things. You mean like, how quickly the terminal opens and how quickly text gets painted on the screen?
iTerm2 blows hyper out of the water in those regards, and it actually does add up. Styling otherwise really isn't that difficult, but it begs the question of why do you need so much information? Are you actually developing or just spending time tinkering on your terminal to have bells and whistles that you don't actually even look at? Surely a simple colorscheme + font that aliases correctly should be enough to "feel nice" to look at?
The only thing keeping me from the better performance of alacritty is iterm2's infinite scrollback and some other miscellaneous features that alacritty will probably never get.
Yeah, I mean all this is very subjective. For me I don't care about terminal open speed since I keep the app always running, and my criteria for text rendering speed is it has to be fast enough to not be annoying, which is the case for me.
It's less about having lots of info and more about being able to control how it's displayed. I really only have a few things I keep around in my prompt / status bar, and they're all immediately useful to the task at hand and are reflective of the current project I'm working inside - I jump around a lot between tech stacks for personal and work environments, and being able to know where I am is important:
- what's the git status of this project
- is this a Python or Node app
- am I inside a virtualenv
- what's the Kubernetes cluster context name
- what's the currently active Kubernetes namespace
I really hate visual clutter, so the ability to move some of this stuff to a status bar rather than keeping it around on every repaint of the prompt, and be able to exactly style it as desired with CSS, is what attracted me to Hyper. This applies to the whole UI, if there's any element I don't like, I can change it.
Similar to you, I've considered switching to Alacritty, but it doesn't hit the features/customization to performance ratio for me.
I've been using Hyper 3 Canary for a while, if you're on Windows it's a MASSIVE difference from previous versions - all the normal stuff you expect to work (select to copy, right click paste, rendering, readline shortcuts etc) works (with a little tweaking, see below). It's definitely usable as a daily driver.
I've been using Windows Terminal in the last 24 hours and it still has some major bugs. While I'd say Fluent Terminal is the best in terms of being lightweight and feature filled, and Alacritty for raw power if you have big shell workloads, Hyper 3 is pretty damn good and worth a try.
Sane defaults:
Use pwsh (not cmd, that's the Windows equivalent of launching 70's Bourne shell on a *nix box):
# Extraterm - in my experience the best electron-based terminal emulator in terms of performance. It has some neat features too. I catch myself using it more often than Tilix.
# CMDer - pretty much the only option. Has everything one needs, even built in bash on Windows. Useful on Windows 7 PCs at work that don't have WSL or admin rights to install more stuff.
What's the point of using hypertext-(web)-standard-oriented multimedia-capable framework to create an application that just shows plain text (ok, plain text + 16 colors + bold).
Why would one package a 50MB terminal, packing stuff that will never be needed in a terminal.
It would make sense if they were to spend all that effort to create a terminal-based web browser.
I'm a daily user of Hyper. There has been some gripes of pretty basic things like scrolling and resizing. These aren't showstoppers for me, however I only do pretty basic operations in a terminal (some server maintenance, git commands, and basic file operations).
The big downside I see to using the GPU for this is that it is such a hit to battery life. I was an avid iTerm user, but noticed that when I had it running I only get ~2 hours of usable battery time, even when it was just backgrounded. I hope that Hyper doesn't have this same issue -- will keep a close eye on it.
I tried hyper v2 recently, took some time to fiddle with plugins and config everything to my liking. It was usable, though missing the ability to launch different shells in different tabs (I'm a windows user, so being able to have a git bash tab, a cmd tab, a powershell tab, a wsl tab, etc. is kind of a must).
This morning I was prompted to upgrade to hyper v3, I clicked yes, it refreshed. All my plugins and configs were gone. No prior warnings, no suggested upgrade path, just full wipeout. I uninstalled hyper and went back to cmder.
Honestly speaking, I started using Hyper again this week after 3.0.0 came out, and I like it a lot.
I'm not really sure if there's any actual benefit to using it as opposed to the regular Mac terminal, but the colors are bit easier on my eyes at night.
The only thing I'm missing is the ability to move tabs around.
I stopped using iTerm2 in favor of the default Terminal because iTerm2 has worse performance and latency [1], and I wasn't getting anything out of its additional features. I noticed an improvement going back to Terminal.app. YMMV of course; but if we're asking why Hyper is necessary, I'd like to ask the same question of iTerm2.
Alacritty uses the gpu for acceleration, where iTerm uses it only sometimes. That might have changed in a recent release, but originally iTerm was limited in when it used the gpu.
I notices it a little bit when moving around quickly in NeoVim.
The only usecase that comes to my mind is text rendering when you want to navigate through some large log file, maybe even this some kind of syntax highlight.
Otherwise I'm quite curious too to why you may need a GPU rendering or something like this...
I wouldn't say that I need GPU to render my terminal, but if the alternative is to just let the GPU sit there, unused unloved, then I'll take the terminal that accelerates using the GPU.
Aside from the plethora of themes and other visual niceties, can anyone explain to be the appeal of Hyper when less expensive, more performant alternatives exist?
A terminal written in Electron seems just silly to me...
Well, LaTeX is also Turing complete, so I wonder why has no-one tried programming a terminal in it. It would be fun to install 1GB of TeX packages to be able to open a terminal.
May I suggest DomTerm (https://domterm.org)? It has builtin tabs and tiling, which can dragged and reordered with the mouse. It works very nicely (using the GoldenLayout package).
You may, thank you. I'm not really looking for a terminal built on web tech specifically, I use it for work and I care about reliability more than anything else.
I'll take a look and see if I can install it on Linux, though.
"New Blazing Fast WebGL Engine". Wow really?
Major changes - "Emoji support". For fucks sake, seriously?
Am I the only one that doesn't want anything of the following _bull shit_?
* A terminal emulator that is dependent on an entire web browser (not to mention the layers upon layers of bullshit abstractions all to run something from the 70s).
* Support for "emojis" (I mean, come on. It's a _damn terminal_).
* To execute code that can hijack control of my shell from any of the 956 dependencies[1] this _heap of shit_ relies on.
I'm not trying to hate on Electron (VS Code is my main editor now, and I enjoy it). But I just don't see the point here other than, "Look what they wrote with Electron!". Is it the "social" aspect of posting color themes and seeing how many downloads you get, and I'm just old?