question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Windows/MacOS] Add a Tabbed window support

See original GitHub issue

Description

Hello.

It would be adorable if Maui had support for Tabbed windows at the window level. I tried looking at the MAUI documentation and found only support for a tab bar that would be a TabView. The current tab bar helps, but I don’t think it’s ideal for windows.

Tabbar (actual) .NET MAUI Shell tabs

image

Tabbed Window Screenshot 2022-05-24 at 10 54 28

Screenshot 2022-05-24 at 12 21 37 Screenshot 2022-05-24 at 12 23 11

The tab bar that we currently have is based on a mobile interface, not something native to the development of a desktop application.

WinUI currently has a component called TabView that is more in line with the tabbed window view of a desktop application. WinUI - TabView

On MacOS, all applications that use NSWindow automatically support NSWindowTab, so they can combine multiple windows into one window with content as tabs. Or open new instances of an application as if they were tabs. AppKit - NSWindowTab


TLTR Actual MAUI Implementation: iOS - Tab Bars MacOS - Tab View

Needed implementation, just for desktop apps: MacOS - Window Tab bar WinUI - Tab View (Display TabView tabs in a window’s titlebar)

Public API Changes

The same api from the TabView from WinUI.

<TabView AddTabButtonClick="TabView_AddTabButtonClick" TabCloseRequested="TabView_TabCloseRequested"/>

Intended Use-Case

Maui is a new tool that will make it much easier to create desktop applications that work natively on Windows and Mac. Dynamic tab support is needed to enable a new universe of document-based applications. The tabbed window allows the user to concentrate several instances of their applications in the same window, facilitating the exchange of contexts. Windows Terminal is an excellent example of a Tabbed Window. We also have rumours that Windows Explore will get tabs.

Screenshot 2022-05-24 at 19 12 54

[WinUI’s Tab View](WinUI’s Tab View component and AppKit’s NSWindow already provide us with all the necessary options. We now need these accessible options.) component and AppKit’s NSWindow already provide us with all the necessary options. Now, we need these options exposed inside the MAUI.

Issue Analytics

  • State:open
  • Created a year ago
  • Reactions:38
  • Comments:6

github_iconTop GitHub Comments

4reactions
Vroomercommented, Jul 23, 2022

It would be also great if tabbed windows can support scoped dependency injection, i.e. a unique instance shared only within a window.

0reactions
mouralabankcommented, Mar 5, 2023

Tabbed windows allow users to easily switch between different files and documents without having to open multiple windows, which can be very convenient and save screen space. Additionally, tabbed windows typically provide a quick overview of all open documents, allowing users to quickly find and navigate between them. Overall, tabbed windows can greatly improve the user experience and productivity of desktop apps.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Use tabs in windows on Mac
Go to Windows & Apps on the right, click the “Prefer tabs when opening documents” pop-up menu, then choose an option. Tip: A...
Read more >
How to Use Tabbed Windows in macOS Apps
Look at the tab bar in your open app. Go to Window > Merge All Windows to group the open windows together as...
Read more >
How to Set All Mac Apps to Prefer Tabs with New ...
Now open any app which supports tabs; TextEdit, Maps, Finder, Safari, Pages, Keynote, etc, and open a new window or open a document....
Read more >
Mac Basics: Using Windows And Tabs - YouTube
https://macmost.com/e-2390 While most Mac users are familiar with using tabs in web browsers, fewer utilize them in other apps.
Read more >
Windows and Tabs
The application supports viewing multiple documents in a single tabbed window as introduced in macOS Sierra. If you have several documents opened in...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found