<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ghostty.git/src/termio/shell_integration.zig, branch 1.1.x</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>bash: handle additional command arguments</title>
<updated>2025-01-23T15:43:36+00:00</updated>
<author>
<name>Jon Parise</name>
<email>jon@indelible.org</email>
</author>
<published>2025-01-23T15:34:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=a2018d7b20b557eeb2e0e59e39e9ad3c0c16e44a'/>
<id>a2018d7b20b557eeb2e0e59e39e9ad3c0c16e44a</id>
<content type='text'>
A '-' or '--' argument signals the end of bash's own options. All
remaining arguments are treated as filenames and arguments. We shouldn't
perform any additional argument processing once we see this signal.

We could also assume a non-interactive shell session in this case unless
the '-i' (interactive) shell option has been explicitly specified, but
let's wait on that until we know that doing so would solve a real user
problem (and avoid any false negatives).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A '-' or '--' argument signals the end of bash's own options. All
remaining arguments are treated as filenames and arguments. We shouldn't
perform any additional argument processing once we see this signal.

We could also assume a non-interactive shell session in this case unless
the '-i' (interactive) shell option has been explicitly specified, but
let's wait on that until we know that doing so would solve a real user
problem (and avoid any false negatives).
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure `setup_features` runs even when shell detection fails</title>
<updated>2025-01-17T21:12:45+00:00</updated>
<author>
<name>Bryan Lee</name>
<email>38807139+liby@users.noreply.github.com</email>
</author>
<published>2025-01-15T00:30:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=ccd6fd26ecfeb652ce726ded7648dce9181a6ccc'/>
<id>ccd6fd26ecfeb652ce726ded7648dce9181a6ccc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for setup shell integration features</title>
<updated>2025-01-17T21:12:44+00:00</updated>
<author>
<name>Bryan Lee</name>
<email>38807139+liby@users.noreply.github.com</email>
</author>
<published>2025-01-14T08:57:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=9c1edb544998bb64545b3a52561c6f9e43bf0005'/>
<id>9c1edb544998bb64545b3a52561c6f9e43bf0005</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix `shell-integration-features` being ignored when `shell-integration` is `none`</title>
<updated>2025-01-17T21:12:44+00:00</updated>
<author>
<name>Bryan Lee</name>
<email>38807139+liby@users.noreply.github.com</email>
</author>
<published>2025-01-14T08:37:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=8ee4deddb4edf0d4b39b673b14c3d7df2ec5244d'/>
<id>8ee4deddb4edf0d4b39b673b14c3d7df2ec5244d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bash: drop automatic shell integration with --posix</title>
<updated>2025-01-07T21:09:03+00:00</updated>
<author>
<name>Jon Parise</name>
<email>jon@indelible.org</email>
</author>
<published>2025-01-07T20:51:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=1b91a667fba5ec70c96f6d938e466e9631d53770'/>
<id>1b91a667fba5ec70c96f6d938e466e9631d53770</id>
<content type='text'>
'--posix' starts bash in POSIX mode (like /bin/sh). This is rarely used
for interactive shells, and removing automatic shell integration support
for this option allows us to simply/remove some exceptional code paths.

Users are still able to manually source the shell integration script.

Also fix an issue where we would still inject GHOSTTY_BASH_RCFILE if we
aborted the automatic shell integration path _after_ seeing an --rcfile
or --init-file argument.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'--posix' starts bash in POSIX mode (like /bin/sh). This is rarely used
for interactive shells, and removing automatic shell integration support
for this option allows us to simply/remove some exceptional code paths.

Users are still able to manually source the shell integration script.

