Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You forgot f) so lacking in features that it's a productivity roadblock


What missing features do you see as a roadblock?

I installed iTerm2 on my work Mac because it came so highly recommended, but I honestly never remember to open it over the regular terminal. ~All of the features that matter to me in a terminal are features of the shell and the OS, not of the emulator itself.


Iterm is better documented. Try finding how to pass Ctrl-Meta-key; better yet, throw in a shift as well. Setting up 24bit color, supporting italics, and allowing Emacs keystrokes to go through to the remote server at will is a quality of life improvement. I managed to be feature complete with iterm on macOS with minimal effort, but not with the default terminal, and there was no source code I could check to help me avoid trivial annoyances. Xterm/rxvt from xQuartz on Mac OS are easier to work with than the default Mac OS terminal, and feel closer to their behavior in Linux, but then you have some unneeded X window features and miss other trivial automation features like multiple tabs.


iTerm2 is slower. It feels way jankier with nvim than Console, kitty or literally anything else. I do not believe anyone should be using iterm2, given their history of security issues. All of them leave me scratching my head as to why did anyone think that designing it the way they did is a good idea.


The idea that iTerm is noticeably slow is hilarious.

If you buy a base model grandma level MacBook Air it can play Cyberpunk 2077 without breaking a sweat and somehow terminal performance is an issue.

And if all I cared about was raw performance I’d be using vim instead of VSCode. But raw performance isn’t what makes me productive.


But it is. Scrolling in neovim is noticably slower on iTerm2. This makes it cumbersome to use. Even if it doesn't prevent me from inputting the keystrokes any faster, if it is cumbersome to use, it will make me work slower.


I've used numerous terminal emulators on both macOS and Linux. I use Neovim daily. There is no noticeable difference in scrolling performance.

Additionally, there are so many ways scrolling can slow down in Neovim (e.g., bad tmux config). It's hard to take your word for it that the issue lies in iTerm2 in the absence of any sort of reproducible evidence.


There might be some tmux involved, yes. But the same tmux config works just fine with Kitty. Kitty also hasn't been leaking commands I've ran as DNS requests. Nor has it left my zsh history on a remote host. I don't care to investigate why iTerm2 works worse for me because I am satisfied enough with a solution that works. iTerm2 not working for me rhymes with my previous experiences with iTerm2 and its security issues.


That's uncalled for. Security issues are quickly fixed and released in iTerm2. The dev is responsive to feedback, even to hostile Mastodon trolls brigading the issue tracker [1].

Please don't be like that.

Also, any serious software has its own share of problems. Have you actually looked at the issue tracker for your supposed champion?

[1]: https://news.ycombinator.com/item?id=40657890


What specifically is uncalled for? I disagree with the design choices made in iTerm2 and wish the best of luck to the developer(s) behind it. I am not wishing any harm, but I do have to say that the input latency is annoying and attempting to resolve words in command output to see if they are hostnames is a dubious technical solution. Am I not allowed to voice my opinion on this?


It was an oversight that was promptly fixed after the issue was raised. The dev created a post-mortem [1] and a wiki [2] describing the issue.

Seriously, give the poor dev a rest. It's absolutely uncalled for to throw in a non-sequitur about some bug from 7 years ago, making snide remarks about how that's a "design choice."

[1]: https://gitlab.com/gnachman/iterm2/-/issues/6068#note_409052...

[2]: https://gitlab.com/gnachman/iterm2/-/wikis/dnslookupissue


Sure, it was an oversight. I am glad the issue was resolved swiftly, and I think George Nachman managed the issue well. But it is the existence of the bugs discussed in this thread that make me feel like not using iTerm2. I do not understand how can one not use past events as arguments in favor of not using a piece of software. I'm more than certain that George Nachman is a great developer developing great software, and I am not saying otherwise. I will however not cede that I do not wish to use iTerm2 because of the existence of the dns lookup bug in the first place, combined with the high input latency - I will not use software just because someone has put a lot of effort in it - I have to feel good about using it too :)


People are allowed to have preferences and dislike software.

Similarly, if your mechanic forgets to tighten the lug nuts or leaves the oil cap off, and nearly kills you or destroys the engine, you are allowed to find a new mechanic without the Hackernews hoi polloi coming out of the woodwork saying how unfair it is, he has mouths to feed, and linking to critical Yelp reviews of your new mechanic trying to convince you of your own idiocy and wrongdoing.

