Hacker News new | past | comments | ask | show | jobs | submit login

Apple should follow MS's example and open source its Terminal.app

It's a decent terminal emulator, but could use several enhancements and the community could help.

For some reason I haven't changed to iTerm yet, even though it's been objectively better in every way for years. Even the minor gripe I had with font rendering is fixed.

There's something about using default apps as much as possible that appeals to me. But Terminal.app is lagging compared to the competition.




> It's a decent terminal emulator, but could use several enhancements and the community could help.

It's the only modern terminal that passes the VT torture test. It supports double width and double height characters (great for terminal error messages).

It doesn't support overline (which is awesome for status lines at the bottom of the screen) and requires font support for line drawing and block graphics (Unicode 13 introduced 2x3 blocks and the next one will introduce 2x4s).

> There's something about using default apps as much as possible that appeals to me

For me it's one less thing to distract my distraction-prone brain.


Better keyboard only text selection, vertical/horizontal splits (I know about tmux, I still prefer scrolling and searching on true app), true color support, image visualizing would be nice.


VT torture test?


I think rbanffy is referring to vttest[1], but I'm not certain.

[1]: https://www.invisible-island.net/vttest/

EDIT to add: vttest is maintained by the current maintainer of xterm. It's the "torturiest" VT test I know of.


No. Not this one. It's too much work to test everything. A much more concise can be used from:

     curl -q http://www.ibiblio.org/pub/multimedia/animation/vt100-animation/torturetest.vt
On a real terminal, you'll be able to see even the smooth scrolling function that AFAIK no windowed terminal implements.


Whoa, thanks! It looks like I’ve got some reading to do.


Next steps would be supporting Tektronix and ReGIS graphics.

Sixel graphics are a terrible idea.


> Apple should follow MS's example and open source its Terminal.app

This is bellyaching about nothing. Instead, Microsoft should follow Apple's example and open source the operating system. The only part of macOS that is not open source is the GUI, i.e. Quartz Compositor, and the gui applications. Microsoft, meanwhile, is an incredible slouch when it comes to open source, only very recently changing their hostile "embrace, extend, extinguish" stance towards OSS.


>Microsoft should follow Apple's example and open source the operating system

1. Apple did not open-source MacOS. Hell, I can't even buy a copy of it and run it on a PC but instead I have to buy Apple HW to get it, while at least I can download a copy of Windows and run it (even unregistered) on any cheap PC HW and develop SW for it, without paying for Microsoft hardware, or even for the OS itself (gray legal area), unlike Apple where the only way I can run MacOS and develop SW for it is by buying Apple hardware which is a far more restrictive way, from a monetary perspective, to get someone on board

2. Microsoft cannot open-source Windows as it contains a lot of third party code for which it has no licensing rights to open source. They've explained this multiple times. I assume the same applies to modern MacOS.


There’s orders of magnitude more closed source than open on macOS. But yeah, all software should be open source.


I probably shouldn't dignify this with a response, but yeah, you don't know what you're talking about. The kernel XNU is OSS. The BSD userland is OSS. This means that technically, the operating system is open source. If you go by file count, there is far more OSS in macOS than not. But if you want to go by file sizes, then the only closed source parts of macOS, again, are the GUI, the Quartz Compositor, and a lot of Apple's installed applications, which are bound to have large file sizes. So it is deceptive and frankly false to claim speciously there are, plural, "orders of magnitude more closed source than open in macOS."

But every release Apple releases more open source software.[1] No other proprietary operating system vendor releases more open source than Apple.

So, yeah, you're just wrong.

[1] https://opensource.apple.com/releases/


I think a lot of value comes with the Frameworks, with them you get at least source compatibility with macOS and without them the core operating system will just be another Unix operating system without much hardware supports.

So I personally put much more weight on the Frameworks over XNU and BSD userland. There is a reason GNUStep is less dead than PureDarwin :D


That's fine, but the frameworks are not installed with macOS. In order to get them, one must sign up for a free developer account, at least, and install Xcode, which is massive, but I'm not sure how you can say it is part of the OS when most people never install it.


The system frameworks e.g. Cocoa, Foundation, CoreServices come with every installation as binaries. These are the building blocks of the GUI and mac default apps. They act as the abstractions to the underlying BSD and Mach system and basically what define a macOS system. [1][2]

