Restore app from dock - cocoa

I'm new to programming desktop applications for Mac (though a have a small experience with programming for IPhone).
Suppose I create a new Cocoa project in XCode.
This application does nothing just shows its window. I click on the cross in the red circle and my app minimizes to the dock and it has a blue dot on its icon showing that it's running.
Why when I click on its dock icon it doesnt restore? The same thing happens with Java swing application created by Xcode's "new project" wizard.
What should add to an application so that it would restore itself when I click on its icon in the dock?
thanks

Cross in the red circle closes the window, it does not minimize it to the dock. You should use minus sign in the yellow circle to minimize the window to the dock.
You should check dock programming guide at developer.apple.com to see how you can restore the window (it should include something like [window makeKeyAndOrderFront] when user clicks on the dock icon. You should be able to find that information in aforementioned guide.

Related

Desktop shortcut icon overriding app icon

We have an application that is installed with a desktop shortcut icon that is different than the application icon. So, the result we are aiming at is:
a desktop shorcut with icon A, pointing to our application
once clicked, the application will launch with it's own icon B
However, the observed behaviour is that our application is launched with the shortcut icon A visible in the start menu bar, and the proper app icon B visible in the title bar. Is there an option to override this behaviour?
We are using InnoSetup for our installer, if that matters.
I found one solution - having the process restart itself will fix the problem. It's pretty clumsy, but it works. I'll mark this as an accepted answer unless somebody has a better suggestion.

Xcode 6 open Assistant Editor in New Window

I feel like I have read every link on Google pertaining to this question, but none that I have read have helped.
All I want to do is view my Storyboard layout on the left monitor, and on my right monitor, in a new window, have the Assistant Editor open to "Preview" for my Storyboard so that I can preview the different devices sizes (clicking different storyboard views on the left screen should update the assistant editor preview on the right). This seems so simple, but has not proved to be.
Please tell me this is possible.
EDIT: This guy seems to have it working but following the steps didn't work for me.
It's possible.. and it's awesome:
I do have this working after following the instructions linked in the OP. I think the author left out that you need to click on the view controller that you're editing in BOTH instances of the story board window to see the changes update. Then as you're editing on your main window the changes will update to the open storyboard and thus the preview will update as well. I was able to test this and achieved a somewhat desired result.
In case the link goes dead here are the instructions lined out
Here’s how you can set this up…
In the Project Navigator pane, single-click a storyboard/XIB file to open it in the main Xcode window.
Now double-click that same file to open it in a new window.
Move the new window to another monitor and maximize it
(So now you have the story board on 2 windows)
Click on the new window to make sure it has input focus, then type Option+Command+Enter to open an assistant editor in that window.
In the assistant editor’s jump bar click on ‘Automatic‘ to open the drop-down menu (see the screenshot below if you don’t know what this means).
Click on the ‘Preview‘ menu item to open the preview editor.
Click and hold next to the assistant editor’s jump bar, then drag up or left (depending on which editor layout you prefer; vertical or horizontal), to maximize the preview’s screen real estate.
Lastly... the part the author left out is that you need to select the view controller you want to edit in BOTH story board windows and then just drag the preview window to cover more of the screen.
It's not pretty but it's effective.
Edit: wording and grammar :)
This is not currently possible (Xcode 6.3.1 at the time of writing). The best you can do is open your storyboard in one window, open it again in a new window, open the preview, and slide the assistant editor as far left as possible. The preview won't take up the entire window, but it'll be pretty close.

Always show Badge Count in OS X

Apple's own apps such as Reminders show Badge count even if they are not running or after quitting them
Other apps (some even with Helper apps) show badge when they are running, but it disappears as soon as you quit the application
is there a way, user side, or programming side, we can do to always show this badge, even when the app is not running?
I searched a lot in Google, didn't find anything about "always" showing this badge, maybe "badge count" is the wrong keyword
Yes, Create dock Tile Plug-in.
Starting in OS X v10.6, you can customize an application’s Dock tile
icon and menu when the application is not running.
When your application needs to customize the Dock tile, it manipulates the NSDockTile object that was provided to the initial call to the setDockTile: method.
To dynamically change the application's Dock icon, you can draw a Dock icon using a custom view. See Using a Custom View to Draw a Dock Icon.
To add text to a Dock icon, you can apply a badge label. See Changing the Text of a Badge Label.

Xcode Mac -> App with dock like behavior

I wish I could have worded the title better.
Let's say your Dock is on the left side of your screen and you HIDE it. When you move your mouse to the left side of the screen, the dock appears. I want my app to do the same thing. If the user puts their mouse on the left side of the screen, app animates in just like the dock. Then they move their mouse out and it hides.
I only ask for solutions that could be used in the Mac App Store.
Thank you.

bring the application from in focus, by clicking the icon of corresponding application

I was surprised this doesn't happen automatically, but I would like my applications window to be in focus as I click its dock icon, when in minimized mode.
Just to clarify, when I minimize the app, the window goes to dock, but when I click the its corresponding Dock Icon, the window don't come in focus.
Is there anything I am missing?
I am using Qt 4.5.3 on Mac OS X 10.5, 10.6
Thanks for help.
Rahul
First answer: That's the expected behavior of a Mac app. Try Safari for example. An app can be active without showing any window. In that case, only the menu bar at the top shows that the active app is changed. So, unless absolutely necessary, you shouldn't bring the minimized window back unless the user explicitly does so. That's the Mac way!
Second answer: I understand that there are cases where you want to bring the minimized window up. In Cocoa, the application delegate method -applicationDidBicomeActive is called when the application gets the focus, and there you can bring the window up yourself. I'm sure Qt also has a similar event/callback/signal or whatever, but I don't know any Qt ... :p Sorry I can't be of any help.

Resources