Show HN: Sublime Merge – A Git client from the makers of Sublime Text
sublimemerge.com
sublimemerge.com
Edit: there's also the announcement blog post, at https://www.sublimetext.com/blog/articles/sublime-merge
Thanks for the great work! No single text editor in my life i love as much as sublime!
But PS, you have a broken link on the /download page
<a href="/https://www.sublimehq.com/store">purchased</a>
Of course that leading slash will break things -- you could drop the whole `/https:` too.For example, when you stage a file in Sublime Merge, we internally predict the resulting change to the repository, so the changes are reflected in the UI immediately, while the operation is actually happening asynchronously. In contrast, other Git clients can take seconds before being able to stage a second file.
Does it offer any integration with Sublime itself (e.g. if someone has a license for both)?
Right now, Sublime Merge will pickup installed Sublime Text packages (e.g., for syntax highlighting), and will also find Sublime Text when you choose Open in Editor from within Merge (this can be customised to something else though, of course).
1. If Sublime Text could detect when a directory is a git root directory, and present a button to "open in sublime merge" (my sublime projects often span multiple git repos, so detection on a folder by folder basis would be key). The ability to configure this to use another git client would make sense, although personally Sublime Merge looks fantastic.
2. A create commit action accessible from the Command-Shift-P dialog. I imagine Sublime Merge launches pretty quickly, so this would be pretty nice as I wouldn't have to keep it open: I could just let Sublime Text manage my "workspace". I currently commit using the terminal (+ Micro Editor), but this could be even better. Note: I notice that there is no "Stage All" button. That would be useful...
Aside: IMO managing workspaces/projects is a weakness of Sublime Text atm. I have tendency to move directories around which makes managing projects a bit awkward. I've resorted to opening sublime from the terminal with `cd /path/to/project/; subl .`. Not sure I have any specific suggestions for improvements, but that welcome screen in Sublime Merge sure looks nice...
2. Merge tool integration for file merging/diffing (e.g. if two files are selected in the sidebar, you could right-click > diff files, and perhaps an action on an open file could be "diff file with..."). There are plugins for Sublime Text that try to do this with two text panes, but they don't work especially well. IMO there aren't very many good diff tools, so a lightweight one that works cross-platform could be a good market to target.
Thank you for Sublime Text. I've used it almost every day for work for the last 5 years and it's definitely made my life much easier!
With regards to Stage All, we don't have a button, but we do have a key binding: Command+Shift+A to stage all Modified files, and then press it a second time to stage all Untracked files, if desired.
If it's possible, I'd also like some auto-sync mode (e.g. when a folder with a git repo is opened/active in sublime text, have sublime merge automatically switch to that).
Eventually, perhaps Merge can just be an extra tab (or something similar), inside ST, for people with both licenses.
Trying to migrate away using spacemacs but it's not going well
Great job on Sublime Merge.
Well, to be honest I've heard of folks complaining about Electron apps, but are easy enough to avoid. Oh yeah and Swing was a bit sluggish… in the 90s.
What am I missing?
Qt, Wx, Java, and many others don't or no longer perform poorly. So why the surprise there is one more? Maybe some folks don't know they exist.
In demoing Sublime Merge — if I move branches that use a different submodule or different submodule version, I get uncommitted changes, either a folder where the submodule was or commit change on submodule.
Other than this it looks great!
We do have some basics in there right now, you can directly edit commit messages and squash commits without any fuss. Full interactive rebase support will be coming later.
I have a question, or rather a request. As a long term Sublime Text user I like to hide the menu bar which you can't seem to do in Sublime Merge. Would you consider adding this in a future release?
Not a huge problem because there's the cool branch list/switcher at top center, so maybe will find myself working with the Location Bar hidden mostly.
I have a couple questions: - Do you have a plan to add git flow integration? And what about interactive rebases? - Please, please, allow free users to use dark theme as well! Sublime Text license was really great, why add such a small change?
Bonus if the other strings contain placeholders e.g. "Interactive #{rebase|ucfirst}" to reduce the changes.
Bravo Jon, SourceTree has been sucking more and more recently, and as a Windows & Mac user I'm looking forward to trying this out.
I think it's actually good of the developers not to impose DRM, but it seems that confused you into thinking this is free software?
What does that mean? Isn't git flow just a branching model?
git flow init = git init; git branch develop; git checkout develop; ```
``` git flow feature start add login page = git branch develop feature/add-login-page; git checkout feature/add-login-page; ```
``` git flow feature finish = git checkout develop; git merge develop feature/add-login-page; git branch -d feature/add-login-page; ```
Is there any roadmap somewhere so we know what to expect in the future?
Go to Preferences > Edit Settings, then add a new setting to the dict: `"dpi_scale": 2.0` (or whatever float value works for you)
I think you need to restart Sublime Merge then.
I'd like to revisit this, as the hidpi experience really is a lot better with GTK3.
SublimeText uses "Skia Graphics Library" to draw the entire user interface.
However, you still need to write Cocoa for macOS components and GTK for Linux.
Many cross-platform programs do the same, developers use a high-level library to render the overall interface, but underneath they are still using the native graphics libraries offered by the operating system where the program is running in, in this example, macOS and Linux. You can still do a lot with Skia alone, but eventually you'll find yourself writing some platform-specific custom code.
Is there a way to delete a local tracking branch and its corresponding branch on the origin in one operation? I often use this when cleaning up old branches that have been merged into the main development lines.
Pngcrush is rather limiting though. I could compress the PNG textures by ~8% more with optimage [2] (I'm the author).
And for newer browsers, serving the textures as brotli-compressed BMPs would actually make them >30% smaller (probably more with filtered but uncompressed PNGs).
[1] http://www.sublimetext.com/~jps/animated_gifs_the_hard_way.h...
Also, most of those savings came from near-optimal Deflate compression.
- It doesn't seem to be picking up my global .gitignore file. I see untracked changes of something that should be ignored. It doesn't appear on any other git client nor `git status`.
- Please add regex to the search :)
EDIT - read the blog post and idly wondering if you would ever consider licensing Sublime's UI engine?
I'm hoping you could somewhat detail your custom UI toolkit used in these apps as they are consistently fast and uniform across platforms?
One feature that's missing from most of the git clients I use is the ability to do "branch1...branch2" diffs, ie, diff two branches from a common starting point but only show the new changes in branch2. Do you think this will be possible in Sublime Merge at some point?
Just a sidenote, good on you for keeping SublimeText fast and optimized. There are way too many systems out there that have moved to the "put every single application ever inside a self-contained chrome". I usually recommend Sublime before I recommend Atom because of this.
I'd like to add a custom command for pulling a specified branch from a remote, and given the extensibility of Sublime Text, I think there's a way to do that, but I'm not yet sure how to find it all?
Also, count me as a vote for a high performance Sublime Terminal. I'd pay for that in a heartbeat.
- Block a small threshold of vertical scrolling when scrolling horizontally on a trackpad to stop the current line I‘m tracking wavering up and down as I scroll.
- Highlight whether there are further changes on the same line in some way (e.g. Git Fork starts a highlight at the first change and stops it at the last).
- Allow some sort of merge comparison with word wrapping turned on (I‘m yet to find a client that does this).
If you can get the first, and one of the second or third in, then I‘ll happily pick up a Sublime Merge licence to go with my Sublime Text one. I do understand that this isn‘t a typical merge environment, but I’m editing ebooks with long paragraphs.
https://www.kaleidoscopeapp.com/
You can map git difftool to it to launch it from the command line.
Been messing with it for a few minutes and it is awesome. Been looking for a good Sublime-like git tool for years.
It basically operates on your local Maildir which you can keep in sync with your mail server by using a tool like OfflineIMAP[1].
I am considering creation of EMail client, as a next step of my https://notes.sciter.com.
The Sciter Notes resembles email client UI pretty close, so UI portion is feasible in months time frame.
At the mean time I am doing html-notepad that has also close UI: https://sciter.com/html-notepad-new-kid-in-the-block/
If someone knows IMAP/POP/SMTP stuff and want to join or invest into the project - please let me know.
I believe it is finally the time to make convenient email client.
I'm not exactly an expert on imap/pop/smtp, but I'd potentially be interested in helping depending on what your plans are for it. Honestly I'd be happy to help with any new privacy-focused e-mail client that has a convenient ui.
I'm going to assume you meant you could start in a month, rather than be completed in a month, because otherwise I'd like to save you some pain!
I wrote a mail client, two actual, focussed upon the console. (Think "scriptable mutt".) Writing a mail-client is hard. Partly due to the sheer amount of bogus mails you'll get, and partly due to people having very firm beliefs about what they want.
The user-interface is the easy part. More important is to design how you're going to work - Originally I allowed something similar to google's tagging, so you could "open a folder" which contained mail from multiple Maildir collections. It was not a success.
Using a database to store your state is a cheap alternative, but risks issues getting outdated if you ever interact with the mail outside your program. You either have to force an "indexing" step - like notmuch does - or scan the filesystem tree. Neither of those approaches are great, for obvious reasons.
(Also God help you if you want to work with remote IMAP servers. Standards? What are they!)
Question about Sublime Merge, is it possible to use smerge as a diff tool without git?
Seems like it is not possible right now. Curious, if you are planning to add this in the future.
Sublime Merge is looking very responsive and cleanly organized. Great job!
Magit does this in Emacs, especially when used with Helm.
If your dpi scale isn't being detected correctly on Linux, you can set it explicitly via the dpi_scale setting (there are instructions elsewhere in this thread)
I just opened this on my repo and there's 3 immediate things I noticed:
1. The commit message UI sprouts a subtle 72 column marker when I put text in it, which is nice. But what it's missing is the even more subtle 50 column marker that I expect for the first line. Standard git commit style says the first line should try to be shorter than 50 chars because it's frequently shown as a summary and you don't want it truncated. Other tools like GitUp and GitX handle this nicely.
2. The diff view doesn't seem to have syntax highlighting for .swift files. I see highlighting for Tcl and Obj-C so I can confirm it's highlighting in general, but nothing for Swift. This is a rather surprising omission.
3. I can't actually commit using this app at all, because it seems to think I have no configured user details. Trying to commit pops up a dialog for me to set it either globally or locally. But I do already have it configured globally. In fact, I have it configured globally twice. I have it first in ~/.git/config, and then I also have it overridden in ~/.git/config.local, and my ~/.git/config has an [include] section that specifies `path = config.local`. I'm wondering if Sublime Merge is getting confused by that include and throwing away my entire global config?
1. You can setup two rulers via adding "rulers": [50, 72] to Commit Message.sublime-settings, which is available via the Preferences menu.
2. We don't have Swift syntax highlighting out of the box, but if you have it installed for Sublime Text, we'll pick it up
3. Thanks for the report, I'll investigate
Given there's a custom Git library in use under the hood, I don't suppose there'll be Mercurial support in the future?
There's just one thing I found really annoying and it's that the window doesn't remember where I snap it to (Windows). Every time I open it I have to snap it to half my display again. GitKraken (and as of a month ago, VS Code) remember where they belong.
Will there be a home-brew cask for us on MacOS, by any chance?
They really know their target audience.
It was an excellent motivator. :)
Eg most UIs have a good File History window, but often finding the appropriate file is a lot of work (and by often I mean at least SourceTree, GitKraken and GitExtensions iirc). Eg something like you need to scroll through commits until you found one that happened to have changed that file, then right-click the file, choose file history.
In Sublime, it's just Ctrl+P, fh<enter>myfilename<enter>.
I care about stuff like this (same for Blame, and Stage/Commit (which is usually done great though)) because it's the kind of thing UIs are great at. Both invoking the command and using the output is significantly easier and nicer in a UI than it is from the terminal. Eg it's way more important than an extended "Pull" dialog with all kinds of options I don't care about - I can do that just as easily from the terminal, and my editor probably has a button/keystroke for it somewhere too. So far it seems to me that the Sublime folks got their priorities right. Hats off, will probably purchase!
- I would be nice to be able to remove the name inside the commit log. It's only me on this project and literally 50% of the lines (ever other) is my name.
- I would also like to have the option to split top/bottom like sourcetree, so that I can read the full commit message easier.
- The 'end of list' looks like a loading indicator
- 'Staging lines' only appear when I select something on the line (even one characer). It would be good if clicking in a line actually selected the whole line instead of adding a (unusable?) cursor
- The logo might want to have a shadow where the light and darker color meet. Right now it is looks kinda strange. The Sublime Text logo has shadows where two edges meet. That logo does 'fold' over itself though which this one doesn't. But anyway the color difference is strange on my eyes.
Maybe I'm doing something wrong but if I add a new file the only options are Delete or Stage. Or maybe it isn't implemented yet.
What I don't like about Sublime and now Sublime Merge, is the unusual way of setting preferences by editing files. I understand that hacking in a JSON file has benefits, but if you just want to use that tool, it's tiring having to google how to change a setting. To me, it feels a bit like losing control. E.g. I wanted to check whether SM supports line wrapping—I'm still not sure whether it does, after browsing the available menu items a bit.
Yeah, been there, done that. I have maintained a fork of GitX for my own usage with my own fixes but then gave up. Better clients exists. Right now I am using Git Tower and happy with it.
They are missing a pane then. A 3-way merge involves your changes, others changes, a common ancestor, and the resolved text. kdiff3, Beyond Compare, and very recent versions of emacs are the only tools that I've seen that present this properly.
That's true, but is it important to have all those things visible when you're resolving a conflict? The design of a UI should be driven by what the user needs to see, not the data that's being used. Most apps have absolutely loads of invisible data in the background making things work; that doesn't mean they need to be front and centre in the UI.
In my experience of resolving conflicts I can't remember a time when I've needed to refer to the common ancestor, so do I really want to give it screen space?
However, in the end I didn't end up merging any code and I haven't yet been in a position where this has come up much. I just thought it was a funny coincidence I encountered this earlier today.
This is what Araxis Merge did, or at least used to do when I used it, and I found it more useful than P4Merge's 4-way display (which just takes up more space than necessary).
It's possible there are types of merge where it's useful to have the common ancestor permanently visible, but I never seemed to run into them.
If I need a common accessor, I'll pull it up some other way (either via history tools or actually finding it in Github).
I use gitg in a on Ubuntu VM, also known as "GitX" on Mac.
The basic UI of gitg is much easier to read and browse, the commits and details are top/bottom instead of left right. With SM, I have to expand the window a whole lot more sideways to be able to read the commits. Also with SM my name is under each commit.. but since I work mostly solo, it's added noise that makes the list more difficult to read (what with the commit messages and the author name underneath practically same font size. here the gitg top/bottom layout means the author names and dates can go in other columns making the commit list easier to scan.
In gitg I have a quick view of what files changed, how much they changed, I can dive in if I want to see the actual code. With SM it seems by default you get a full spread of all the changes across several files.
Lack of separation in general, lots and lots of text floating in space with few lines or separation. Lots of subdued color. Buttons that don't look like buttons.
That said my use case is fairly simple. I work mostly on local repos, so for me gitg is a convenient way to see what I was working on last time, and to stage changes in meaningful commits. I don't need it to do a bunch of other things.
The merge sounds great though.. I really miss that... but as it is SM lacks contrast and readability for me.
Hopefully constructive feedback.
With gitg, I click on any commit and I can quickly see the files changed by that commit, then I can click to dive and see the actual code changes.
In SM by default there is a full spread of the modified lines. That's not as helpful since I have to scroll vertically , potentially a lot in order to see what other files were edited. There does not appear to be a "collapse all" by default option.
Though even in this collapsed view it's not very informative. In gitg there is a really simple red & green bar visual to see at aglance how much changes there are in each files. Thus when you epxlore a git repo, or review what you worked on weeks before;. it's easier to get a sense of how much things go into each commit.
With that said, it's a very slick client that obviously does a lot more than Gitg/gitx... I used SM today to edit an old commit message, which was simple to do.
The merge is probably awesome but I'm not sure how it works.. what if I mess up a rebase from the commaand line, will it let me continue the operation through SM or did I have to start the rebase / misc through SM first? (I ask because typically you had to configure the merge tool in the git config so I'm not sure how SM would catch that)
But, Beyond Compare doesn't really integrate with git. You can set it to open for 'git difftool' and 'git mergetool' of course, but that's it. BC isn't well integrated with the Linux desktop either, not even the clipboard.
Has anyone here tried both Beyond Compare and Sublime Merge or an other new tool? What keeps me using BC, despite its flaws, is the core diff and merge algorithms. It just does a better job of showing what actually changed, and lets me manually align code when necessary. The suggested merges are very often right too.
It even seamlessly finds my Sublime Text packages, and uses the syntax definitions installed there for highlighting - no duplicate/double configuration required.
However I'm still waiting for a client with graphical presentation and manipulation of git's DAG. Other than that I get by with CLI, git-gui (I would only wish to be able to edit files in it sometimes) and gitk.
(Mind you, I have a strong feeling that people are still gonna call it that.)
Or is that not what you mean?
That way, I can be a power user of Sublime Merge while only using ST occasionally (because I'm more of a vim user), or vice versa (because I'm more of a magit user). Or you can be a power user of both.
I think it makes sense in this case to have two applications. I personally am an avid user of ST, but I generally prefer the command line for git. However, there are some things that it's nice to have a GUI for when git'ing, so this is ideal for me.
Here's how to create a shortcut to the smerge command (Mac), which I didn't see documented anywhere:
ln -s "/Applications/Sublime Merge.app/Contents/SharedSupport/bin/smerge" /usr/local/bin/smerge
That being said, I already downloaded the DMG archive and have been using it for the last hour.
A couple questions:
* Can I add custom themes from my Sublime Text installation? How about color schemes?
* Are there plans for plugin support?
* Is there a development channel?
* Have you thought about adding tabs?
* Have you considered showing previews of binary files?
Plugin support is on the roadmap, and tabs will be added if that's what the user feedback asks for.
There's no dev channel yet, but we'll be adding one soon.
Edit: Attach an image to explain why: https://twitter.com/Edditoria/status/1043481201443368960
On windows it treats .gitignore patterns as case-sensitive which differs from how git itself behaves.
EDIT: Ok I found out it just takes the SSH key from ~/.ssh
But now it complains about C:\\Program Files\\Sublime Merge \\ssh-askpass-sublime.exe missing.
That exe file is not even in the directory for it.
~/.config/sublime-merge/Packages/User/Preferences.sublime-settings
{ "editor_argument_format": "${file}:${line}:${col}", "editor_path": "/home/<user>/apps/bin/sublime_text" }
or if sublime_text is in your path.
"editor_path": "sublime_text"Example, lets say I want to review commit A and D: HEAD - A - B - C - D - E...
In most diff/review tools, when I select these commits in the GUI, it would show me all changes that have been made in commit A, B, C and D. What I actually want is for the viewer to filter out or atleast distinguish between the changes made in commits I selected, and the commits that are made in-between (in this case, B and C). This could of course lead to conflicts where the commits in-between have modified the same lines of code, but I really don't think this is a problem in 99% of the time.
This would really help the review workflow in scenarios where branching and pull request are not always used.
Too often, I have put down the time to review a single commit, only to find out that the next commit in the same task already fixed the things I noted in the first. reviewing both of them at the same time would save a lot of time.
That aside, I'm about to try it out. Looking forward to a less CPU intensive git client than Sourcetree. So tired of the constant flickering of the unstaged files view in Sourcetree.
On a side note, the competition for this sector of market, for sublime and such is much tougher, like atom and vscode being "free" to use. The one thing that hinders definitely, is the amount of third-party packages available.
Fits my mental model so well, but is apparently considered too complicated for most other git clients such as GitHub Desktop and Tower.
From the animation, Sublime Merge seems to have Staged/Unstaged areas? Will definitely try this out, as SourceTree is otherwise bloated, slow, and missing critical features.
Sublime Merge implements cash cow subscription (paid license works in perpetuity and grants updates for a specified time period). [0] This is more acceptable for those concerned about losing access to tools due to an expired license.
Cash cow licensing provides a good balance between the developer and user where the developer has strong incentive to actually improve the product and the user the power to decide if paying for an updated version is worth it.
With pay-to-pay, one's tools are effectively held hostage regardless of the value of available updates.
[0] https://medium.com/@drewmccormack/a-cash-cow-is-on-the-agend...
I normally use SmartGit, which is also quite snappy, though is a bit clumsy with its windows. But I think SmartGit still has quite a bit of an edge when it comes to presenting diffs and the branching history at the moment.
I'll give it a go for a bit though and see if it grows on me
Quite timely VS Code released this week: https://marketplace.visualstudio.com/items?itemName=GitHub.v...
My repo at work has a lot of branches and contributors so I really only want to see a linear history of my branch.
Well done Jon and Sublime team.
To me, this is an underrated element required in understanding the lifespan of a codebase.
I'm trying out Sublime Merge, but it seems my git hooks aren't been called. Am I the only one experiencing this? A feature or a bug?
Regardless, personally very likely to use this!
If only SM remembered the exact view that was open in the repository you re-open and made the name of the currently open repo more prominent - I would be happy to give up the visual tabs.
- When I stage my lines, it is not obvious where the actual staging is as it just seems to disappear. In SourceTree there is a very clear 'split view' between the change and staged files.
That aside, I like this a lot, and normally I only use the git command line.
I run Sublime Merge on high dpi screen under Linux every day FWIW.
Is there a way to make the "Staged Files" view appear at the top of the tool? Preferably above "Working Directory" ?
I am excited about this and have downloaded it.
This product aside I really like sublime text so hope you have a positive roadmap in mind for that too.
I really like this feature.
Your UI kit feels really nice, good job.
Sublime editor is incredibly fast.
I care about features the most, not if the app will open in 0.5s or 3s
SublimeText is written in C++ with the "Skia Graphics Library" for the UI.
It exposes an Python API to extend the functionality via 3rd-party packages.
> I care about features the most, not if the app will open in 0.5s or 3s
Opening is not the only performance gain you will get for using a software written with native libraries.
You get faster overall operations in comparison with a program like GitKraken that needs to allocate several chunks of memory to execute simple tasks. It always baffles me when people use the startup time of a program as a mean to explain why they prefer using it over others. Electron-based applications are —overall— not performant. It's impossible to get good performance out of Electron because it sits on top of a web browser that is known to hug significant amount of memory from your entire system.
The approach of every single Git app that I've encountered is to present the history as the entry point to working with a project. Maybe I'm a weirdo, but that's not how I primarily work with git, and while having such a history view is critical, I'd like a tool that actually doesn't do that as its main mode of operation.
Instead, I'd like a tool that has a file-oriented approach. Which is to say that it should show uncommitted changes as a file tree browser that either shows the entire tree (with icons, colours or whatever to indicate what is changed) or the subset which has changed. This should be a tree browser where you can click on a single file to view its diff.
The other thing that these Git apps do badly is diff display. Sublime Merge can be forgiven for doing a simple colourized vertical view in its first public release, but other tools can't. The best diff browser I've seen is Eclipse (which I haven't used in a decade, but still miss at times), which coincidentally implements the same UI metaphor. Take a look at this screenshot:
https://i.ytimg.com/vi/-Jdu__jEnFw/maxresdefault.jpg
Note the left pane, which is the file tree. It's only showing changes.
Note the top right panel, which shows a semantic change tree of your file. If Eclipse understands the structure of your file, then it can show the changes by class, method and so on. It's really nice.
Thirdly, note the diff view, which is a side-by-side view which is visually really good at correlating blocks of changes. Many side-by-side differs will keep the two views vertically synchronized by inserting blank space. Not Eclipse! There's no blank space; instead, Eclipse uses the Bezier lines to indicate which block on the left side corresponds to the block on the right side, and these lines are updated as you scroll. Here's a video from someone using the UI:
https://youtu.be/KfeqnernMmE?t=807
Eclipse isn't/wasn't a beautiful app, but it nails the diff view.
The important thing is that you don't get the entire project diff in a single view, which is what Sublime Merge does if you go into either the "unstaged files" panel or a commit, but you get a concise file overview, and only see the diff for one file at a time. Doing it the way I describe above doesn't preclude being able to see the diff for a whole tree in a single pane, but it shouldn't be the default.
This is why I use SmartGit. https://www.syntevo.com/smartgit/
It has two perspectives, 'Main' and 'Review'. For each perspectives, you can configure different 'windows' to be shown/hidden. Window types are 'Changes', 'Journal', 'Branches', 'Git Output' etc.
For the Main perspective, I configure it to show me History + Remote/Local branches + 'Git Output'. This is when I want to interact with the remote repository.
For the Review perspective, I configure it to display the Files/Folders and Changes. You can configure the 'Files' view to show 'modified' files on the top, review the differences in 'Changes' section below and do quick commits.
Yes, the above is not as nice as Eclipse being able to display semantic changes but it's a very nice workflow and have not found anything better.
Can I suggest Sublime Terminal as a possible addition? I'd happily pay for a decent terminal experience on Windows and with your cross platform toolkit it looks like you could deliver that. ConEmu et al just don't do it for me.
Edit: Ah, also "doesn't have features such as tabs" ruled it out for me.
Kitty is much more full-featured and super fast. I've switched to it and love it to bits.
EDIT: Ah, it's not available for Windows, too bad. It's the best.
Heard of Konsole? It doesn't need GPU to achieve the same speed.
The lack of tabs is a feature for some of us. After all, why have tabs when you can have tmux? :)
Personally I recommend Terminal.app :)
Using it at this point isn't viable however, since the Windows port uses rusttype for font rendering, and rusttype lacks support for hinting.
With the new Windows Console API we can assume, that people will start to use it.
I've been using it for many months now and it's been nothing but solid.
I spend 99% of the time using the WSL terminal, and every once in a while I run a PowerShell terminal too.
They bothered me too but it's totally fixable with 1 setting.
There's an option to remove the tabs and they become merged into the titlebar (with numbers). It ends up looking like this: https://imgur.com/a/NDgCZFJ
Then you can use Win + 1 or Win + 2 (or other hotkeys) to switch between them.
Right clicking the titlebar also brings up a context menu for accessing the settings and a bunch of other things.
You can enable this style by going to general -> tab bar -> "don't show" (the radio button on the top left).
"Prettyness" seems like such a trivial thing to complain about, but when I spend half my working day staring at something I'd rather it was nice to look at!
Not a factor if you don't use those sorts of applications, but a bit of a deal breaker if you do.
If you think you can beat their price point, well there's clearly a market for it. Go for it.
For some people (e.g. people who have delayed sleep-phase syndrome), a dark theme is essentially an accessibility requirement. They won't be able to try the software if it doesn't have it.
Imagine a piece of software where the demo version doesn't have screen-reader support. Would that make sense? How do you expect a blind person demo the software?
When there's git cli, magit, fugitive (which you should be using if you're really really in need of a GUI (and which is also better than whatever the demo is showing))?
I'm all for paying for your tooling if you can afford it but overcharging much?
I don't think the prices are comparable to other software since this will be a qualitatively different software-using experience.
I think people often underestimate in general how much really good software is worth. Most software I regret paying as much as I did for but I would pay at least $300/year for Sublime and likely more if that's what they charged. Dash is another good example of software I get way more value out of than what I paid.
If you cannot afford it, then just use the try-out version, which offers unlimited functionality.