Show popup window when in fullscreen mode on MacOS - macos

Background
We are building a cross-platform application with "popup" reminders, they are custom windows/dialogs which uses QWidget.setWindowFlags like this:
self.setWindowFlags(
QtCore.Qt.Dialog
| QtCore.Qt.WindowStaysOnTopHint
| QtCore.Qt.FramelessWindowHint
)
These popups show up on the systems we have tested (MacOS, Lubuntu (LXDE)), even when we switch between different virtual desktops the dialogs are still shown in the current desktop. However:
Problem
When the user is in fullscreen mode on MacOS (Sierra 10.12.6) the dialog instead is shown in the last virtual desktop that was used
Question
How can we show our "popup" dialogs to the user even when the user is in fullscreen mode on MacOS?

The short answer is that you can't and neither can any other app.
Here's why.
The idea is that when you select the fullscreen view for an app, you want to focus exclusively on that app, to the exclusion of all others. So the app not only expands to fill the entire screen, it removes the menu bar and creates its own desktop space.
You can see how this works using Mission Control (by default, swipe up with 3 fingers). You will see all the apps and all the desktops across all your monitors. Next, set an app to full screen and swipe up again. You'll see that the app has a dedicated desktop (which I believe doesn't even have wallpaper).
The bottom line is that macOS fullscreen view does not support pop-ups.

Related

Switch running WinStore App to fullscreen

In Windows 8 Win Store apps started by default in full screen mode.
In Windows 10 Desktop Mode apps starts in windowed mode, and app title bar has additional icon, which allows to switch to full screen mode (first icon, note that it's different behavior than maximizing window, third icon).
Is there a possibility to maximize this window programatically, e.g. via WinAPI call? Alternatively, is there any option (other than switching to Tablet Mode) to start it in full screen by default?
Question is not about changing app sources, I want to switch running app to full screen as a part of automated testing process.
Yes you can try to make the app runs in full screen by:
ApplicationView.GetForCurrentView().TryEnterFullScreenMode();
And try to play and check the methods available in ApplicationView.GetForCurrentView().. You'll love it :)

OS X run system application with GUI over all others including fullscreen apps

I'm trying to write an accessibility app based on a "no-click" mouse concept. The idea is to capture mouse gestures that will be interpreted as clicks and pass the events to other apps. I have most of it working, except that I don't know how I could run it on top of fullscreen apps post Lion. Right now the app window is transparent and follows the mouse around, but this approach won't work with other "Desktops" or full screen apps, as the app stays in its current desktop when switching.
Any ideas?
What I needed was to call
[self setCollectionBehavior: NSWindowCollectionBehaviorCanJoinAllSpaces | NSWindowCollectionBehaviorFullScreenAuxiliary];
and also (important for the fullscreen apps!) set Application is agent (UIElement) to true in the info.plist file.

System shortcuts not working when using enterFullscreenMode:withOptions:

I have an application that at times can bring a view into fullscreen mode on a second display. The application does this by using the "enterFullscreenMode:withOptions" api on the view.
How ever what's odd is that while in fullscreen mode on another display, system shortcuts such as cmd+tab or alt+space doesn't work any more, all normal characters work though. And when I bring the view out of fullscreen mode the keyboard works normally again.
How can I fix this?

Mac SDK Fullscreen with numerous windows

I am making an app that has fullscreen support (enabled via interface builder). The app has another NSWindow that appears from time to time as a sort of 'inspector' like in pages and such. However when the primary window goes fullscreen, the secondary one does not accompany it, and I have to go back to my desktop to see it.
Is there a way of fixing this? i.e. when Safari is fullscreen, you can open the activity window and it accompanies safari in fullscreen mode. Thanks a lot!
If you've actually built an inspector-style panel window (e.g., by dragging a Panel or HUD Window from the Xcode object library into your nib), it will automatically accompany the primary window in fullscreen.
I believe the minimum requirements are that:
collectionBehavior includes NSWindowCollectionBehaviorFullScreenAuxiliary
collectionBehavior does not include NSWindowCollectionBehaviorFullScreenPrimary
either collectionBehavior includes NSWindowCollectionBehaviorTransient or level >= NSFloatingWindowLevel
If you read the documentation on full-screen mode, most of this is explained, although a few details (e.g., when these values are checked…) need to be discovered through trial and error.

Adobe AIR: Is it possible to create a full screen app to fill multiple monitors?

I am trying to build an Adobe AIR app that runs on two monitors with an extended desktop. Is that possible?
I've read fullscreen is restricted to a single display and the only option is to maximize the app to both displays. Is that right? If so, how can I hide OSX top menu bar?
Just for the record, OSX does not allow you to have more than one full screen applications (of any kind, not just AIR) open at the same time nor it let's you to expand a full screen app to more than one display.
An application window can span multiple displays as long as the window is sized properly. Menubar and dock can also be hidden. Check NSWindow in the apple documentation for more info. Adobe may or may not support this feature.

Resources