Also fix an issue where we would still inject GHOSTTY_BASH_RCFILE if we
aborted the automatic shell integration path _after_ seeing an --rcfile
or --init-file argument.
</pre>
</div>
</content>
</entry>
<entry>
<title>os: add prependEnv(), like appendEnv()</title>
<updated>2024-12-16T15:56:27+00:00</updated>
<author>
<name>Jon Parise</name>
<email>jon@indelible.org</email>
</author>
<published>2024-12-16T15:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=f141f4b2b03151a6b67a39851780b208761a06b0'/>
<id>f141f4b2b03151a6b67a39851780b208761a06b0</id>
<content type='text'>
We can use this function in setupXdgDataDirs() to simplify the
XDG_DATA_DIRS environment variable code in a more standardized way.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can use this function in setupXdgDataDirs() to simplify the
XDG_DATA_DIRS environment variable code in a more standardized way.
</pre>
</div>
</content>
</entry>
<entry>
<title>bash: re-enable automatic bash shell detection</title>
<updated>2024-12-14T22:31:28+00:00</updated>
<author>
<name>Jon Parise</name>
<email>jon@indelible.org</email>
</author>
<published>2024-12-14T22:17:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=a0ce70651aed0ba47b92a7657c8d2e7d111c1af5'/>
<id>a0ce70651aed0ba47b92a7657c8d2e7d111c1af5</id>
<content type='text'>
Bash shell detection was originally disabled in #1823 due to problems
with /bin/bash on macOS.

Apple distributes their own patched version of Bash 3.2 on macOS that
disables the POSIX-style $ENV-based startup path:

https://github.com/apple-oss-distributions/bash/blob/e5397a7e74633a4e84194a6c6b609e04077da6f8/bash-3.2/shell.c#L1112-L1114

This means we're unable to perform our automatic shell integration
sequence in this specific environment. Standard Bash 3.2 works fine.

Knowing this, we can re-enable bash shell detection by default unless
we're running "/bin/bash" on Darwin. We can safely assume that's the
unsupported Bash executable because /bin is non-writable on modern macOS
installations due to System Integrity Protection.

macOS users can either manually source our shell integration script
(which otherwise works fine with Apple's Bash) or install a standard
version of Bash from Homebrew or elsewhere.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bash shell detection was originally disabled in #1823 due to problems
with /bin/bash on macOS.

Apple distributes their own patched version of Bash 3.2 on macOS that
disables the POSIX-style $ENV-based startup path:

https://github.com/apple-oss-distributions/bash/blob/e5397a7e74633a4e84194a6c6b609e04077da6f8/bash-3.2/shell.c#L1112-L1114

This means we're unable to perform our automatic shell integration
sequence in this specific environment. Standard Bash 3.2 works fine.

Knowing this, we can re-enable bash shell detection by default unless
we're running "/bin/bash" on Darwin. We can safely assume that's the
unsupported Bash executable because /bin is non-writable on modern macOS
installations due to System Integrity Protection.

macOS users can either manually source our shell integration script
(which otherwise works fine with Apple's Bash) or install a standard
version of Bash from Homebrew or elsewhere.
</pre>
</div>
</content>
</entry>
<entry>
<title>termio: copy input command to avoid memory corruption</title>
<updated>2024-11-23T17:40:18+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2024-11-23T17:40:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=70cc2d9793e87567560b56d03f42dcab0f8583f9'/>
<id>70cc2d9793e87567560b56d03f42dcab0f8583f9</id>
<content type='text'>
Fixes #2779
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #2779
</pre>
</div>
</content>
</entry>
<entry>
<title>termio: tweaks to xdg data dir handling (no logic changes)</title>
<updated>2024-11-17T17:48:42+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2024-11-17T17:48:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=3e971f2837c5a97c0550d7d9ef894a0ab391f7ba'/>
<id>3e971f2837c5a97c0550d7d9ef894a0ab391f7ba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Append the default value of XDG_DATA_DIRS when setting up shell integration</title>
<updated>2024-11-17T14:28:41+00:00</updated>
<author>
<name>notcancername</name>
<email>notcancername@protonmail.com</email>
</author>
<published>2024-11-17T14:25:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=8e736aa4ebe5cd12edcabde61043943e4af4a187'/>
<id>8e736aa4ebe5cd12edcabde61043943e4af4a187</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