My point is I put more value on the closed source parts more than the core OS and even the GUI itself. If these were to be open sourced, practically means possibility of source compatibility (even binary compatibility) on Linux and that is huge deal for the public. On the other hand, I'm not sure how can anyone besides compiler and driver developers can benefits from Darwin being open source.

[1] https://developer.apple.com/library/archive/documentation/Ma... [2]https://developer.apple.com/library/archive/documentation/Ma...


Yeah, I almost spit my coffee.

>>…but the frameworks are not installed with macOS

To paraphrase Maursault, he has no idea what he's talking about and we shouldn't dignify him with an answer.


Cocoa/UIKit, Quartz, Core*, drivers, etc are all closed source and much larger (by line count) than the kernel and BSD stuff. You can even throw WebKit and LLVM (which are humongous) in the mix and it won't change the balance.

But since I can't link to them and neither can you, we're just going to keep saying the other one is wrong in a web forum.


And that is expected, because graphics takes up a lot of space, so this comparison is not intellectually honest. But I'd like to see you try running just the "Cocoa/UIKit, Quartz, Core*, drivers, etc" without the kernel and BSD userland. Without the GUI, we still have an operating system that is entirely OSS. With only the GUI, we have nothing that works.


> But I'd like to see you try running just the "Cocoa/UIKit, Quartz, Core*, drivers, etc" without the kernel and BSD userland

That's the point we can't because they are binaries (with strict EULA at that) but make it open source I can guarantee they will be ported to Linux within a year :D

> Without the GUI, we still have an operating system that is entirely OSS. With only the GUI, we have nothing that works.

entirely OSS operating system that lacked hardware supports to be useful, what is the point over something like Linux. Even FreeBSD supports more hardware.


>because graphics takes up a lot of space, so this comparison is not intellectually honest

I've written “by line count”. It's more code, lots of it, not binary size.

>Without the GUI, we still have an operating system that is entirely OSS. With only the GUI, we have nothing that works.

You're discussing merits, I've been arguing about an absolute value: lines of code.

But if you want to discuss merit, here's another objective data: Darwin has been open source for 20 years. No one runs it. Because all the value is at the top layers and lower closed source ones. See the trouble folks at Asahi Linux are going through to reverse engineer the M1's GPU graphic driver.


Mac without the userland is mostly useless. At that point you might as well switch fully to FreeBSD.


This is a straw man, and also not entirely accurate. Darwin is BSD, and in theory just as useful as BSD, or FreeBSD, NetBSD, and useful to developers, and to anyone that can figure out how to install it and use it. [1] Meanwhile, Windows without hardware less than 2 years old is absolutely worthless. Thus, Linux.

[1] http://www.puredarwin.org/


>Meanwhile, Windows without hardware less than 2 years old is absolutely worthless.

This is false. Source: Installed Windows 11 from official Microsoft ISO on a laptop from 2016 (6 years old) and runs buttery smooth.

Please stop spreading FUD like this.


If it were not true, Linux would never have become popular. Linux evolved beyond quickly fixing what Microsoft broke to take over the server space, but that was Linux's first practical reason for existing, to mitigate the problems with Windows slowly dying after about 2 years of being installed and used daily.


> Meanwhile, Windows without hardware less than 2 years old is absolutely worthless.

That is not my experience at all.


> Meanwhile, Windows without hardware less than 2 years old is absolutely worthless

This seems like a massive exaggeration. I am currently running Windows 10 on a refurbished laptop I bought in 2012! (So, actual hardware is even older).


Is there a comparison of Darwin to other BSDs?


I was a Terminal.app user since Tiger, only recently had to switch to iTerm 2 as since Big Sur it forces anti-aliasing on non-HiDPI displays, even when turned off in the settings (I like non anti-aliased Monaco 10pt). It looks like a bug, but hasn't been fixed since.


If you use a font which doesn't have outline data Terminal.app and you set the rendered size to whatever is the native size of the font, Terminal.app will show you the unadulterated bitmap (if you use a multiple of the size, Terminal.app should scale it up without anti-aliasing).

I generate a .dfont without outline data based on a tweaked version of my favorite bitmap font, in Font Forge.

Now, if there is a way you can pre-render your favorite outline font to a bitmap and write it as a .dfont without outlines (other extensions may be fine, not sure though), you could switch back to Terminal.app. But font tools on GitHub etc. are very very few and never work that well, if they even do what they advertise at all.


when i am using macOS I use kitty as on my (primary) Linux laptop, and it's works beautifully there,

(iterm2 is great too)




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: