<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ghostty.git/src/shell-integration/bash, 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>shell-integration: remove redundant comments</title>
<updated>2025-10-01T14:27:42+00:00</updated>
<author>
<name>Jon Parise</name>
<email>jon@indelible.org</email>
</author>
<published>2025-10-01T14:27:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=4989f92c719005b54cb17dfc20f76bbfbd946f5b'/>
<id>4989f92c719005b54cb17dfc20f76bbfbd946f5b</id>
<content type='text'>
I think the conditions are sufficiently self-descriptive.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I think the conditions are sufficiently self-descriptive.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add GHOSTTY_BIN_DIR to path via shell integration</title>
<updated>2025-09-30T17:26:20+00:00</updated>
<author>
<name>Matthew Hrehirchuk</name>
<email>matthew_hre@outlook.com</email>
</author>
<published>2025-09-30T17:23:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=4cc663fc6003aa6626d4a9c73f1763b862dc569f'/>
<id>4cc663fc6003aa6626d4a9c73f1763b862dc569f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mark ssh shell-integration wrapper as a function this matches other features + fixes a case where users alias  to some other command</title>
<updated>2025-09-16T02:49:48+00:00</updated>
<author>
<name>rhodes-b</name>
<email>59537185+rhodes-b@users.noreply.github.com</email>
</author>
<published>2025-09-16T02:49:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=1397c762434ea9a0852a1bbcc046360658b79321'/>
<id>1397c762434ea9a0852a1bbcc046360658b79321</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bash: upgrade to bash-preexec 0.6.0</title>
<updated>2025-08-03T13:15:35+00:00</updated>
<author>
<name>Jon Parise</name>
<email>jon@indelible.org</email>
</author>
<published>2025-08-03T13:15:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=f4e434fffd23a94dee702f7961b42ac5f4922fd4'/>
<id>f4e434fffd23a94dee702f7961b42ac5f4922fd4</id>
<content type='text'>
https://github.com/rcaloras/bash-preexec/releases/tag/0.6.0

This is a small update for us because we've been using a patched version
of this script in Ghostty for some time, and the 0.6.0 release includes
most of the local changes we made as part of maintaining and improving
our bash shell integration.

- https://github.com/rcaloras/bash-preexec/pull/167
- https://github.com/rcaloras/bash-preexec/pull/170

We continue to maintain one local HISTCONTROL-related modification
(#2478). There are a few upstream conversations related to HISTCONTROL
that might eliminate the need for this local patch, so we may revisit
that in the future.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rcaloras/bash-preexec/releases/tag/0.6.0

This is a small update for us because we've been using a patched version
of this script in Ghostty for some time, and the 0.6.0 release includes
most of the local changes we made as part of maintaining and improving
our bash shell integration.

- https://github.com/rcaloras/bash-preexec/pull/167
- https://github.com/rcaloras/bash-preexec/pull/170

We continue to maintain one local HISTCONTROL-related modification
(#2478). There are a few upstream conversations related to HISTCONTROL
that might eliminate the need for this local patch, so we may revisit
that in the future.
</pre>
</div>
</content>
</entry>
<entry>
<title>bash: preserve an existing ENV value</title>
<updated>2025-07-10T19:47:55+00:00</updated>
<author>
<name>Jon Parise</name>
<email>jon@indelible.org</email>
</author>
<published>2025-07-10T19:12:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=01233a48d14cb9ae191c085a386bccfbafb91243'/>
<id>01233a48d14cb9ae191c085a386bccfbafb91243</id>
<content type='text'>
Our bash shell integration code uses ENV (in POSIX mode) to bootstrap
our shell integration script. This had the side effect of overwriting an
existing ENV value.

This change preserves ENV by storing it temporarily in GHOSTTY_BASH_ENV.

Note that this doesn't enable --posix mode support for automatic shell
integration. (--posix does work; we just skip shell integration when
that flag is specified.) We can reconsider implementing full --posix
support separately.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our bash shell integration code uses ENV (in POSIX mode) to bootstrap
our shell integration script. This had the side effect of overwriting an
existing ENV value.

This change preserves ENV by storing it temporarily in GHOSTTY_BASH_ENV.

Note that this doesn't enable --posix mode support for automatic shell
integration. (--posix does work; we just skip shell integration when
that flag is specified.) We can reconsider implementing full --posix
support separately.
</pre>
</div>
</content>
</entry>
<entry>
<title>shell-integration: use $GHOSTTY_BIN_DIR/ghostty</title>
<updated>2025-07-09T21:25:34+00:00</updated>
<author>
<name>Jon Parise</name>
<email>jon@indelible.org</email>
</author>
<published>2025-07-09T21:25:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=f5f2a4dd20642d7ca1d3f380349eb83762f1eb7e'/>
<id>f5f2a4dd20642d7ca1d3f380349eb83762f1eb7e</id>
<content type='text'>
Locate our ghostty binary using $GHOSTTY_BIN_DIR rather than searching
the PATH.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Locate our ghostty binary using $GHOSTTY_BIN_DIR rather than searching
the PATH.
</pre>
</div>
</content>
</entry>
<entry>
<title>shell-integration: simplify "ssh target" checks</title>
<updated>2025-07-09T19:59:59+00:00</updated>
<author>
<name>Jon Parise</name>
<email>jon@indelible.org</email>
</author>
<published>2025-07-09T19:59:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=e522d54d7b715dfd34fd9e8e36cd9d42d1527ef6'/>
<id>e522d54d7b715dfd34fd9e8e36cd9d42d1527ef6</id>
<content type='text'>
This value is always set to a non-empty string, and we only need this
value after we've determined that 'ssh_hostname' is non-empty.

In bash and zsh, we also don't need to check for the 'ghostty' command
before we attempt to add the target to the cache. That command will
safely fail silently if it's not available.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This value is always set to a non-empty string, and we only need this
value after we've determined that 'ssh_hostname' is non-empty.

In bash and zsh, we also don't need to check for the 'ghostty' command
before we attempt to add the target to the cache. That command will
safely fail silently if it's not available.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: apply maintainer feedback to SSH integration scripts across all shells</title>
<updated>2025-07-08T17:45:42+00:00</updated>
<author>
<name>Jason Rayne</name>
<email>yo@arcayne.dev</email>
</author>
<published>2025-07-08T17:45:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=f95476b1815353eb3b20668f32f767cff2bef358'/>
<id>f95476b1815353eb3b20668f32f767cff2bef358</id>
<content type='text'>
- Update Bash script (baseline): Simplify cache checking logic, clarify
"xterm-ghostty terminfo" message, remove unnecessary ssh_opts from
terminfo installation, remove extra success message
- Align ZSH/Fish/Elvish with updated Bash: Remove extra success
messages, adopt simplified cache checking, standardize setup messages
- Apply Elvish improvements: Remove unnecessary try/catch blocks, use
idiomatic error handling patterns
- Apply Fish improvements: Replace string pattern matching with
efficient `contains` checks on split features list
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Update Bash script (baseline): Simplify cache checking logic, clarify
"xterm-ghostty terminfo" message, remove unnecessary ssh_opts from
terminfo installation, remove extra success message
- Align ZSH/Fish/Elvish with updated Bash: Remove extra success
messages, adopt simplified cache checking, standardize setup messages
- Apply Elvish improvements: Remove unnecessary try/catch blocks, use
idiomatic error handling patterns
- Apply Fish improvements: Replace string pattern matching with
efficient `contains` checks on split features list
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: simplify terminfo handling and remove base64 dependency</title>
<updated>2025-07-07T18:33:26+00:00</updated>
<author>
<name>Jason Rayne</name>
<email>yo@arcayne.dev</email>
</author>
<published>2025-07-07T18:33:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=f27993737794ea60855bb03c6ae07647be56c230'/>
<id>f27993737794ea60855bb03c6ae07647be56c230</id>
<content type='text'>
- Default ssh_term to xterm-256color to eliminate fallback assignments
- Remove base64 and replace infocmp -Q2 with standard -0 -x options for
compatibility
- Use process substitution instead of intermediate ssh_config variable
- Always set TERM explicitly since ssh_term is always defined
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Default ssh_term to xterm-256color to eliminate fallback assignments
- Remove base64 and replace infocmp -Q2 with standard -0 -x options for
compatibility
- Use process substitution instead of intermediate ssh_config variable
- Always set TERM explicitly since ssh_term is always defined
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: simplify SSH terminfo and environment handling</title>
<updated>2025-07-07T17:00:56+00:00</updated>
<author>
<name>Jason Rayne</name>
<email>yo@arcayne.dev</email>
</author>
<published>2025-07-07T17:00:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=c3b14dff71073989e330218d98aeabed292ecd59'/>
<id>c3b14dff71073989e330218d98aeabed292ecd59</id>
<content type='text'>
- Simplify feature detection to use single wildcard check
- Replace ssh_env array with simple ssh_term string variable
- Use TERM environment prefix instead of save/restore pattern
- Remove unnecessary backgrounded subshell for cache operations
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Simplify feature detection to use single wildcard check
- Replace ssh_env array with simple ssh_term string variable
- Use TERM environment prefix instead of save/restore pattern
- Remove unnecessary backgrounded subshell for cache operations
</pre>
</div>
</content>
</entry>
</feed>
