Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    Report reveals that OpenAI’s GPT-5.2 model cites Grokipedia

    Google says it’s working to fix Gmail issue that’s led to flooded inboxes and increased spam warnings

    US Congress members call for ‘thorough review’ of EA’s $55 billion sale

    Facebook X (Twitter) Instagram
    • Artificial Intelligence
    • Business Technology
    • Cryptocurrency
    • Gadgets
    • Gaming
    • Health
    • Software and Apps
    • Technology
    Facebook X (Twitter) Instagram Pinterest Vimeo
    Tech AI Verse
    • Home
    • Artificial Intelligence

      ChatGPT can embrace authoritarian ideas after just one prompt, researchers say

      January 24, 2026

      Ashley St. Clair, the mother of one of Elon Musk’s children, sues xAI over Grok sexual images

      January 17, 2026

      Anthropic joins OpenAI’s push into health care with new Claude tools

      January 12, 2026

      The mother of one of Elon Musk’s children says his AI bot won’t stop creating sexualized images of her

      January 7, 2026

      A new pope, political shake-ups and celebs in space: The 2025-in-review news quiz

      December 31, 2025
    • Business

      New VoidLink malware framework targets Linux cloud servers

      January 14, 2026

      Nvidia Rubin’s rack-scale encryption signals a turning point for enterprise AI security

      January 13, 2026

      How KPMG is redefining the future of SAP consulting on a global scale

      January 10, 2026

      Top 10 cloud computing stories of 2025

      December 22, 2025

      Saudia Arabia’s STC commits to five-year network upgrade programme with Ericsson

      December 18, 2025
    • Crypto

      Solana’s Privacy Coin Jumps 60% After New Cross-Chain Swap Reveal

      January 25, 2026

      Did Axie Infinity (AXS) Whales Just Buy Into a Pullback Risk After a 41% Rally?

      January 25, 2026

      Kraken’s Breakout Acquisition Signals Institutional Bet on Crypto Prop Trading’s Explosive Growth

      January 25, 2026

      Smart Money Exit Solana’s Seeker Token after 200% Rally

      January 25, 2026

      Zcash Bear Trap Active After 15% Rebound: What’s Next for ZEC Price?

      January 25, 2026
    • Technology

      Report reveals that OpenAI’s GPT-5.2 model cites Grokipedia

      January 25, 2026

      Google says it’s working to fix Gmail issue that’s led to flooded inboxes and increased spam warnings

      January 25, 2026

      US Congress members call for ‘thorough review’ of EA’s $55 billion sale

      January 25, 2026

      NTSB will investigate why Waymo’s robotaxis are illegally passing school buses

      January 25, 2026

      A rival smart glasses company is suing Meta over its Ray-Ban products

      January 25, 2026
    • Others
      • Gadgets
      • Gaming
      • Health
      • Software and Apps
    Check BMI
    Tech AI Verse
    You are at:Home»Technology»Show HN: Bonsplit – tabs and splits for native macOS apps
    Technology

    Show HN: Bonsplit – tabs and splits for native macOS apps

    TechAiVerseBy TechAiVerseJanuary 25, 2026No Comments3 Mins Read1 Views
    Facebook Twitter Pinterest Telegram LinkedIn Tumblr Email Reddit
    Show HN: Bonsplit – tabs and splits for native macOS apps
    Share
    Facebook Twitter LinkedIn Pinterest WhatsApp Email

    Show HN: Bonsplit – tabs and splits for native macOS apps

    ### Features

    Configurable & Observable

    Create Tabs

    Create tabs with optional icons and dirty indicators. Target specific panes or use the focused pane.

    let tabId = controller.createTab(

    title: "Document.swift",

    icon: "swift",

    isDirty: false,

    inPane: paneId

    )

    Create Tabs

    Create tabs with optional icons and dirty indicators. Target specific panes or use the focused pane.

    let tabId = controller.createTab(

    title: "Document.swift",

    icon: "swift",

    isDirty: false,

    inPane: paneId

    )

    Split Panes

    Split any pane horizontally or vertically. New panes are empty by default, giving you full control.

    // Split focused pane horizontally

    let newPaneId = controller.splitPane(

    orientation: .horizontal

    )

    // Split with a tab already in the new pane

    controller.splitPane(

    orientation: .vertical,

    withTab: Tab(title: "New", icon: "doc")

    )

    Split Panes

    Split any pane horizontally or vertically. New panes are empty by default, giving you full control.

    // Split focused pane horizontally

    let newPaneId = controller.splitPane(

    orientation: .horizontal

    )

    // Split with a tab already in the new pane

    controller.splitPane(

    orientation: .vertical,

    withTab: Tab(title: "New", icon: "doc")

    )

    Update Tab State

    Update tab properties at any time. Changes animate smoothly.

    // Mark document as modified

    controller.updateTab(tabId, isDirty: true)

    // Rename tab

    controller.updateTab(tabId, title: "NewName.swift")

    // Change icon

    controller.updateTab(tabId, icon: "doc.text")

    Update Tab State

    Update tab properties at any time. Changes animate smoothly.

    // Mark document as modified

    controller.updateTab(tabId, isDirty: true)

    // Rename tab

    controller.updateTab(tabId, title: "NewName.swift")

    // Change icon

    controller.updateTab(tabId, icon: "doc.text")

    Navigate Focus

    Programmatically navigate between panes using directional navigation.

    // Move focus between panes

    controller.navigateFocus(direction: .left)

    controller.navigateFocus(direction: .right)

    controller.navigateFocus(direction: .up)

    controller.navigateFocus(direction: .down)

    // Or focus a specific pane

    controller.focusPane(paneId)

    Navigate Focus

    Programmatically navigate between panes using directional navigation.

    // Move focus between panes

    controller.navigateFocus(direction: .left)

    controller.navigateFocus(direction: .right)

    controller.navigateFocus(direction: .up)

    controller.navigateFocus(direction: .down)

    // Or focus a specific pane

    controller.focusPane(paneId)

    ### Read this, agents…

    API Reference

    Complete reference for all Bonsplit classes, methods, and configuration options.

    BonsplitController

    The main controller for managing tabs and panes. Create an instance and pass it to BonsplitView.

    Tab Operations

    Split Operations

    Focus Management

    Query Methods

    BonsplitDelegate

    Implement this protocol to receive callbacks about tab bar events. All methods have default implementations and are optional.

    Tab Callbacks

    Pane Callbacks

    BonsplitConfiguration

    Configure behavior and appearance. Pass to BonsplitController on initialization.

    allowSplits

    Bool

    Enable split buttons and drag-to-split

    Default: true

    allowCloseTabs

    Bool

    Show close buttons on tabs

    Default: true

    allowCloseLastPane

    Bool

    Allow closing the last remaining pane

    Default: false

    allowTabReordering

    Bool

    Enable drag-to-reorder tabs within a pane

    Default: true

    allowCrossPaneTabMove

    Bool

    Enable moving tabs between panes via drag

    Default: true

    autoCloseEmptyPanes

    Bool

    Automatically close panes when their last tab is closed

    Default: true

    contentViewLifecycle

    ContentViewLifecycle

    How tab content views are managed when switching tabs

    Default: .recreateOnSwitch

    newTabPosition

    NewTabPosition

    Where new tabs are inserted in the tab list

    Default: .current

    Example

    let config = BonsplitConfiguration(

    allowSplits: true,

    allowCloseTabs: true,

    allowCloseLastPane: false,

    autoCloseEmptyPanes: true,

    contentViewLifecycle: .keepAllAlive,

    newTabPosition: .current

    )

    let controller = BonsplitController(configuration: config)

    Content View Lifecycle

    Controls how tab content views are managed when switching between tabs.

    Mode Memory State Use Case
    .recreateOnSwitch Low None Simple content
    .keepAllAlive Higher Full Complex views, forms

    New Tab Position

    Controls where new tabs are inserted in the tab list.

    Mode Behavior
    .current Insert after currently focused tab, or at end if none
    .end Always insert at the end of the tab list

    Appearance

    tabBarHeight

    CGFloat

    Height of the tab bar

    Default: 33

    tabMinWidth

    CGFloat

    Minimum width of a tab

    Default: 140

    tabMaxWidth

    CGFloat

    Maximum width of a tab

    Default: 220

    tabSpacing

    CGFloat

    Spacing between tabs

    Default: 0

    minimumPaneWidth

    CGFloat

    Minimum width of a pane

    Default: 100

    minimumPaneHeight

    CGFloat

    Minimum height of a pane

    Default: 100

    showSplitButtons

    Bool

    Show split buttons in the tab bar

    Default: true

    animationDuration

    Double

    Duration of animations in seconds

    Default: 0.15

    enableAnimations

    Bool

    Enable or disable all animations

    Default: true

    Presets

    .default

    BonsplitConfiguration

    Default configuration with all features enabled

    .singlePane

    BonsplitConfiguration

    Single pane mode with splits disabled

    .readOnly

    BonsplitConfiguration

    Read-only mode with all modifications disabled

    Share. Facebook Twitter Pinterest LinkedIn Reddit WhatsApp Telegram Email
    Previous ArticleShow HN: TUI for managing XDG default applications
    Next Article LLMs Don’t Hallucinate – They Drift
    TechAiVerse
    • Website

    Jonathan is a tech enthusiast and the mind behind Tech AI Verse. With a passion for artificial intelligence, consumer tech, and emerging innovations, he deliver clear, insightful content to keep readers informed. From cutting-edge gadgets to AI advancements and cryptocurrency trends, Jonathan breaks down complex topics to make technology accessible to all.

    Related Posts

    Report reveals that OpenAI’s GPT-5.2 model cites Grokipedia

    January 25, 2026

    Google says it’s working to fix Gmail issue that’s led to flooded inboxes and increased spam warnings

    January 25, 2026

    US Congress members call for ‘thorough review’ of EA’s $55 billion sale

    January 25, 2026
    Leave A Reply Cancel Reply

    Top Posts

    Ping, You’ve Got Whale: AI detection system alerts ships of whales in their path

    April 22, 2025639 Views

    Lumo vs. Duck AI: Which AI is Better for Your Privacy?

    July 31, 2025240 Views

    6.7 Cummins Lifter Failure: What Years Are Affected (And Possible Fixes)

    April 14, 2025141 Views

    6 Best MagSafe Phone Grips (2025), Tested and Reviewed

    April 6, 2025111 Views
    Don't Miss
    Technology January 25, 2026

    Report reveals that OpenAI’s GPT-5.2 model cites Grokipedia

    Report reveals that OpenAI’s GPT-5.2 model cites GrokipediaOpenAI may have called GPT-5.2 its “most advanced…

    Google says it’s working to fix Gmail issue that’s led to flooded inboxes and increased spam warnings

    US Congress members call for ‘thorough review’ of EA’s $55 billion sale

    NTSB will investigate why Waymo’s robotaxis are illegally passing school buses

    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    About Us
    About Us

    Welcome to Tech AI Verse, your go-to destination for everything technology! We bring you the latest news, trends, and insights from the ever-evolving world of tech. Our coverage spans across global technology industry updates, artificial intelligence advancements, machine learning ethics, and automation innovations. Stay connected with us as we explore the limitless possibilities of technology!

    Facebook X (Twitter) Pinterest YouTube WhatsApp
    Our Picks

    Report reveals that OpenAI’s GPT-5.2 model cites Grokipedia

    January 25, 20262 Views

    Google says it’s working to fix Gmail issue that’s led to flooded inboxes and increased spam warnings

    January 25, 20263 Views

    US Congress members call for ‘thorough review’ of EA’s $55 billion sale

    January 25, 20263 Views
    Most Popular

    A Team of Female Founders Is Launching Cloud Security Tech That Could Overhaul AI Protection

    March 12, 20250 Views

    7 Best Kids Bikes (2025): Mountain, Balance, Pedal, Coaster

    March 13, 20250 Views

    VTOMAN FlashSpeed 1500: Plenty Of Power For All Your Gear

    March 13, 20250 Views
    © 2026 TechAiVerse. Designed by Divya Tech.
    • Home
    • About Us
    • Contact Us
    • Privacy Policy
    • Terms & Conditions

    Type above and press Enter to search. Press Esc to cancel.