This emotional attachment to a piece of throwaway software here is frankly weird.


This over the top aggressive response to a bug in a passion FOSS project. That thing you just did is what I have issue with.

People are allowed to have opinions. In the same spirit, others are allowed to call out inappropriate or toxic behavior.

Also,

> Hackernews hoi polloi coming out of the woodwork saying how ... he has mouths to feed

Do you not understand what people mean when they say iTerm2 is free and open source software developed in a single person's spare time, and people aren't owed any of it? You didn't pay your metaphorical mechanic. Such bold sense of entitlement.

What's even more unfortunate is your take on my previous comment:

> linking to critical Yelp reviews of your new mechanic

Let me be more clear. You'll find something to pick on in any FOSS software. When you bring it up, no FOSS community will tolerate the kind of attitude you put on full display here.

Last but not least,

> This emotional attachment to a piece of throwaway software here is frankly weird.

Piece of throwaway software? Do words have no meaning to you? This is 15 year's worth of work that you're belittling. That work consists not only of coding, but coordinating with users and other software projects. I've seen him many times in issue trackers of various other projects. He's giving away all of that work for free. Imagine having to deal with people like you on top of all that.


An entire thread of neovim users generally saying that the performance is acceptable: https://www.reddit.com/r/neovim/s/JOQL9e76fp

Just because something else is faster doesn’t mean that iTerm is slow. It’s all relative.


Sure, it is slow for me.


>Just because something else is faster doesn’t mean that iTerm is slow. It’s all relative.

If you are thinking about a change, console marketing would be a good place to start ;)


Cyberpunk 2077 on a MacBook Air without breaking a sweat? At what resolution and framerate?


The plain M4 chip will run Cyberpunk 2077 at 30FPS 1080p. (Andrew Tsai on YouTube)

I did neglect the fact that Apple hasn’t thrown that chip in the Air yet, but I’m sure that’s only a few months away.


At ultra settings? Even if, 30 fps at 1080p is not nearly “without breaking a sweat”. Also, the air will have trouble keeping that performance after a few minutes without a fan.

I love my MBP M4 Pro, but its gaming performance doesn’t reflect well what it’s capable of.


This is at High settings! And I haven’t even mentioned that the game is running via Crossover through multiple translation systems. That’s translating both Intel Windows to ARM Mac as well as translating the graphics APIs (DirectX or Vulkan to Metal).

The cyberpunk native Mac release comes out this year and will almost certainly improve performance further.

Why would anyone care about ultra settings on a laptop? I don’t even set my PC desktop to ultra settings in the game and I have a current generation mid-high end GPU. Setting demanding games to Ultra just giving up FPS to not tell the difference.

30fps 1080p is basically console-level standards for a AAA graphically intense game (not esports or online shooter). And that isn’t bad at all for the processor with integrated graphics that Apple sticks in its cheapest computer and its tablets.

Your MacBook Pro M4 Pro is one of the best gaming laptops on the market in terms of hardware! Especially if you want something that’s thin, light, and quiet with good battery life and not just a thick tank of a system or a loud but thin and light gaming laptop that struggles to power and cool its dGPU.

Depending on your configuration, you can actually play Cyberpunk at high settings at or above 60FPS on your laptop. You’re vastly underestimating it!

Your laptop just needs the software to get ported, and the Mac gaming space is rapidly evolving now that Apple is paying attention to it.


Latency during typing is a real issue, not sure what you find hilarious here.


I wanted to like kitty and tried it many times. It is subtle issues that break Emacs now and then, like breaking the display alignment for some zero-width joined emoji. Iterm2 on a MacBook is snappy for me. With remote work, the latency for me is mostly network delays of order a couple of ms per keystroke for the cabled Ethernet connection; mosh helps for the extreme cases, or when on WiFi (which often feels annoying without mosh), otherwise ssh -C is sufficient for my daily driver.


I don’t know about the rest, but I’m sure Terminal supports italic.


Quake mode. Terminal doesn't have it, and the recently released Ghostty's quake mode is slower than iTerm2.

There's very little I want in a terminal emulator. What I really want is a full screen terminal, with no menu bar, no delay, and no animations, which I can toggle with a global hotkey.


It strikes me as a little odd for the terminal rather than the desktop environment within which it runs to implement the hotkey (or, as you call it, ‘Quake mode’).

I just have my tiling window manager configured with a keybinding to raise my terminal. No menu bar, no delay, no animation, just type the keybinding and bam, there’s my console, covering the complete screen. Another keybinding, and there’s my browser. Another keybinding, and there’s my editor.


How are you achieving this in MacOS?


> How are you achieving this in MacOS?

I don’t — I use Linux on my desktop. I stopped using macOS back when it was called System 8 or 9!

I think any tiling window manager can be configured to do this, but in my case I use StumpWM.

    (defcommand terminal () ()
      (run-or-raise "urxvt" '(:instance "urxvt")))
    
    (define-key *top-map* (kbd "s-t") "terminal")
With the above, when one types Super t then the terminal either is raised to the top, or starts (and runs on top).

From others’ comments, I think that this is probably possible with a modern Mac, too, but I find that Linux is generally easier.

StumpWM: https://stumpwm.github.io/


That sounds great, but I'm not changing my entire operating system just so I can have a possibly marginally better terminal emulation experience.


You would also get a better window manager, better compatibility with server operating systems, a bash updated this decade, XCompose (think the Option key, but way, way, way more powerful) and more freedom, but on the other hand you’d lose macOS-only programs, and from time to time would have to deal with something truly frustrating which would never be an issue on a Mac.

It’s certainly not perfect, but I do prefer it. But then, I enjoy yak shaving grin


> I enjoy yak shaving

As my username would suggest, so do I. However…

> a better window manager

The bulk of my workflow involves Chrome and tmux inside my always available full screen terminal. I haven't the need for multiplexing anywhere except the terminal.

> better compatibility with server operating systems

I run nix-darwin on MacOS, and I have remote NixOS machines configured as build hosts. This is important, as everything I write is Haskell, and it must be compiled for x86_64-linux.

> a bash updated this decade

I use zsh and the bash available in the latest nixpkgs.

---

MacOS does an excellent job of managing all the other quality of life stuff that doesn't immediately concern me as a power user. A number of my current and former colleagues are all in on NixOS, but the number of times over the years I've had to wait at the beginning of a video chat for them to configure their audio settings, which sometimes means installing different drivers and/or turning their machine off and on again…

Yeah. Even as a huge nerd, I think MacOS is great.


I do this using Raycast, no matter which terminal emulator I'm using today (Terminal, Ghostty or Alacritty), I can just setup my global hotkey in Raycast and get the same "quake mode" everywhere.


Does the terminal appear instantly, and obscure everything else?

By default, the way MacOS does full-screen windows is by moving them to a space. Switching between the terminal and another application, e.g., Chrome, causes a large sliding animation between applications, which I absolutely do not want.


Oh I don't have it fullscreen, sorry, it usually covers the bottom half or bottom-left corner (depending on screen size). There it appears and disappears instantly.


Another option is rcmd. https://lowtechguys.com/rcmd/


I do something similar and I use Hammerspoon (with kitty in my case). It’s a hell of a tool!


I have never felt a productivity roadblock from terminal. It’s important to distinguish “oh neat and shiny”/“I like this more” from “actually makes me work faster”. If your terminal is a real productivity roadblock, it’s likely your workflow is optimizing for the wrong things because it just shouldn’t be taking that much of your time.


I work on a laptop with a small scren most of the time. I am constantly going in and out of the shell. iTerm2 has a quake mode that allows me to seamlessly pull this up on top with a keypress. It significantly reduces the lag of switching to another window with CMD+Tab or w/e.


Some of this stems from just the extremely bad support for hotkey window management on the part of MacOS.

On my Linux machine with KDE I can open a new terminal with a single hotkey and alternate between open terminals with a second hotkey. I've never once wished for a fancier terminal than KDE's default.

Using Mac for work is a different story, though it's remedied somewhat with Rectangle and similar.


The small screen is your productivity bottleneck far more than the terminal itself. Change that and I’m sure you’ll notice a much larger productivity boost than a few seconds saved on cmd-tab or other hotkeys available (and there are hotkey improvement tools you can install that aren’t tied to a specific application).


I move around a lot and travel light, upgrading the small screen isn't really an option. I definitely agree there are probably countless ways I could further optimize my system, but switching to a more feature-rich shell app is a clear productivity upgrade, since it only took me a few minutes to setup the features I need (security concerns aside).


Bringing a mobile external monitor with me saved my life (figuratively).


ghostty has a quick terminal too. you can also use raycast to toggle show/hide any app including third party terminals.


Neovim is basically unusable due to the plugins I use having Unicode characters not supported properly (like telescope), so it does make a huge difference to me. Also, latency is an issue, and of the third-party terminals, only kitty is snappy enough to have nearly zero latency issues while typing. Drives me crazy when I’m chaining commands and there is a ~150ms delay.

Plus, any terminal other than kitty is noticeably laggy when using other terminal programs and typing quickly, and 90%+ of my time is spent in the terminal: using custom commands and aliases, ruby shell, docker, on top of usually using vim for editing. And having great customizable hotkeys for different common functions.

Guess my point is that the terminal app you use can make a big productivity difference


You're right, all those users that switched to iterm2 because the default is such a steamer have NO IDEA what they are doing, and only you, some random on the internet are capable of seeing the flaw in their ways.


People can switch because certain things feel easier or there’s nicer polish or quality of life improvements you enjoy. That doesn’t mean there’s an actual productivity boost and couching the former in terms of the latter is dishonest.

It’s interesting the emotional reaction you’re having to a rather banal observation.


are you mental? terminal on os x used to be objectively shite, with horrendous latency. that is enough to discourage people for life.


As old UNIX hat, what is that missing?

After my "UNIX is cool, lets configure everything" phase, which lags behind in the 1990's decade, xterm or anything like it, is more than enough.

I don't need fancy stuff for a bunch of CLI commands.


This is macOS, not UNIX for bearded geezers. It’s literally an operating system meant to be easy to use for consumers, a.k.a. morons.

It’s also a very popular corporate deployments where most of your command line users are web application developers who are just doing a job because it pays good money. They have no philosophical attachment to traditionalist simplicity, perhaps compassion nonfor computing at all.

I don’t blame macOS users for liking the features of iTerm2.


> consumers, a.k.a. morons.

Wtf man. Some of the smartest people I know have no interest in getting anywhere close to sw eng or working anywhere in IT, so are by definition "consumers".

Just wait until one of those "morons" operates a tumor out of your brain.


I've always said that "consumer" is a slur.


It's just humor. I'm a moron myself. It's not a big deal.

The more serious point is that Apple's primary customer base does not care for what's going on with the command line, and that's why the provided terminal is basic and feature-bare.

It's not really this intentional thing where the bare terminal is the best implementation. It's more of a Notepad.exe situation where Apple has to include one for the basic functionality of the system.


Which is exactly why the command line is to be used as little as possible, and for the very few use cases a command line is required, it doesn't need to be fancy.

macOS users of Apple and NeXTSTEP culture linage don't care iTerm2 exists at all, only Linux and BSD refugees.


As an original Macintosh user who discovered programming via HyperCard and Unix through OS X I’d disagree. I think there are a fair number of people like me who can’t bear the ugliness (in all senses) of windows and the time sink of Linux but do love composable open source utilities and text files for parts of our work.


Then you are pretty much aware that until OS X, Mac OS developers and users hardly cared about command line.

Most would only get it via MPW, and outside automating compiler workflows, hardly open the terminal.


That was almost 30 years ago.

People on classic Mac weren’t making web apps running on Linux servers.


Doesn't change the point of culture.

Also many of those people, if they want to deploy on Linux servers, they would be better off using local Linux development, not OS X.


Even if someone exclusively writes software that ends up running on Linux servers, doesn't mean they don't appreciate various nice Mac-exclusive applications as a user during their workday.

An example: I love everything about the Things task management app so much that I would never choose to run a desktop OS it doesn't run on.


I wonder how far this reductio ad absurdum is going to get. Come on, we can get to "just don't use a computer" by teatime!


Over here it is more like Kaffee & Kuchen, but yeah.


That’s completely untrue.


[flagged]


Imagine creating a throwaway account to lie about an iTerm2 feature because you couldn't single out any other feature that's legitimately problematic.

> Looks like the maintainer tried to implement something like Windows' Recall feature - logging every input/output to a file.

https://news.ycombinator.com/item?id=42582191




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: