Re: NSView directly drawn on screen?
Re: NSView directly drawn on screen?
- Subject: Re: NSView directly drawn on screen?
- From: John Ku <email@hidden>
- Date: Fri, 12 Jun 2009 15:15:29 -0700
I got to play around
with your suggestions but still cannot get it to not loose focus.
Thought it did give me a better perspective on how levels, frames,
keys work.
Thank you for that.
I have the NSWindow and removed NSView for testing, but when I clicked on
the NSWindow, it'll still switch focus to it. I got the level working,
always floating ontop of windows, but just need a way for my app to not
become key or attract focus, but still able to receive keyboard/mouse
events.
I have set FirstResponders, CanBecomeKey, at various settings but could not
get it right. If anyone can offer any leads, that would be appreciated.
Thanks,
john
On Fri, Jun 12, 2009 at 1:00 AM, Chunk 1978 <email@hidden> wrote:
> if you don't want your apps window to become focused, you have to
> return NO on canBecomeKeyWindow, but if you want it to appear above
> the other windows, you should set it's level higher. here's some code
> you can use as a guide:
>
> -=-=-=-=-
> #import "DesktopWindow.h"
>
> @implementation DesktopWindow
>
> - (id)initWithContentRect:(NSRect)contentRect styleMask:(unsigned
> int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
> {
> [super initWithContentRect:contentRect
> styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered
> defer:NO];
> [self setLevel: NSNormalWindowLevel +1];
>
> // there are several window levels, check the documentation for the
> one that you require, and make sure that it's lower than the
> screensaver if you don't want it to be visible when the screensaver is
> active.
>
> [self setBackgroundColor:[NSColor colorWithDeviceWhite:1.0
> alpha:1.0]];
> [self setOpaque:YES];
> NSRect screenFrame = [[NSScreen mainScreen] frame];
> [self setFrame:screenFrame display:YES];
>
> return self;
> }
>
> - (BOOL)canBecomeKeyWindow
> {
> return NO;
> }
>
> @end
> -=-=-=-=-=-
>
> On Fri, Jun 12, 2009 at 3:11 AM, John Ku<email@hidden> wrote:
> > Thank you, I had that implemented. The problem still persist where my
> > subclass of NSWindow gets focused and deactivates the current running
> > program's window.
> > I want to have NSWindow to get keyboard/mouse events and still not
> > deactivate/lose focus of your current running application.
> >
> > Let's say I have Safari in focus,
> > currently running, and when user clicks on my menu bar application, pop
> up
> > menu appears and listens for keyboard/mouse events. But safari window
> still
> > remains active, or at least doesn't lose focus on the window.
> >
> > Thanks,
> > John
> >
> > On Thu, Jun 11, 2009 at 11:59 PM, Chunk 1978 <email@hidden>
> wrote:
> >
> >> NSBorderlessWindowMask (i think that's what it's called) is what
> >> you're looking for. Apple supplies a sample app here:
> >> http://developer.apple.com/samplecode/RoundTransparentWindow/index.html
> >>
> >> On Fri, Jun 12, 2009 at 1:51 AM, John Ku<email@hidden> wrote:
> >> > What I am trying to achieve is like CoverSutra's:
> >> > screenshot1.png<
> >>
> http://sophiestication.s3.amazonaws.com/images/coversutra/screenshot1.png>
> >> > A menu bar pop up menu where there is key/responder event but yet
> doesn't
> >> > switch away from the current running application.
> >> >
> >> > I experiemented with various NSWindow settings, but it always
> deactivates
> >> > the current application and switches to my app.
> >> >
> >> > I am a starting coder so I haven't fully comprehended Apple's provided
> >> > documents. But my wild wild guess is drawing an NSView directly
> without
> >> > NSWindow. Would this work? Is this
> >> > possible? What other ways can this be done?
> >> >
> >> >
> >> > Thank you all,
> >> > John
> >> > _______________________________________________
> >> >
> >> > Cocoa-dev mailing list (email@hidden)
> >> >
> >> > Please do not post admin requests or moderator comments to the list.
> >> > Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> >> >
> >> > Help/Unsubscribe/Update your Subscription:
> >> >
> >> >
> >> > This email sent to email@hidden
> >> >
> >> _______________________________________________
> >>
> >> Cocoa-dev mailing list (email@hidden)
> >>
> >> Please do not post admin requests or moderator comments to the list.
> >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> >>
> >> Help/Unsubscribe/Update your Subscription:
> >>
> >> This email sent to email@hidden
> >>
> > _______________________________________________
> >
> > Cocoa-dev mailing list (email@hidden)
> >
> > Please do not post admin requests or moderator comments to the list.
> > Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> >
> > Help/Unsubscribe/Update your Subscription:
> >
> > This email sent to email@hidden
> >
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden