Close Menu

    Subscribe to Updates

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

    What's Hot

    Find Your iPhone MAC Address in Seconds

    What to Do When Your iPhone Suddenly Can’t Find You

    Affordable Asus portable monitor with 15-inch IPS display drops to lowest-ever price

    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

      What the polls say about how Americans are using AI

      February 27, 2026

      Tensions between the Pentagon and AI giant Anthropic reach a boiling point

      February 21, 2026

      Read the extended transcript: President Donald Trump interviewed by ‘NBC Nightly News’ anchor Tom Llamas

      February 6, 2026

      Stocks and bitcoin sink as investors dump software company shares

      February 4, 2026

      AI, crypto and Trump super PACs stash millions to spend on the midterms

      February 2, 2026
    • Business

      Met Office ‘supercomputing as a service’ one year old

      March 12, 2026

      Tech hiring evolves as candidates ask for AI compute alongside pay and perks

      March 11, 2026

      Oracle is spending billions on AI data centers as cash flow turns negative

      March 11, 2026

      Google: Cloud attacks exploit flaws more than weak credentials

      March 10, 2026

      Could this be the key to eternal storage? Experts claim new DNA HDD can be ‘erased and overwritten repeatedly’

      March 9, 2026
    • Crypto

      Banks Respond to Kraken’s Federal Reserve Access as Trump Sides with Crypto

      March 4, 2026

      Hyperliquid and DEXs Break the Top 10 — Is the CEX Era Ending?

      March 4, 2026

      Consensus Hong Kong 2026: The Institutional Turn 

      March 4, 2026

      New Crypto Mutuum Finance (MUTM) Reports V1 Protocol Progress as Roadmap Enters Phase 3

      March 4, 2026

      Bitcoin Short Sellers Caught Off Guard in New White House Move

      March 4, 2026
    • Technology

      Find Your iPhone MAC Address in Seconds

      March 13, 2026

      Affordable Asus portable monitor with 15-inch IPS display drops to lowest-ever price

      March 12, 2026

      Crimson Desert adds Denuvo DRM a week before release date, causing pre-order cancellations

      March 12, 2026

      Lisuan Extreme LX 7G106

      March 12, 2026

      Premium mopping technology in an affordable robot vacuum: Mova S70 Roller review

      March 12, 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 Read2 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

    Find Your iPhone MAC Address in Seconds

    March 13, 2026

    Affordable Asus portable monitor with 15-inch IPS display drops to lowest-ever price

    March 12, 2026

    Crimson Desert adds Denuvo DRM a week before release date, causing pre-order cancellations

    March 12, 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, 2025714 Views

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

    July 31, 2025299 Views

    Wired Headphones Are Making A Comeback, And We Have Gen Z To Thank

    July 22, 2025210 Views

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

    April 14, 2025170 Views
    Don't Miss
    Technology March 13, 2026

    Find Your iPhone MAC Address in Seconds

    Find Your iPhone MAC Address in Seconds If you are a reader experiencing an access…

    What to Do When Your iPhone Suddenly Can’t Find You

    Affordable Asus portable monitor with 15-inch IPS display drops to lowest-ever price

    Crimson Desert adds Denuvo DRM a week before release date, causing pre-order cancellations

    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

    Find Your iPhone MAC Address in Seconds

    March 13, 20264 Views

    What to Do When Your iPhone Suddenly Can’t Find You

    March 13, 20262 Views

    Affordable Asus portable monitor with 15-inch IPS display drops to lowest-ever price

    March 12, 20265 Views
    Most Popular

    Over half of American adults have used an AI chatbot, survey finds

    March 14, 20250 Views

    UMass disbands its entering biomed graduate class over Trump funding chaos

    March 14, 20250 Views

    Outbreak turns 30

    March 14, 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.