Description
First of all, thank you for Pake — it's a pleasure to use.
Is your feature request related to a problem? Please describe.
With the recently added multiWindow option (⌘N / File → New Window), multiple native windows work great. However, on macOS these windows cannot be grouped into native tabs:
- The Window menu never shows "Merge All Windows"
- No native tab bar in the window title area
Root cause
tauri-runtime-wry disables AppKit automatic window tabbing on macOS unless a tabbingIdentifier is set (see tauri-runtime-wry v0.12.0 release notes — "Disable automatic window tabbing on macOS when the tabbing_identifier option is not defined"):
https://github.com/tauri-apps/tauri/blob/tauri-runtime-wry-v2.10.0/crates/tauri-runtime-wry/src/lib.rs#L4349-L4355
#[cfg(target_os = "macos")]
{
if window_builder.tabbing_identifier.is_none()
|| window_builder.inner.window.transparent
|| !window_builder.inner.window.decorations
{
window_builder.inner = window_builder.inner.with_automatic_window_tabbing(false);
}
}
Pake's window builder (src-tauri/src/app/window.rs, build_window_with_label) never sets tabbing_identifier, so all Pake windows have tabbing disabled. There is also no config passthrough for it (neither in pake.json window options nor in buildWindowConfigOverrides of the CLI).
Describe the solution you'd like
- Add a window config option (e.g.
tabbingIdentifier / tabbing_identifier) that maps to tauri's WebviewWindowBuilder::tabbing_identifier.
- When
multiWindow is enabled, give all windows the same identifier (e.g. derived from the app name) so macOS treats them as one tab group — the "Merge All Windows" menu item and the native tab bar then appear for free.
This is how other Tauri apps enable it, e.g. microsoft/clarity-agent sets a shared tabbing_identifier for its windows and gets the Window-menu "Merge All Windows" behavior for free.
Describe alternatives you've considered
None found on the JS injection side — tabbing is an NSWindow-level property that page scripts cannot reach. The only workaround is patching Pake's Rust source locally.
Additional context
🤖 Generated with Claude Code
Description
First of all, thank you for Pake — it's a pleasure to use.
Is your feature request related to a problem? Please describe.
With the recently added
multiWindowoption (⌘N / File → New Window), multiple native windows work great. However, on macOS these windows cannot be grouped into native tabs:Root cause
tauri-runtime-wrydisables AppKit automatic window tabbing on macOS unless atabbingIdentifieris set (see tauri-runtime-wry v0.12.0 release notes — "Disable automatic window tabbing on macOS when thetabbing_identifieroption is not defined"):https://github.com/tauri-apps/tauri/blob/tauri-runtime-wry-v2.10.0/crates/tauri-runtime-wry/src/lib.rs#L4349-L4355
Pake's window builder (
src-tauri/src/app/window.rs,build_window_with_label) never setstabbing_identifier, so all Pake windows have tabbing disabled. There is also no config passthrough for it (neither inpake.jsonwindow options nor inbuildWindowConfigOverridesof the CLI).Describe the solution you'd like
tabbingIdentifier/tabbing_identifier) that maps to tauri'sWebviewWindowBuilder::tabbing_identifier.multiWindowis enabled, give all windows the same identifier (e.g. derived from the app name) so macOS treats them as one tab group — the "Merge All Windows" menu item and the native tab bar then appear for free.This is how other Tauri apps enable it, e.g. microsoft/clarity-agent sets a shared
tabbing_identifierfor its windows and gets the Window-menu "Merge All Windows" behavior for free.Describe alternatives you've considered
None found on the JS injection side — tabbing is an NSWindow-level property that page scripts cannot reach. The only workaround is patching Pake's Rust source locally.
Additional context
🤖 Generated with Claude Code