Mitchell Hashimoto
6e016ea81e
terminal: move tmux into folder
2025-12-03 13:27:36 -08:00
Mitchell Hashimoto
5bc78d59fb
terminal/tmux: add more control mode parsing keys
2025-12-03 13:27:36 -08:00
Mitchell Hashimoto
6502922bb6
build(deps): bump actions/checkout from 6.0.0 to 6.0.1 ( #9791 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6.0.0
to 6.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases ">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update all references from v5 and v4 to v6 by <a
href="https://github.com/ericsciple "><code>@ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2314 ">actions/checkout#2314</a></li>
<li>Add worktree support for persist-credentials includeIf by <a
href="https://github.com/ericsciple "><code>@ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2327 ">actions/checkout#2327</a></li>
<li>Clarify v6 README by <a
href="https://github.com/ericsciple "><code>@ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2328 ">actions/checkout#2328</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v6...v6.0.1 ">https://github.com/actions/checkout/compare/v6...v6.0.1 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8e8c483db8 "><code>8e8c483</code></a>
Clarify v6 README (<a
href="https://redirect.github.com/actions/checkout/issues/2328 ">#2328</a>)</li>
<li><a
href="033fa0dc0b "><code>033fa0d</code></a>
Add worktree support for persist-credentials includeIf (<a
href="https://redirect.github.com/actions/checkout/issues/2327 ">#2327</a>)</li>
<li><a
href="c2d88d3ecc "><code>c2d88d3</code></a>
Update all references from v5 and v4 to v6 (<a
href="https://redirect.github.com/actions/checkout/issues/2314 ">#2314</a>)</li>
<li>See full diff in <a
href="1af3b93b68...8e8c483db8 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
2025-12-03 13:18:57 -08:00
dependabot[bot]
d926bd5376
build(deps): bump actions/checkout from 6.0.0 to 6.0.1
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](1af3b93b68...8e8c483db8 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-03 00:07:23 +00:00
Mitchell Hashimoto
b4a48303ed
build: fix path access to work with relative build roots ( #9780 )
...
## Problem
When ghostty is used as a dependency (e.g., in another Zig project), the
build can panic on Linux with:
\`\`\`
GhosttyDist.zig:173:34: 0x1768046 in exists (build.zig)
if (std.fs.accessAbsolute(b.pathFromRoot(self.dist), .{})) {
\`\`\`
This happens because \`b.pathFromRoot()\` can return a relative path
(e.g., when the build root is \`.\`), but \`std.fs.accessAbsolute()\`
asserts the path must be absolute.
## Solution
Replace \`std.fs.accessAbsolute(b.pathFromRoot(...))\` with
\`b.build_root.handle.access(...)\`, which uses the build root's
directory handle directly and works correctly with relative paths.
Context:
https://ampcode.com/threads/T-7511e7e4-4b4a-4f11-9c3c-817aaa519b84
2025-12-02 11:13:52 -08:00
Mitchell Hashimoto
8d25ab0ae3
zsh: improve ZDOTDIR documentation ( #9779 )
...
The main thing to emphasize is that end users should never source
.zshenv directly; it's only meant to be used as part of our shell
injection environment.
At the moment, there's no way to guard against accidentally use, but we
can consider making e.g. GHOSTTY_SHELL_FEATURES always defined in this
environment to that it can be used to differentiate the cases.
In practice, it's unlikely that people actually source this .zshenv
script directly, so hopefully this additional documentation clarifies
things well enough.
2025-12-02 11:13:10 -08:00
Mitchell Hashimoto
edfae7e41e
zsh: move version check to ghostty-integration ( #9781 )
...
The ghostty-integration script can be manually sourced, and it uses the
Zsh 5.1+ features, so that's a better place to guard against older Zsh
versions.
This also keeps the .zshenv script focused on just bootstrapping our
automatic shell integration.
I also changed the version check to a slightly more idiomatic pattern.
2025-12-02 11:12:49 -08:00
Mitchell Hashimoto
ac5f8c3a1e
build(deps): bump softprops/action-gh-release from 2.4.2 to 2.5.0 ( #9782 )
...
Bumps
[softprops/action-gh-release](https://github.com/softprops/action-gh-release )
from 2.4.2 to 2.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/softprops/action-gh-release/releases ">softprops/action-gh-release's
releases</a>.</em></p>
<blockquote>
<h2>v2.5.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>Exciting New Features 🎉 </h3>
<ul>
<li>feat: mark release as draft until all artifacts are uploaded by <a
href="https://github.com/dumbmoron "><code>@dumbmoron</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/692 ">softprops/action-gh-release#692</a></li>
</ul>
<h3>Other Changes 🔄 </h3>
<ul>
<li>chore(deps): bump the npm group across 1 directory with 5 updates by
<a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/697 ">softprops/action-gh-release#697</a></li>
<li>chore(deps): bump actions/checkout from 5.0.0 to 5.0.1 in the
github-actions group by <a
href="https://github.com/dependabot "><code>@dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/689 ">softprops/action-gh-release#689</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/dumbmoron "><code>@dumbmoron</code></a>
made their first contribution in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/692 ">softprops/action-gh-release#692</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/softprops/action-gh-release/compare/v2.4.2...v2.5.0 ">https://github.com/softprops/action-gh-release/compare/v2.4.2...v2.5.0 </a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md ">softprops/action-gh-release's
changelog</a>.</em></p>
<blockquote>
<h2>2.5.0</h2>
<h2>What's Changed</h2>
<h3>Exciting New Features 🎉 </h3>
<ul>
<li>feat: mark release as draft until all artifacts are uploaded by <a
href="https://github.com/dumbmoron "><code>@dumbmoron</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/692 ">softprops/action-gh-release#692</a></li>
</ul>
<h3>Other Changes 🔄 </h3>
<ul>
<li>dependency updates</li>
</ul>
<h2>2.4.2</h2>
<h2>What's Changed</h2>
<h3>Exciting New Features 🎉 </h3>
<ul>
<li>feat: Ensure generated release notes cannot be over 125000
characters by <a
href="https://github.com/BeryJu "><code>@BeryJu</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/684 ">softprops/action-gh-release#684</a></li>
</ul>
<h3>Other Changes 🔄 </h3>
<ul>
<li>dependency updates</li>
</ul>
<h2>2.4.1</h2>
<h2>What's Changed</h2>
<h3>Other Changes 🔄 </h3>
<ul>
<li>fix(util): support brace expansion globs containing commas in
parseInputFiles by <a
href="https://github.com/Copilot "><code>@Copilot</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/672 ">softprops/action-gh-release#672</a></li>
<li>fix: gracefully fallback to body when body_path cannot be read by <a
href="https://github.com/Copilot "><code>@Copilot</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/671 ">softprops/action-gh-release#671</a></li>
</ul>
<h2>2.4.0</h2>
<h2>What's Changed</h2>
<h3>Exciting New Features 🎉 </h3>
<ul>
<li>feat(action): respect working_directory for files globs by <a
href="https://github.com/stephenway "><code>@stephenway</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/667 ">softprops/action-gh-release#667</a></li>
</ul>
<h2>2.3.4</h2>
<h2>What's Changed</h2>
<h3>Bug fixes 🐛 </h3>
<ul>
<li>fix(action): handle 422 already_exists race condition by <a
href="https://github.com/stephenway "><code>@stephenway</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/665 ">softprops/action-gh-release#665</a></li>
</ul>
<h3>Other Changes 🔄 </h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a06a81a03e "><code>a06a81a</code></a>
release 2.5.0</li>
<li><a
href="7da8983734 "><code>7da8983</code></a>
feat: mark release as draft until all artifacts are uploaded (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/692 ">#692</a>)</li>
<li><a
href="87973286a4 "><code>8797328</code></a>
chore(deps): bump actions/checkout in the github-actions group (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/689 ">#689</a>)</li>
<li><a
href="1bfc62a71b "><code>1bfc62a</code></a>
chore(deps): bump the npm group across 1 directory with 5 updates (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/697 ">#697</a>)</li>
<li>See full diff in <a
href="5be0e66d93...a06a81a03e ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
2025-12-02 11:12:21 -08:00
dependabot[bot]
56d4e6d955
build(deps): bump softprops/action-gh-release from 2.4.2 to 2.5.0
...
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release ) from 2.4.2 to 2.5.0.
- [Release notes](https://github.com/softprops/action-gh-release/releases )
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md )
- [Commits](5be0e66d93...a06a81a03e )
---
updated-dependencies:
- dependency-name: softprops/action-gh-release
dependency-version: 2.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-02 03:08:36 +00:00
Jon Parise
6babcc97f5
zsh: move version check to ghostty-integration
...
The ghostty-integration script can be manually sourced, and it uses the
Zsh 5.1+ features, so that's a better place to guard against older Zsh
versions.
This also keeps the .zshenv script focused on just bootstrapping our
automatic shell integration.
I also changed the version check to a slightly more idiomatic pattern.
2025-12-01 20:34:55 -05:00
Tim Culverhouse
7fe3f5cd3f
build: fix path access to work with relative build roots
...
Replace std.fs.accessAbsolute(b.pathFromRoot(...)) with
b.build_root.handle.access(...) since pathFromRoot can return
relative paths, but accessAbsolute asserts the path is absolute.
2025-12-01 18:29:54 -06:00
Jon Parise
da014d98cd
zsh: improve ZDOTDIR documentation
...
The main thing to emphasize is that end users should never source
.zshenv directly; it's only meant to be used as part of our shell
injection environment.
At the moment, there's no way to guard against accidentally use, but we
can consider making e.g. GHOSTTY_SHELL_FEATURES always defined in this
environment to that it can be used to differentiate the cases.
In practice, it's unlikely that people actually source this .zshenv
script directly, so hopefully this additional documentation clarifies
things well enough.
2025-12-01 19:07:50 -05:00
Jon Parise
5714ed07a1
zsh: improve minimum version check ( #9772 )
...
- Handle autoload failures
- Prefer ">&2" to "/dev/stderr" for portability
- Quote commands for consistency and to avoid alias conflicts
2025-12-01 11:15:02 -05:00
Mitchell Hashimoto
09f7e38b45
GTK: followup update search state on activation ( #9766 )
...
followup from comment in this PR
https://github.com/ghostty-org/ghostty/pull/9765
2025-12-01 07:25:45 -08:00
Jon Parise
b776b3df61
zsh: improve minimum version check
...
- Handle autoload failures
- Prefer ">&2" to "/dev/stderr" for portability
- Quote commands for consistency and to avoid alias conflicts
2025-12-01 10:19:00 -05:00
rhodes-b
27c82f739e
only update search when going from inactive to active
2025-11-30 21:22:07 -06:00
rhodes-b
3ab49fdb5f
only notify search change when widget was inactive
2025-11-30 21:06:25 -06:00
Mitchell Hashimoto
2a9a57daff
GTK: update search state from previous search on activation ( #9765 )
...
I think it makes sense that if there was already text from the previous
search that it should match based on that, this doesnt remove that it
highlights everything so you can press backspace to delete and start
from a empty search
2025-11-30 12:38:34 -08:00
Mitchell Hashimoto
750bb1fe33
core: encode mouse buttons 8 & 9 (back/forward) ( #9761 )
...
For some reason button 8 & 9 support is missing.
2025-11-30 12:37:33 -08:00
rhodes-b
7820608b04
if search has text already update the search state with matches
2025-11-30 14:32:13 -06:00
CJ van den Berg
7be28e7215
core: encode mouse buttons 8 & 9 (back/forward)
2025-11-30 17:53:21 +01:00
Mitchell Hashimoto
34fd1dd0f6
GTK: Search UI ( #9756 )
...
Fixes #189
This adds the UI for search to GTK. There is still polish to be done in
follow-ups but this makes search work well with GTK to start!
**AI disclosure:** Believe it or not, almost this entire PR was
AI-written. Amp did an excellent job looking at our existing codebase,
comparing it to the macOS codebase, writing blueprint files, etc. I
reviewed everything written, modified some basics, and verified it
manually and under Valgrind.
## Demo
<img width="1654" height="1234" alt="CleanShot 2025-11-29 at 20 52
11@2x"
src="https://github.com/user-attachments/assets/0eb38367-398f-4165-9838-7a35465857bc "
/>
## Future Improvements
- When dragging the overlay, we should change the cursor and show drop
targets
- There's probably some small stylistic tweaks we can make to this
- I'm not sure the CSS is right for both light and dark modes so we may
need to tweak that
2025-11-30 07:24:36 -08:00
Mitchell Hashimoto
c67bcf969c
apprt/gtk: switch to has-x and optional internals for search counts
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
b8393fd4aa
apprt/gtk: comments
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
e18a7d9501
apprt/gtk: drag
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
f7a6822e30
apprt/gtk: enter/shift+enter for traversing search results
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
72b3c14833
clean up some stuff
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
56a76cc174
apprt/gtk: fix selected search label off by one
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
eebce6a78c
apprt/gtk: hook up close search button
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
76496d40fd
apprt/gtk: hook up next/prev match
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
0ea85fc483
apprt/gtk: hook up search_total/search_selected apprt actions
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
fc9b578ef4
apprt/gtk: hook up search-changed to start a search
2025-11-30 07:23:10 -08:00
Mitchell Hashimoto
0d32e7d814
apprt/gtk: escape to stop search and hide overlay
2025-11-30 07:23:09 -08:00
Mitchell Hashimoto
778b49c9a1
apprt/gtk: hook up start_search/end_search to set active state
2025-11-30 07:23:09 -08:00
Mitchell Hashimoto
027e5d631a
config: default search keybindings for Linux
2025-11-30 07:23:09 -08:00
Mitchell Hashimoto
548d1f0300
apprt/gtk: search overlay UI
2025-11-30 07:23:09 -08:00
Mitchell Hashimoto
832883b600
apprt/gtk: move surface event controllers, block events from revealers
2025-11-30 07:23:09 -08:00
Mitchell Hashimoto
4fef41bc83
terminal: renderstate needs to reset highlights on dirty ( #9759 )
...
This fixes memory corruption where future matches on a fully dirty row
would write highlights out of bounds. It was easy to reproduce in debug
by searching for `$` in `ghostty +boo`
2025-11-30 07:22:54 -08:00
Tim Culverhouse
a58e33c06b
PageList: preserve size.cols in adjustCapacity after column shrink
...
When columns shrink during resize-without-reflow, page.size.cols is
updated but page.capacity.cols retains the old larger value. When
adjustCapacity later runs (e.g., to expand style/grapheme storage),
it was creating a new page using page.capacity which has the stale
column count, causing size.cols to revert to the old value.
This caused a crash in render.zig where an assertion checks that
page.size.cols matches PageList.cols.
Fix by explicitly copying page.size.cols to the new page after
creation, matching how size.rows is already handled.
Amp-Thread-ID: https://ampcode.com/threads/T-976bc49a-7bfd-40bd-bbbb-38f66fc925ff
Co-authored-by: Amp <amp@ampcode.com >
2025-11-30 07:20:54 -08:00
Mitchell Hashimoto
d7087627d7
terminal: renderstate needs to reset highlights on dirty
...
This fixes memory corruption where future matches on a fully dirty row
would write highlights out of bounds. It was easy to reproduce in debug
by searching for `$` in `ghostty +boo`
2025-11-30 07:18:42 -08:00
Mitchell Hashimoto
73be3abf00
Update iTerm2 colorschemes ( #9755 )
...
Upstream release:
https://github.com/mbadolato/iTerm2-Color-Schemes/releases/tag/release-20251124-150533-2b326a8
2025-11-29 20:56:10 -08:00
mitchellh
643c5e00a0
deps: Update iTerm2 color schemes
2025-11-30 00:16:02 +00:00
Mitchell Hashimoto
3754a94cb5
Allow list-theme action with --plain to sort with --color argument ( #9748 )
...
not an accepted issue
https://github.com/ghostty-org/ghostty/discussions/9745 but it seemed
simple enough to add, pretty much copies how the previewer sorts based
on color
This allows --color argument to work when using --plain to sort the list
returned
2025-11-29 14:02:57 -08:00
Mitchell Hashimoto
7f950cc892
search: handle soft-wrapped lines in sliding window properly ( #9753 )
...
Fixes #9752
2025-11-29 10:56:11 -08:00
Mitchell Hashimoto
10f19ebdc3
search: handle soft-wrapped lines in sliding window properly
...
Fixes #9752
2025-11-29 07:32:06 -08:00
Mitchell Hashimoto
2fd48b433d
macos: window-width/height is accurate even with other widgets ( #9747 )
...
Fixes #2660
Rather than calculate our window frame size based on various chrome
calculations, we now utilize SwiftUI layouts and view intrinsic content
sizes with `setContentSize` to setup our content size ignoring all our
other widgets.
I'm sure there's some edge cases I'm missing here but this should be a
whole lot more reliable on the whole.
2025-11-29 06:56:18 -08:00
rhodes-b
351dd2ea51
allow list themes --plain to accept --color flag
2025-11-28 19:26:11 -06:00
Mitchell Hashimoto
c75bade896
macos: window-width/height is accurate even with other widgets
...
Fixes #2660
Rather than calculate our window frame size based on various chrome
calculations, we now utilize SwiftUI layouts and view intrinsic content
sizes with `setContentSize` to setup our content size ignoring all our
other widgets.
I'm sure there's some edge cases I'm missing here but this should be a
whole lot more reliable on the whole.
2025-11-28 13:32:03 -08:00
Mitchell Hashimoto
9baf37a9b2
macOS: fix toggle_visibility behaviour with tabbed windows ( #9742 )
...
This fixes regression of #5690 , which kind of comes from #9576 .
05b42919d5 (before #9576 ) has weird
behaviours too: restored windows are not properly focused. With this pr,
we only order `selectedWindow` front so we won't mess up with its
selection and focused state and the order of the tab group.
https://github.com/user-attachments/assets/8c3b120e-4077-4cb5-8ed3-9b46522e2f8e
2025-11-28 06:23:58 -08:00
Lukas
94f88c8b54
macOS: fix toggle_visibility behaviour with tabbed windows
...
This fixes regression of #5690 , which kind of comes from #9576 . 05b42919d5 (before #9576 ) has weird behaviours too, restored windows are not properly focused. With this pr, we only order `selectedWindow` front so we won't mess up with its selection state and the order of the tab group.
2025-11-28 10:14:07 +01:00