I'd like to be able to force the keyboard to show on screen in my Metro app. My goal is to test out different layouts/controls and get a feel for the interaction. My problem is that I'm running Win8 on a MacBook Pro (Parallels) and I don't know how to override the physical keyboard and show it on screen instead.
Similarly, I'd like to be able to force rotation if possible.
You could run your app the Simulator. You can put the Simulator in "Touch Mode" and that will interpret mouse clicks as touch events in the on screen controls like Text Boxes and you can choose to rotate the Simulator into profile as well.
Related
I'm trying to create a window that is on the same level as the accessibility keyboard and notifications on High Sierra. My desired result is to get a window that will appear above all other windows, including the screensaver and lock screen.
In el cap/sierra I was able to use window.level = NSWindow.Level(Int(CGWindowLevelForKey(.maximumWindow))) but now in High Sierra my code does not work and I cannot see my window over the screensaver or lock screen.
After some experimenting I noticed that notifications and the accessibility keyboard DO show up over the lock screen/screensaver and was wondering if it is possible to create a window on the same level.
I've included two pictures, one of the lock screen showing both the keyboard/notification. The second image shows what happens when I transition from one window to another - my demo window stays on the desktop but the keyboard/notification is shown above the desktops and transitions over the dividing bar from one to another.
Anyone know of a way I can create this type of behavior in my window?
I have a simple Mac program I write in Xcode/Cocoa that works fine on my Mac(Yosemite), but on another Mac(El Capitan) some (all?) Text Field's turn black under some circumstances. I don't know if it is OS Version, or some other color or theme preference the user has on that computer. But looking for ideas what to look for.
a) Busy processing - short burst of read/write from a USB device - sometimes the color wheel shows during this processing. When complete however, the Text Fields go to back to normal foreground and background.
b) App loses focus - click outside my app, like the desktop, where my app loses "focus". When my app does not have focus, the Text Fields are blank. But if I click back into my app, the fields go back to normal foreground and background colors.
I am writing a Mac app that uses a window which is glued to the foreground of the screen. I am listening for the NSWindowDidResignKeyNotification to detect when it is appropriate to hide the window.
For almost every purpose -- including when a different application enters focus -- this works perfectly.
On OSX Lion there is an idiosyncrasy. When my window is open and glued to the foreground, and then the user selects the Launchpad icon from the dock to expand the Launchpad, my window stays in the foreground, even over Launchpad. It appears that Launchpad is implemented as some sort of screen overlay rather than a window that would take focus.
Does anyone have any solution to detect when Launchpad enters focus so that I can dismiss my window?
I want to create a full Screen Cocoa application, however my app is slightly different from a conventional fullscreen app.
This app would be below everything else, so underneath the menu bar and the Dock, etc. It would have a large image covering up the Desktop and icons, with a custom NSView in the middle with a table view, etc. If this concept is hard to understand then here is an image:
http://img10.imageshack.us/img10/6308/mockupo.png
The only part that might be a bit confusing is the background image. This background image is NOT the wallpaper of the computer, but part of the app. So when the app is launched, it goes into full screen mode and puts itself underneath the dock and the menu bar, and underneath all other windows too. So it draws the background image to cover the screen (including Desktop and icons). Then has a custom NSView in the middle containing my controls.
What's the best way to go about doing this?
Thanks
Make a borderless window, the size of the menu-bar screen (screen 0—not [NSScreen mainScreen]), positioned at 0,0, with window level kCGDesktopWindowLevel.
Remember that you will need to observe for screen frame-change notifications (when the user changes the screen dimensions), and that you should correctly handle the case of no screen at all (headless Mac).
I think #Peter Hosey’s solution should work, but to make other windows go on top, you will probably need to change the window level to something else.
But, I implore you, do not do this. This will be the most bugly application the Macintosh has ever seen. There are a lot of really good user interface paradigms that you can use, and "replicating" the main desktop interface of Mac OS X is generally not one of them. That is, unless you are reimplementing Time Machine or something like that.
I wonder if I can test landscape view using simulator?
Under the Hardware Menu you will find the rotation items which correspond to CMD+Left and CMD+Right
In the Hardware menu, there is an option to change the orientation. Also, Cmd-Left and Cmd-Right will rotate the virtual phone.
Setting simulator orientation in IDE
The above (hardware->device) is a solution for rotating the simulator only once the simulator is launched ,but there should be also an option in your IDE to define the orientation of the simulator.
If you are using JDeveloper IDE the go to
Application --> Deploy --> New Deployment Profile --> select Profile Type(iOS) --> iOS Options --> Device Orientations.
IDE Device orientations.
There you can mention which orientation you need by default, either landscape or portrait.
Short cut key for switching Orientations
Press command key and press left arrow / right arrow.
This would switch between the landscape and portrait views you require.
I hope this might help your query.
[enter image description here][1]
I was struggling with this exact problem for about an hour.
On the left-most project navigator screen, click the name of your project (should be the highest dropdown button), then click the general tab on the page that opens up, scroll down and you should see a section titled "Deployment Info" Make sure you select the checkbox of each orientation you want available for your project.
Test your simulation again.
[1]: https://i.stack.imgur.com/4nW9D.png