<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ghostty.git/macos/Sources/Features/Splits, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/'/>
<entry>
<title>Fix typos</title>
<updated>2025-10-03T16:52:26+00:00</updated>
<author>
<name>Andreas Deininger</name>
<email>andreas@deininger.net</email>
</author>
<published>2025-10-03T16:47:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=a667b740eefb03962b69f238a10d539791120112'/>
<id>a667b740eefb03962b69f238a10d539791120112</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>macOS: SurfaceView should implement Identifiable</title>
<updated>2025-09-03T16:17:37+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-09-03T14:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=fe3dab9467b1b6f5de70afea1e22c374463bb477'/>
<id>fe3dab9467b1b6f5de70afea1e22c374463bb477</id>
<content type='text'>
This has no meaningful functionality yet, it was one of the paths I was
looking at for #8505 but didn't pursue further. But I still think that
this makes more sense in general for the macOS app and will likely be
more useful later.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This has no meaningful functionality yet, it was one of the paths I was
looking at for #8505 but didn't pursue further. But I still think that
this makes more sense in general for the macOS app and will likely be
more useful later.
</pre>
</div>
</content>
</entry>
<entry>
<title>macOS: split tree zoom state should encode as path, not full node</title>
<updated>2025-09-03T15:51:37+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-09-03T15:49:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=508e36bc033fc4d8e6b68eb3914dc2c17661a54a'/>
<id>508e36bc033fc4d8e6b68eb3914dc2c17661a54a</id>
<content type='text'>
Fixes #8356

Zoom state should encode as a path so that it can be mapped to a
reference to the node in `root`. Previously, we were encoding a full
node which was instantiating an extra terminal on restore.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #8356

Zoom state should encode as a path so that it can be mapped to a
reference to the node in `root`. Previously, we were encoding a full
node which was instantiating an extra terminal on restore.
</pre>
</div>
</content>
</entry>
<entry>
<title>Equalize splits based on children oriented in the same direction</title>
<updated>2025-06-28T07:01:41+00:00</updated>
<author>
<name>Islam Sharabash</name>
<email>islam.sharabash@gmail.com</email>
</author>
<published>2025-06-28T07:01:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=22a624e56006ff33b97507656039277146b8f0e1'/>
<id>22a624e56006ff33b97507656039277146b8f0e1</id>
<content type='text'>
This changes equalization so it only counts children oriented in the
same direction.

This makes splits a bit more aesthetic, and replicates how split
equalization works in neovim.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This changes equalization so it only counts children oriented in the
same direction.

This makes splits a bit more aesthetic, and replicates how split
equalization works in neovim.
</pre>
</div>
</content>
</entry>
<entry>
<title>macOS: simple SplitView AX</title>
<updated>2025-06-15T14:56:05+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-06-09T19:20:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=4237dad240089f35643b5f83ccf83c17323bb694'/>
<id>4237dad240089f35643b5f83ccf83c17323bb694</id>
<content type='text'>
Proper labels, action to move the divider
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Proper labels, action to move the divider
</pre>
</div>
</content>
</entry>
<entry>
<title>macos: set explicit identity for split tree view based on structure</title>
<updated>2025-06-09T03:11:58+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-06-09T02:57:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=e4cd90b8a0cee2b704a8466e8f9b915c2ef30514'/>
<id>e4cd90b8a0cee2b704a8466e8f9b915c2ef30514</id>
<content type='text'>
Fixes #7546

SwiftUI uses type and structure to identify views, which can lead
to issues with tree like structures where the shape and type is the same
but the content changes. This was causing #7546.

To fix this, we need to add explicit identity to the split tree view
so that SwiftUI can differentiate when it needs to redraw the view.

We don't want to blindly add Hashable to SplitTree because we don't want
to take into account all the fields. Instead, we add an explicit
"structural identity" to the SplitTreeView that can be used by SwiftUI.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #7546

SwiftUI uses type and structure to identify views, which can lead
to issues with tree like structures where the shape and type is the same
but the content changes. This was causing #7546.

To fix this, we need to add explicit identity to the split tree view
so that SwiftUI can differentiate when it needs to redraw the view.

We don't want to blindly add Hashable to SplitTree because we don't want
to take into account all the fields. Instead, we add an explicit
"structural identity" to the SplitTreeView that can be used by SwiftUI.
</pre>
</div>
</content>
</entry>
<entry>
<title>macos: basic undo close window, not very robust yet</title>
<updated>2025-06-07T19:46:14+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-06-06T14:52:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=104cc2adfee94062c735611b0dbacf7332dff58d'/>
<id>104cc2adfee94062c735611b0dbacf7332dff58d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>macos: split directional navigation should use distance to leaf</title>
<updated>2025-06-05T20:43:07+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-06-05T20:41:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=045c84acb71e99e384b63ca658621bce891f8841'/>
<id>045c84acb71e99e384b63ca658621bce891f8841</id>
<content type='text'>
Fixes regression from #7523

I messed two things up around spatial navigation in the split tree
that this commit fixes:

  1. The distance in the spatial tree only used a single dimension
     that we were navigating. This commit now uses 2D euclidean
     distance from the top-left corners of nodes. This handles the case
     where the nodes are directly above or below each other better.

  2. The spatial slots include split containers because they are layout
     elements. But we should only navigate to leaf nodes. This was
     causing the wrong navigatin to happen in some scenarios.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes regression from #7523

I messed two things up around spatial navigation in the split tree
that this commit fixes:

  1. The distance in the spatial tree only used a single dimension
     that we were navigating. This commit now uses 2D euclidean
     distance from the top-left corners of nodes. This handles the case
     where the nodes are directly above or below each other better.

  2. The spatial slots include split containers because they are layout
     elements. But we should only navigate to leaf nodes. This was
     causing the wrong navigatin to happen in some scenarios.
</pre>
</div>
</content>
</entry>
<entry>
<title>macos: moving some files around</title>
<updated>2025-06-05T14:05:13+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-06-05T02:44:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=1966dfdef7eb8a8d08bc486a5419f409260715fb'/>
<id>1966dfdef7eb8a8d08bc486a5419f409260715fb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>macos: remove the unused resizeEvent code from SplitView</title>
<updated>2025-06-05T14:05:13+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-06-05T02:43:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=f8e3539b7db2d6bfe60bb744e67891ea22cc02dd'/>
<id>f8e3539b7db2d6bfe60bb744e67891ea22cc02dd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
