<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ghostty.git, branch tip</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(font): Additional scale group tweaks (#9152)</title>
<updated>2025-10-12T02:48:08+00:00</updated>
<author>
<name>Daniel Wennberg</name>
<email>daniel.wennberg@gmail.com</email>
</author>
<published>2025-10-12T02:48:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=2e34f4e0e574612c7bae4730325e57a4154236b9'/>
<id>2e34f4e0e574612c7bae4730325e57a4154236b9</id>
<content type='text'>
Of course #9142 would require a minor follow-up!

* Scale groups can cut across patch sets, but not across fonts. We had
some scale group mixing between Font Awesome and the weather symbols,
which is removed by this PR.[^cp_table_full]
* There's one case where a scale group includes a glyph that's not part
of any patch sets, just for padding out the group bounding box.
Previously, an unrelated glyph from a different font would be pulled in.
Now we use an appropriate stand-in. (See code comment for details.)
* I noticed overlaps weren't being split between each side of the
bounding box, they were added to both sides, resulting in twice as much
padding as specified.

Screenshots showing the extra vertical padding for progress bar elements
due to the second bullet point:

**Before**
&lt;img width="191" height="42" alt="Screenshot 2025-10-11 at 15 33 54"
src="https://github.com/user-attachments/assets/cf288cce-86d3-46fd-ae86-18e5c274b0e4"
/&gt;

**After**
&lt;img width="191" height="42" alt="Screenshot 2025-10-11 at 15 33 20"
src="https://github.com/user-attachments/assets/7ac799c7-bf50-4e65-a74a-f8a2c42d2441"
/&gt;

[^cp_table_full]: Forming and using the merged `cp_table_full` table
should have been a red flag. Such a table doesn't make sense, it would
be a one-to-many map. You need the names of the original fonts to
disambiguate.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Of course #9142 would require a minor follow-up!

* Scale groups can cut across patch sets, but not across fonts. We had
some scale group mixing between Font Awesome and the weather symbols,
which is removed by this PR.[^cp_table_full]
* There's one case where a scale group includes a glyph that's not part
of any patch sets, just for padding out the group bounding box.
Previously, an unrelated glyph from a different font would be pulled in.
Now we use an appropriate stand-in. (See code comment for details.)
* I noticed overlaps weren't being split between each side of the
bounding box, they were added to both sides, resulting in twice as much
padding as specified.

Screenshots showing the extra vertical padding for progress bar elements
due to the second bullet point:

**Before**
&lt;img width="191" height="42" alt="Screenshot 2025-10-11 at 15 33 54"
src="https://github.com/user-attachments/assets/cf288cce-86d3-46fd-ae86-18e5c274b0e4"
/&gt;

**After**
&lt;img width="191" height="42" alt="Screenshot 2025-10-11 at 15 33 20"
src="https://github.com/user-attachments/assets/7ac799c7-bf50-4e65-a74a-f8a2c42d2441"
/&gt;

[^cp_table_full]: Forming and using the merged `cp_table_full` table
should have been a red flag. Such a table doesn't make sense, it would
be a one-to-many map. You need the names of the original fonts to
disambiguate.</pre>
</div>
</content>
</entry>
<entry>
<title>Update iTerm2 colorschemes (#9155)</title>
<updated>2025-10-12T02:44:59+00:00</updated>
<author>
<name>github-actions[bot]</name>
<email>41898282+github-actions[bot]@users.noreply.github.com</email>
</author>
<published>2025-10-12T02:44:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=aa0c68ee5ef209b9bca9ff4070d3858b3c23da95'/>
<id>aa0c68ee5ef209b9bca9ff4070d3858b3c23da95</id>
<content type='text'>
Upstream release:
https://github.com/mbadolato/iTerm2-Color-Schemes/releases/tag/release-20251006-150522-c07f0e8

Co-authored-by: mitchellh &lt;1299+mitchellh@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Upstream release:
https://github.com/mbadolato/iTerm2-Color-Schemes/releases/tag/release-20251006-150522-c07f0e8

Co-authored-by: mitchellh &lt;1299+mitchellh@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>macos: update permission request response should move state back to idle (#9151)</title>
<updated>2025-10-11T21:49:31+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-10-11T21:49:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=d3ee3c5b8a382aee982973cce704411b9a33f052'/>
<id>d3ee3c5b8a382aee982973cce704411b9a33f052</id>
<content type='text'>
Previously, the permission request response would not move the state so
it'd stay in the titlebar.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, the permission request response would not move the state so
it'd stay in the titlebar.</pre>
</div>
</content>
</entry>
<entry>
<title>font(fix): Extract and apply Nerd Font codepoint mapping table (#9142)</title>
<updated>2025-10-11T20:12:13+00:00</updated>
<author>
<name>Daniel Wennberg</name>
<email>daniel.wennberg@gmail.com</email>
</author>
<published>2025-10-11T20:12:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=4af93975ed69ade2fcb4a915bab7d81dcbd5ebb8'/>
<id>4af93975ed69ade2fcb4a915bab7d81dcbd5ebb8</id>
<content type='text'>
Fixes #9076

**Before** 
&lt;img width="128" height="57" alt="Screenshot 2025-10-11 at 00 07 09"
src="https://github.com/user-attachments/assets/a6b416d5-dae1-4cea-a836-00640ceaf39b"
/&gt;

**After**
&lt;img width="128" height="57" alt="Screenshot 2025-10-11 at 00 07 31"
src="https://github.com/user-attachments/assets/7d2df7b1-4767-4e2d-84d2-8301da5c6602"
/&gt;

These screenshots show the chevrons mentioned in
https://github.com/ghostty-org/ghostty/discussions/7820#discussioncomment-14617170,
which should be scaled as a group but were not until this PR.

The added code downloads each individual symbol font file from the Nerd
Fonts github repo (making sure to get the version corresponding to the
vendored `font-patcher.py`) and iterates over all of them to build the
correct and complete codepoint mapping table. The table is saved to
`nerd_font_codepoint_tables.py`, which `nerd_font_codegen.py` will reuse
if possible instead of downloading the font files again.

I'm not going to utter any famous last words or anything, but... after
this, I don't think the number of remaining issues with icon
scaling/alignment is _large._</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #9076

**Before** 
&lt;img width="128" height="57" alt="Screenshot 2025-10-11 at 00 07 09"
src="https://github.com/user-attachments/assets/a6b416d5-dae1-4cea-a836-00640ceaf39b"
/&gt;

**After**
&lt;img width="128" height="57" alt="Screenshot 2025-10-11 at 00 07 31"
src="https://github.com/user-attachments/assets/7d2df7b1-4767-4e2d-84d2-8301da5c6602"
/&gt;

These screenshots show the chevrons mentioned in
https://github.com/ghostty-org/ghostty/discussions/7820#discussioncomment-14617170,
which should be scaled as a group but were not until this PR.

The added code downloads each individual symbol font file from the Nerd
Fonts github repo (making sure to get the version corresponding to the
vendored `font-patcher.py`) and iterates over all of them to build the
correct and complete codepoint mapping table. The table is saved to
`nerd_font_codepoint_tables.py`, which `nerd_font_codegen.py` will reuse
if possible instead of downloading the font files again.

I'm not going to utter any famous last words or anything, but... after
this, I don't think the number of remaining issues with icon
scaling/alignment is _large._</pre>
</div>
</content>
</entry>
<entry>
<title>chore: add nerd font attributes as generated too</title>
<updated>2025-10-11T20:08:11+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-10-11T20:08:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=7087eea1e23297fb23ffb79b04a6c119b8acfb98'/>
<id>7087eea1e23297fb23ffb79b04a6c119b8acfb98</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: mark the nerd font tables as a generated file.</title>
<updated>2025-10-11T19:54:25+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-10-11T19:54:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=6ab416376a6ba529bca55203435f61cb9ac6afbf'/>
<id>6ab416376a6ba529bca55203435f61cb9ac6afbf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>GTK fix quick terminal autohide (#9139)</title>
<updated>2025-10-11T19:52:35+00:00</updated>
<author>
<name>Brice</name>
<email>59537185+rhodes-b@users.noreply.github.com</email>
</author>
<published>2025-10-11T19:52:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=c7058143c76aede87ba6d51efff4cc9990719d7d'/>
<id>c7058143c76aede87ba6d51efff4cc9990719d7d</id>
<content type='text'>
This is pretty much a direct port of the previous GTK app. still inside
of the `isActive` handler for a window


https://github.com/ghostty-org/ghostty/blob/7e429d73d6af65a397c6264b18ab60609ae8eefe/src/apprt/gtk/Window.zig#L822-L837

Fixes: https://github.com/ghostty-org/ghostty/discussions/9137</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is pretty much a direct port of the previous GTK app. still inside
of the `isActive` handler for a window


https://github.com/ghostty-org/ghostty/blob/7e429d73d6af65a397c6264b18ab60609ae8eefe/src/apprt/gtk/Window.zig#L822-L837

Fixes: https://github.com/ghostty-org/ghostty/discussions/9137</pre>
</div>
</content>
</entry>
<entry>
<title>gtk: fix clicking on desktop notifications (#9146)</title>
<updated>2025-10-11T19:51:52+00:00</updated>
<author>
<name>Jeffrey C. Ollie</name>
<email>jeff@ocjtech.us</email>
</author>
<published>2025-10-11T19:51:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=81c982df96985c398fca41acc28a386bcb121679'/>
<id>81c982df96985c398fca41acc28a386bcb121679</id>
<content type='text'>
Clicking on desktop notifications sent by Ghostty _should_ cause the
window that sent the notification to come to the top. However, because
the notification that was sent targeted the wrong surface (apprt surface
vs core surface) and the window did not call `present()` on itself the
window would never be brought to the surface, the correct tab would not
be selected, etc.

Fixes #9145</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clicking on desktop notifications sent by Ghostty _should_ cause the
window that sent the notification to come to the top. However, because
the notification that was sent targeted the wrong surface (apprt surface
vs core surface) and the window did not call `present()` on itself the
window would never be brought to the surface, the correct tab would not
be selected, etc.

Fixes #9145</pre>
</div>
</content>
</entry>
<entry>
<title>gtk: better reporting for CSS parsing problems (#9129)</title>
<updated>2025-10-10T20:41:58+00:00</updated>
<author>
<name>Jeffrey C. Ollie</name>
<email>jeff@ocjtech.us</email>
</author>
<published>2025-10-10T20:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=c5ad7563f92656ec02bd08856b46431f2e222e69'/>
<id>c5ad7563f92656ec02bd08856b46431f2e222e69</id>
<content type='text'>
Log messages will include the problematic CSS, simplifying debugging.
Especially helpful since some of our CSS is generated at runtime so it
could be difficult to examine the CSS "source".

```
info(gtk_ghostty_application): loading gtk-custom-css path=/home/ghostty/dev/ghostty/x.css
warning(gtk_ghostty_application): css parsing failed at &lt;data&gt;:2:3-14: gtk-css-parser-error-quark 4 No property named "border-poop"
* {
  border-poop: 0;

warning(gtk_ghostty_application): css parsing failed at &lt;data&gt;:1:3-3:1: gtk-css-parser-warning-quark 1 Unterminated block at end of document
* {
  border-poop: 0;
```

vs:

```
info(gtk_ghostty_application): loading gtk-custom-css path=/home/ghostty/dev/ghostty/x.css
warning(glib): WARNING: Gtk: Theme parser error: &lt;data&gt;:2:3-14: No property named "border-poop"
warning(glib): WARNING: Gtk: Theme parser warning: &lt;data&gt;:1:3-3:1: Unterminated block at end of document
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Log messages will include the problematic CSS, simplifying debugging.
Especially helpful since some of our CSS is generated at runtime so it
could be difficult to examine the CSS "source".

```
info(gtk_ghostty_application): loading gtk-custom-css path=/home/ghostty/dev/ghostty/x.css
warning(gtk_ghostty_application): css parsing failed at &lt;data&gt;:2:3-14: gtk-css-parser-error-quark 4 No property named "border-poop"
* {
  border-poop: 0;

warning(gtk_ghostty_application): css parsing failed at &lt;data&gt;:1:3-3:1: gtk-css-parser-warning-quark 1 Unterminated block at end of document
* {
  border-poop: 0;
```

vs:

```
info(gtk_ghostty_application): loading gtk-custom-css path=/home/ghostty/dev/ghostty/x.css
warning(glib): WARNING: Gtk: Theme parser error: &lt;data&gt;:2:3-14: No property named "border-poop"
warning(glib): WARNING: Gtk: Theme parser warning: &lt;data&gt;:1:3-3:1: Unterminated block at end of document
```</pre>
</div>
</content>
</entry>
<entry>
<title>Set title as argv[0] for commands specified with `-e` (#9121)</title>
<updated>2025-10-10T20:41:38+00:00</updated>
<author>
<name>Bruno BELANYI</name>
<email>bruno@belanyi.fr</email>
</author>
<published>2025-10-10T20:41:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=854c8e6975806c86765dbc2af5222d07cf28e3d7'/>
<id>854c8e6975806c86765dbc2af5222d07cf28e3d7</id>
<content type='text'>
I want to see #7932 get merged, so applied the latest proposed patch.

Will close if the original PR gets some traction, as I do _not_ know Zig
nor this project.

Co-authored-by: rhodes-b &lt;59537185+rhodes-b@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I want to see #7932 get merged, so applied the latest proposed patch.

Will close if the original PR gets some traction, as I do _not_ know Zig
nor this project.

Co-authored-by: rhodes-b &lt;59537185+rhodes-b@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
</feed>
