Hide Cocoa-Window Titlebar
-
Hi,
I'm developing a mediaplayer-like app that supports fullscreen like
QuickTime Player.
To enter Fullscreen I need to toggle the window-style to a borderless-
window, is there any way to do this?
So, in Windowed Mode I want to have the normal Window-Titlebar and in
fullscreen without.. :)
Thanks,
Aya -
Hi Aya,
To give you better quality response could you tell me what you have
tried so far. What documentation have you read? Did you do a search
of the archives using either the terms "fullscreen" or "borderless
window"? (The term "full screen window cocoa" in that Google thing
will also produce some similarly appropriate and useful answers.)
regards,
douglas
On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:> Hi,
>
> I'm developing a mediaplayer-like app that supports fullscreen like
> QuickTime Player.
> To enter Fullscreen I need to toggle the window-style to a
> borderless-window, is there any way to do this?
>
> So, in Windowed Mode I want to have the normal Window-Titlebar and
> in fullscreen without.. :)
>
> Thanks,
> Aya -
Hi,
I haven't found anything about this, so I haven't tried anything for
real..
But, I meant the titlebar of the windows, not the menu-bar at the top
of the screen.
So what I want to do is just a toggle between titlebar'ed windows and
borderless.. but it seems like the style can only be set during the
initialisation of the window :(
Aya~
On Jan 6, 2009, at 22:11, douglas welton wrote:> Hi Aya,
>
> To give you better quality response could you tell me what you have
> tried so far. What documentation have you read? Did you do a search
> of the archives using either the terms "fullscreen" or "borderless
> window"? (The term "full screen window cocoa" in that Google thing
> will also produce some similarly appropriate and useful answers.)
>
> regards,
>
> douglas
>
>
> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>
>> Hi,
>>
>> I'm developing a mediaplayer-like app that supports fullscreen like
>> QuickTime Player.
>> To enter Fullscreen I need to toggle the window-style to a
>> borderless-window, is there any way to do this?
>>
>> So, in Windowed Mode I want to have the normal Window-Titlebar and
>> in fullscreen without.. :)
>>
>> Thanks,
>> Aya -
Hi Aya,
Check out the "setting a window's appearance" section of the Window
Programming Guide for Cocoa. You might also want to take a look at
NSView's -enterFullScreenMode:withOptions: method.
Typically what you are trying to do is not something that is done
using Cocoa (there might be a carbon-based solution...i don't know).
What user interaction result are you trying to accomplish by getting
rid of the window's frame?
regards,
douglas
On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:> Hi,
>
> I haven't found anything about this, so I haven't tried anything for
> real..
> But, I meant the titlebar of the windows, not the menu-bar at the
> top of the screen.
>
> So what I want to do is just a toggle between titlebar'ed windows
> and borderless.. but it seems like the style can only be set during
> the initialisation of the window :(
>
> Aya~
>
>
> On Jan 6, 2009, at 22:11, douglas welton wrote:
>
>> Hi Aya,
>>
>> To give you better quality response could you tell me what you have
>> tried so far. What documentation have you read? Did you do a
>> search of the archives using either the terms "fullscreen" or
>> "borderless window"? (The term "full screen window cocoa" in that
>> Google thing will also produce some similarly appropriate and
>> useful answers.)
>>
>> regards,
>>
>> douglas
>>
>>
>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>
>>> Hi,
>>>
>>> I'm developing a mediaplayer-like app that supports fullscreen
>>> like QuickTime Player.
>>> To enter Fullscreen I need to toggle the window-style to a
>>> borderless-window, is there any way to do this?
>>>
>>> So, in Windowed Mode I want to have the normal Window-Titlebar and
>>> in fullscreen without.. :)
>>>
>>> Thanks,
>>> Aya
> -
I think you are correct that this can only be done during the window
initialization. You may try to have two instances of the window, one
with border and the other one without and then just toggle between the
two and share the same contentView (NSViewController) instance. That
way you only have to show the one you need when you need it. It is a
lot less efficient but could probably do the job.
Hope it helps.
Alej
On Jan 6, 2009, at 5:25 PM, Aya Koshigaya wrote:> Hi,
>
> I haven't found anything about this, so I haven't tried anything for
> real..
> But, I meant the titlebar of the windows, not the menu-bar at the
> top of the screen.
>
> So what I want to do is just a toggle between titlebar'ed windows
> and borderless.. but it seems like the style can only be set during
> the initialisation of the window :(
>
> Aya~
>
>
> On Jan 6, 2009, at 22:11, douglas welton wrote:
>
>> Hi Aya,
>>
>> To give you better quality response could you tell me what you have
>> tried so far. What documentation have you read? Did you do a
>> search of the archives using either the terms "fullscreen" or
>> "borderless window"? (The term "full screen window cocoa" in that
>> Google thing will also produce some similarly appropriate and
>> useful answers.)
>>
>> regards,
>>
>> douglas
>>
>>
>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>
>>> Hi,
>>>
>>> I'm developing a mediaplayer-like app that supports fullscreen
>>> like QuickTime Player.
>>> To enter Fullscreen I need to toggle the window-style to a
>>> borderless-window, is there any way to do this?
>>>
>>> So, in Windowed Mode I want to have the normal Window-Titlebar and
>>> in fullscreen without.. :)
>>>
>>> Thanks,
>>> Aya
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
It's indeed not possible in Cocoa to change the window style. The way
to show a view in full screen is to create a separate borderless
window with the appropriate properties and move the view to that
window. In Leopard you can use -[NSView
enterFullScreenMode:withOptions:], which I'm pretty sure is just a
simple shortcut around the need to do all the necessary setup yourself.
Christiaan
On 6 Jan 2009, at 10:25 PM, Aya Koshigaya wrote:> Hi,
>
> I haven't found anything about this, so I haven't tried anything for
> real..
> But, I meant the titlebar of the windows, not the menu-bar at the
> top of the screen.
>
> So what I want to do is just a toggle between titlebar'ed windows
> and borderless.. but it seems like the style can only be set during
> the initialisation of the window :(
>
> Aya~
>
>
> On Jan 6, 2009, at 22:11, douglas welton wrote:
>
>> Hi Aya,
>>
>> To give you better quality response could you tell me what you have
>> tried so far. What documentation have you read? Did you do a
>> search of the archives using either the terms "fullscreen" or
>> "borderless window"? (The term "full screen window cocoa" in that
>> Google thing will also produce some similarly appropriate and
>> useful answers.)
>>
>> regards,
>>
>> douglas
>>
>>
>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>
>>> Hi,
>>>
>>> I'm developing a mediaplayer-like app that supports fullscreen
>>> like QuickTime Player.
>>> To enter Fullscreen I need to toggle the window-style to a
>>> borderless-window, is there any way to do this?
>>>
>>> So, in Windowed Mode I want to have the normal Window-Titlebar and
>>> in fullscreen without.. :)
>>>
>>> Thanks,
>>> Aya
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
Hi,
the enterFullScreenMode:withOptions looks fine, thanks.
But there's one problem.. as soon as I am entering the Fullscreen with
this method, my NSView doesn't handle any key-inputs anymore.. so my:
- (void)keyDown: (NSEvent *)theEvent
function in my NSView never get's called after entering the
fullscreen.. why?
Aya~
PS: And is there any way to kill a program that's running in
fullscreen? Since no keys were handled anymore, I wasn't able to exit
the fullscreen... had to reboot :/
On Jan 6, 2009, at 22:44, douglas welton wrote:> Hi Aya,
>
> Check out the "setting a window's appearance" section of the Window
> Programming Guide for Cocoa. You might also want to take a look at
> NSView's -enterFullScreenMode:withOptions: method.
>
> Typically what you are trying to do is not something that is done
> using Cocoa (there might be a carbon-based solution...i don't
> know). What user interaction result are you trying to accomplish by
> getting rid of the window's frame?
>
> regards,
>
> douglas
>
> On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:
>
>> Hi,
>>
>> I haven't found anything about this, so I haven't tried anything
>> for real..
>> But, I meant the titlebar of the windows, not the menu-bar at the
>> top of the screen.
>>
>> So what I want to do is just a toggle between titlebar'ed windows
>> and borderless.. but it seems like the style can only be set during
>> the initialisation of the window :(
>>
>> Aya~
>>
>>
>> On Jan 6, 2009, at 22:11, douglas welton wrote:
>>
>>> Hi Aya,
>>>
>>> To give you better quality response could you tell me what you
>>> have tried so far. What documentation have you read? Did you do a
>>> search of the archives using either the terms "fullscreen" or
>>> "borderless window"? (The term "full screen window cocoa" in that
>>> Google thing will also produce some similarly appropriate and
>>> useful answers.)
>>>
>>> regards,
>>>
>>> douglas
>>>
>>>
>>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm developing a mediaplayer-like app that supports fullscreen
>>>> like QuickTime Player.
>>>> To enter Fullscreen I need to toggle the window-style to a
>>>> borderless-window, is there any way to do this?
>>>>
>>>> So, in Windowed Mode I want to have the normal Window-Titlebar
>>>> and in fullscreen without.. :)
>>>>
>>>> Thanks,
>>>> Aya
>>
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
Apparently, the new Leopard API is pretty buggy, see e.g. <http://www.cocoabuilder.com/archive/message/cocoa/2008/4/4/203320>. So I advice you to just set up a full screen window yourself.
Apart from filing a bug report with Apple.
Christiaan
On 6 Jan 2009, at 11:28 PM, Aya Koshigaya wrote:> Hi,
>
> the enterFullScreenMode:withOptions looks fine, thanks.
> But there's one problem.. as soon as I am entering the Fullscreen
> with this method, my NSView doesn't handle any key-inputs anymore..
> so my:
>
> - (void)keyDown: (NSEvent *)theEvent
>
> function in my NSView never get's called after entering the
> fullscreen.. why?
>
> Aya~
>
> PS: And is there any way to kill a program that's running in
> fullscreen? Since no keys were handled anymore, I wasn't able to
> exit the fullscreen... had to reboot :/
>
> On Jan 6, 2009, at 22:44, douglas welton wrote:
>
>> Hi Aya,
>>
>> Check out the "setting a window's appearance" section of the Window
>> Programming Guide for Cocoa. You might also want to take a look at
>> NSView's -enterFullScreenMode:withOptions: method.
>>
>> Typically what you are trying to do is not something that is done
>> using Cocoa (there might be a carbon-based solution...i don't
>> know). What user interaction result are you trying to accomplish
>> by getting rid of the window's frame?
>>
>> regards,
>>
>> douglas
>>
>> On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:
>>
>>> Hi,
>>>
>>> I haven't found anything about this, so I haven't tried anything
>>> for real..
>>> But, I meant the titlebar of the windows, not the menu-bar at the
>>> top of the screen.
>>>
>>> So what I want to do is just a toggle between titlebar'ed windows
>>> and borderless.. but it seems like the style can only be set
>>> during the initialisation of the window :(
>>>
>>> Aya~
>>>
>>>
>>> On Jan 6, 2009, at 22:11, douglas welton wrote:
>>>
>>>> Hi Aya,
>>>>
>>>> To give you better quality response could you tell me what you
>>>> have tried so far. What documentation have you read? Did you do
>>>> a search of the archives using either the terms "fullscreen" or
>>>> "borderless window"? (The term "full screen window cocoa" in
>>>> that Google thing will also produce some similarly appropriate
>>>> and useful answers.)
>>>>
>>>> regards,
>>>>
>>>> douglas
>>>>
>>>>
>>>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'm developing a mediaplayer-like app that supports fullscreen
>>>>> like QuickTime Player.
>>>>> To enter Fullscreen I need to toggle the window-style to a
>>>>> borderless-window, is there any way to do this?
>>>>>
>>>>> So, in Windowed Mode I want to have the normal Window-Titlebar
>>>>> and in fullscreen without.. :)
>>>>>
>>>>> Thanks,
>>>>> Aya
>>>
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <MacOSX-dev...>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
Make sure that your view is the first responder. Otherwise, the view
will appear to be broken and you might be tempted to call the view
buggy ;^}
On Jan 6, 2009, at 5:43 PM, Christiaan Hofman wrote:> Apparently, the new Leopard API is pretty buggy, see e.g. <http://www.cocoabuilder.com/archive/message/cocoa/2008/4/4/203320> >. So I advice you to just set up a full screen window yourself.> Apart from filing a bug report with Apple.
>
> Christiaan
>
> On 6 Jan 2009, at 11:28 PM, Aya Koshigaya wrote:
>
>> Hi,
>>
>> the enterFullScreenMode:withOptions looks fine, thanks.
>> But there's one problem.. as soon as I am entering the Fullscreen
>> with this method, my NSView doesn't handle any key-inputs anymore..
>> so my:
>>
>> - (void)keyDown: (NSEvent *)theEvent
>>
>> function in my NSView never get's called after entering the
>> fullscreen.. why?
>>
>> Aya~
>>
>> PS: And is there any way to kill a program that's running in
>> fullscreen? Since no keys were handled anymore, I wasn't able to
>> exit the fullscreen... had to reboot :/
>>
>> On Jan 6, 2009, at 22:44, douglas welton wrote:
>>
>>> Hi Aya,
>>>
>>> Check out the "setting a window's appearance" section of the
>>> Window Programming Guide for Cocoa. You might also want to take a
>>> look at NSView's -enterFullScreenMode:withOptions: method.
>>>
>>> Typically what you are trying to do is not something that is done
>>> using Cocoa (there might be a carbon-based solution...i don't
>>> know). What user interaction result are you trying to accomplish
>>> by getting rid of the window's frame?
>>>
>>> regards,
>>>
>>> douglas
>>>
>>> On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:
>>>
>>>> Hi,
>>>>
>>>> I haven't found anything about this, so I haven't tried anything
>>>> for real..
>>>> But, I meant the titlebar of the windows, not the menu-bar at the
>>>> top of the screen.
>>>>
>>>> So what I want to do is just a toggle between titlebar'ed windows
>>>> and borderless.. but it seems like the style can only be set
>>>> during the initialisation of the window :(
>>>>
>>>> Aya~
>>>>
>>>>
>>>> On Jan 6, 2009, at 22:11, douglas welton wrote:
>>>>
>>>>> Hi Aya,
>>>>>
>>>>> To give you better quality response could you tell me what you
>>>>> have tried so far. What documentation have you read? Did you do
>>>>> a search of the archives using either the terms "fullscreen" or
>>>>> "borderless window"? (The term "full screen window cocoa" in
>>>>> that Google thing will also produce some similarly appropriate
>>>>> and useful answers.)
>>>>>
>>>>> regards,
>>>>>
>>>>> douglas
>>>>>
>>>>>
>>>>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'm developing a mediaplayer-like app that supports fullscreen
>>>>>> like QuickTime Player.
>>>>>> To enter Fullscreen I need to toggle the window-style to a
>>>>>> borderless-window, is there any way to do this?
>>>>>>
>>>>>> So, in Windowed Mode I want to have the normal Window-Titlebar
>>>>>> and in fullscreen without.. :)
>>>>>>
>>>>>> Thanks,
>>>>>> Aya
>>>>
>>>
>>> _______________________________________________
>>> MacOSX-dev mailing list
>>> <MacOSX-dev...>
>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <MacOSX-dev...>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
In fact, I just tested Leopards built-in full screen feature myself,
and keyDown: WAS called in full screen mode. So probably your view is
not in the responder chain (first responder is not necessary). I also
confirmed that the full screen window CAN in fact become key (normally
a window without title bar can't become key; this is in fact the only
way in which the window class for the full screen window differs from
NSWindow).
Christiaan
On 6 Jan 2009, at 11:58 PM, douglas welton wrote:> Make sure that your view is the first responder. Otherwise, the>> >. So I advice you to just set up a full screen window yourself.
> view will appear to be broken and you might be tempted to call the
> view buggy ;^}
>
> On Jan 6, 2009, at 5:43 PM, Christiaan Hofman wrote:
>
>> Apparently, the new Leopard API is pretty buggy, see e.g. <http://www.cocoabuilder.com/archive/message/cocoa/2008/4/4/203320>> Apart from filing a bug report with Apple.
>>
>> Christiaan
>>
>> On 6 Jan 2009, at 11:28 PM, Aya Koshigaya wrote:
>>
>>> Hi,
>>>
>>> the enterFullScreenMode:withOptions looks fine, thanks.
>>> But there's one problem.. as soon as I am entering the Fullscreen
>>> with this method, my NSView doesn't handle any key-inputs
>>> anymore.. so my:
>>>
>>> - (void)keyDown: (NSEvent *)theEvent
>>>
>>> function in my NSView never get's called after entering the
>>> fullscreen.. why?
>>>
>>> Aya~
>>>
>>> PS: And is there any way to kill a program that's running in
>>> fullscreen? Since no keys were handled anymore, I wasn't able to
>>> exit the fullscreen... had to reboot :/
>>>
>>> On Jan 6, 2009, at 22:44, douglas welton wrote:
>>>
>>>> Hi Aya,
>>>>
>>>> Check out the "setting a window's appearance" section of the
>>>> Window Programming Guide for Cocoa. You might also want to take
>>>> a look at NSView's -enterFullScreenMode:withOptions: method.
>>>>
>>>> Typically what you are trying to do is not something that is done
>>>> using Cocoa (there might be a carbon-based solution...i don't
>>>> know). What user interaction result are you trying to accomplish
>>>> by getting rid of the window's frame?
>>>>
>>>> regards,
>>>>
>>>> douglas
>>>>
>>>> On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I haven't found anything about this, so I haven't tried anything
>>>>> for real..
>>>>> But, I meant the titlebar of the windows, not the menu-bar at
>>>>> the top of the screen.
>>>>>
>>>>> So what I want to do is just a toggle between titlebar'ed
>>>>> windows and borderless.. but it seems like the style can only be
>>>>> set during the initialisation of the window :(
>>>>>
>>>>> Aya~
>>>>>
>>>>>
>>>>> On Jan 6, 2009, at 22:11, douglas welton wrote:
>>>>>
>>>>>> Hi Aya,
>>>>>>
>>>>>> To give you better quality response could you tell me what you
>>>>>> have tried so far. What documentation have you read? Did you
>>>>>> do a search of the archives using either the terms "fullscreen"
>>>>>> or "borderless window"? (The term "full screen window cocoa"
>>>>>> in that Google thing will also produce some similarly
>>>>>> appropriate and useful answers.)
>>>>>>
>>>>>> regards,
>>>>>>
>>>>>> douglas
>>>>>>
>>>>>>
>>>>>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm developing a mediaplayer-like app that supports fullscreen
>>>>>>> like QuickTime Player.
>>>>>>> To enter Fullscreen I need to toggle the window-style to a
>>>>>>> borderless-window, is there any way to do this?
>>>>>>>
>>>>>>> So, in Windowed Mode I want to have the normal Window-Titlebar
>>>>>>> and in fullscreen without.. :)
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Aya
>>>>>
>>>>
>>>> _______________________________________________
>>>> MacOSX-dev mailing list
>>>> <MacOSX-dev...>
>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>
>>> _______________________________________________
>>> MacOSX-dev mailing list
>>> <MacOSX-dev...>
>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <MacOSX-dev...>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
> -
Mhh okay, but before I test this.. how can I exit the fullscreen or
kill the app if it isn't working?
I just don't want to restart my machine again only because I have a
fullscreen app that I can't close.. :/
Aya~
On Jan 7, 2009, at 00:20, Christiaan Hofman wrote:> In fact, I just tested Leopards built-in full screen feature myself,>>> >. So I advice you to just set up a full screen window yourself.
> and keyDown: WAS called in full screen mode. So probably your view
> is not in the responder chain (first responder is not necessary). I
> also confirmed that the full screen window CAN in fact become key
> (normally a window without title bar can't become key; this is in
> fact the only way in which the window class for the full screen
> window differs from NSWindow).
>
> Christiaan
>
> On 6 Jan 2009, at 11:58 PM, douglas welton wrote:
>
>> Make sure that your view is the first responder. Otherwise, the
>> view will appear to be broken and you might be tempted to call the
>> view buggy ;^}
>>
>> On Jan 6, 2009, at 5:43 PM, Christiaan Hofman wrote:
>>
>>> Apparently, the new Leopard API is pretty buggy, see e.g. <http://www.cocoabuilder.com/archive/message/cocoa/2008/4/4/203320>>> Apart from filing a bug report with Apple.
>>>
>>> Christiaan
>>>
>>> On 6 Jan 2009, at 11:28 PM, Aya Koshigaya wrote:
>>>
>>>> Hi,
>>>>
>>>> the enterFullScreenMode:withOptions looks fine, thanks.
>>>> But there's one problem.. as soon as I am entering the Fullscreen
>>>> with this method, my NSView doesn't handle any key-inputs
>>>> anymore.. so my:
>>>>
>>>> - (void)keyDown: (NSEvent *)theEvent
>>>>
>>>> function in my NSView never get's called after entering the
>>>> fullscreen.. why?
>>>>
>>>> Aya~
>>>>
>>>> PS: And is there any way to kill a program that's running in
>>>> fullscreen? Since no keys were handled anymore, I wasn't able to
>>>> exit the fullscreen... had to reboot :/
>>>>
>>>> On Jan 6, 2009, at 22:44, douglas welton wrote:
>>>>
>>>>> Hi Aya,
>>>>>
>>>>> Check out the "setting a window's appearance" section of the
>>>>> Window Programming Guide for Cocoa. You might also want to take
>>>>> a look at NSView's -enterFullScreenMode:withOptions: method.
>>>>>
>>>>> Typically what you are trying to do is not something that is
>>>>> done using Cocoa (there might be a carbon-based solution...i
>>>>> don't know). What user interaction result are you trying to
>>>>> accomplish by getting rid of the window's frame?
>>>>>
>>>>> regards,
>>>>>
>>>>> douglas
>>>>>
>>>>> On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I haven't found anything about this, so I haven't tried
>>>>>> anything for real..
>>>>>> But, I meant the titlebar of the windows, not the menu-bar at
>>>>>> the top of the screen.
>>>>>>
>>>>>> So what I want to do is just a toggle between titlebar'ed
>>>>>> windows and borderless.. but it seems like the style can only
>>>>>> be set during the initialisation of the window :(
>>>>>>
>>>>>> Aya~
>>>>>>
>>>>>>
>>>>>> On Jan 6, 2009, at 22:11, douglas welton wrote:
>>>>>>
>>>>>>> Hi Aya,
>>>>>>>
>>>>>>> To give you better quality response could you tell me what you
>>>>>>> have tried so far. What documentation have you read? Did you
>>>>>>> do a search of the archives using either the terms
>>>>>>> "fullscreen" or "borderless window"? (The term "full screen
>>>>>>> window cocoa" in that Google thing will also produce some
>>>>>>> similarly appropriate and useful answers.)
>>>>>>>
>>>>>>> regards,
>>>>>>>
>>>>>>> douglas
>>>>>>>
>>>>>>>
>>>>>>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'm developing a mediaplayer-like app that supports
>>>>>>>> fullscreen like QuickTime Player.
>>>>>>>> To enter Fullscreen I need to toggle the window-style to a
>>>>>>>> borderless-window, is there any way to do this?
>>>>>>>>
>>>>>>>> So, in Windowed Mode I want to have the normal Window-
>>>>>>>> Titlebar and in fullscreen without.. :)
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Aya
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> MacOSX-dev mailing list
>>>>> <MacOSX-dev...>
>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>
>>>> _______________________________________________
>>>> MacOSX-dev mailing list
>>>> <MacOSX-dev...>
>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>
>>> _______________________________________________
>>> MacOSX-dev mailing list
>>> <MacOSX-dev...>
>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
If the mouse works you could add a temporary Quit button and make
Application its target with terminate: as its action.
If the mouse doesn't work and you have another machine, you could ssh
in and kill the process.
--Andy
On Jan 6, 2009, at 6:32 PM, Aya Koshigaya wrote:> Mhh okay, but before I test this.. how can I exit the fullscreen or>>>> >. So I advice you to just set up a full screen window yourself.
> kill the app if it isn't working?
> I just don't want to restart my machine again only because I have a
> fullscreen app that I can't close.. :/
>
> Aya~
>
>
> On Jan 7, 2009, at 00:20, Christiaan Hofman wrote:
>
>> In fact, I just tested Leopards built-in full screen feature
>> myself, and keyDown: WAS called in full screen mode. So probably
>> your view is not in the responder chain (first responder is not
>> necessary). I also confirmed that the full screen window CAN in
>> fact become key (normally a window without title bar can't become
>> key; this is in fact the only way in which the window class for the
>> full screen window differs from NSWindow).
>>
>> Christiaan
>>
>> On 6 Jan 2009, at 11:58 PM, douglas welton wrote:
>>
>>> Make sure that your view is the first responder. Otherwise, the
>>> view will appear to be broken and you might be tempted to call the
>>> view buggy ;^}
>>>
>>> On Jan 6, 2009, at 5:43 PM, Christiaan Hofman wrote:
>>>
>>>> Apparently, the new Leopard API is pretty buggy, see e.g. <http://www.cocoabuilder.com/archive/message/cocoa/2008/4/4/203320>>>> Apart from filing a bug report with Apple.
>>>>
>>>> Christiaan
>>>>
>>>> On 6 Jan 2009, at 11:28 PM, Aya Koshigaya wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> the enterFullScreenMode:withOptions looks fine, thanks.
>>>>> But there's one problem.. as soon as I am entering the
>>>>> Fullscreen with this method, my NSView doesn't handle any key-
>>>>> inputs anymore.. so my:
>>>>>
>>>>> - (void)keyDown: (NSEvent *)theEvent
>>>>>
>>>>> function in my NSView never get's called after entering the
>>>>> fullscreen.. why?
>>>>>
>>>>> Aya~
>>>>>
>>>>> PS: And is there any way to kill a program that's running in
>>>>> fullscreen? Since no keys were handled anymore, I wasn't able to
>>>>> exit the fullscreen... had to reboot :/
>>>>>
>>>>> On Jan 6, 2009, at 22:44, douglas welton wrote:
>>>>>
>>>>>> Hi Aya,
>>>>>>
>>>>>> Check out the "setting a window's appearance" section of the
>>>>>> Window Programming Guide for Cocoa. You might also want to
>>>>>> take a look at NSView's -enterFullScreenMode:withOptions: method.
>>>>>>
>>>>>> Typically what you are trying to do is not something that is
>>>>>> done using Cocoa (there might be a carbon-based solution...i
>>>>>> don't know). What user interaction result are you trying to
>>>>>> accomplish by getting rid of the window's frame?
>>>>>>
>>>>>> regards,
>>>>>>
>>>>>> douglas
>>>>>>
>>>>>> On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I haven't found anything about this, so I haven't tried
>>>>>>> anything for real..
>>>>>>> But, I meant the titlebar of the windows, not the menu-bar at
>>>>>>> the top of the screen.
>>>>>>>
>>>>>>> So what I want to do is just a toggle between titlebar'ed
>>>>>>> windows and borderless.. but it seems like the style can only
>>>>>>> be set during the initialisation of the window :(
>>>>>>>
>>>>>>> Aya~
>>>>>>>
>>>>>>>
>>>>>>> On Jan 6, 2009, at 22:11, douglas welton wrote:
>>>>>>>
>>>>>>>> Hi Aya,
>>>>>>>>
>>>>>>>> To give you better quality response could you tell me what
>>>>>>>> you have tried so far. What documentation have you read? Did
>>>>>>>> you do a search of the archives using either the terms
>>>>>>>> "fullscreen" or "borderless window"? (The term "full screen
>>>>>>>> window cocoa" in that Google thing will also produce some
>>>>>>>> similarly appropriate and useful answers.)
>>>>>>>>
>>>>>>>> regards,
>>>>>>>>
>>>>>>>> douglas
>>>>>>>>
>>>>>>>>
>>>>>>>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I'm developing a mediaplayer-like app that supports
>>>>>>>>> fullscreen like QuickTime Player.
>>>>>>>>> To enter Fullscreen I need to toggle the window-style to a
>>>>>>>>> borderless-window, is there any way to do this?
>>>>>>>>>
>>>>>>>>> So, in Windowed Mode I want to have the normal Window-
>>>>>>>>> Titlebar and in fullscreen without.. :)
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Aya
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> MacOSX-dev mailing list
>>>>>> <MacOSX-dev...>
>>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>>
>>>>> _______________________________________________
>>>>> MacOSX-dev mailing list
>>>>> <MacOSX-dev...>
>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>
>>>> _______________________________________________
>>>> MacOSX-dev mailing list
>>>> <MacOSX-dev...>
>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <MacOSX-dev...>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
Command-Q will work, because the app object is always in the responder
chain.
Christiaan
On 7 Jan 2009, at 12:42 AM, Andy Lee wrote:> If the mouse works you could add a temporary Quit button and make>>>>> >. So I advice you to just set up a full screen window yourself.
> Application its target with terminate: as its action.
>
> If the mouse doesn't work and you have another machine, you could
> ssh in and kill the process.
>
> --Andy
>
>
> On Jan 6, 2009, at 6:32 PM, Aya Koshigaya wrote:
>
>> Mhh okay, but before I test this.. how can I exit the fullscreen or
>> kill the app if it isn't working?
>> I just don't want to restart my machine again only because I have a
>> fullscreen app that I can't close.. :/
>>
>> Aya~
>>
>>
>> On Jan 7, 2009, at 00:20, Christiaan Hofman wrote:
>>
>>> In fact, I just tested Leopards built-in full screen feature
>>> myself, and keyDown: WAS called in full screen mode. So probably
>>> your view is not in the responder chain (first responder is not
>>> necessary). I also confirmed that the full screen window CAN in
>>> fact become key (normally a window without title bar can't become
>>> key; this is in fact the only way in which the window class for
>>> the full screen window differs from NSWindow).
>>>
>>> Christiaan
>>>
>>> On 6 Jan 2009, at 11:58 PM, douglas welton wrote:
>>>
>>>> Make sure that your view is the first responder. Otherwise, the
>>>> view will appear to be broken and you might be tempted to call
>>>> the view buggy ;^}
>>>>
>>>> On Jan 6, 2009, at 5:43 PM, Christiaan Hofman wrote:
>>>>
>>>>> Apparently, the new Leopard API is pretty buggy, see e.g. <http://www.cocoabuilder.com/archive/message/cocoa/2008/4/4/203320>>>>> Apart from filing a bug report with Apple.
>>>>>
>>>>> Christiaan
>>>>>
>>>>> On 6 Jan 2009, at 11:28 PM, Aya Koshigaya wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> the enterFullScreenMode:withOptions looks fine, thanks.
>>>>>> But there's one problem.. as soon as I am entering the
>>>>>> Fullscreen with this method, my NSView doesn't handle any key-
>>>>>> inputs anymore.. so my:
>>>>>>
>>>>>> - (void)keyDown: (NSEvent *)theEvent
>>>>>>
>>>>>> function in my NSView never get's called after entering the
>>>>>> fullscreen.. why?
>>>>>>
>>>>>> Aya~
>>>>>>
>>>>>> PS: And is there any way to kill a program that's running in
>>>>>> fullscreen? Since no keys were handled anymore, I wasn't able
>>>>>> to exit the fullscreen... had to reboot :/
>>>>>>
>>>>>> On Jan 6, 2009, at 22:44, douglas welton wrote:
>>>>>>
>>>>>>> Hi Aya,
>>>>>>>
>>>>>>> Check out the "setting a window's appearance" section of the
>>>>>>> Window Programming Guide for Cocoa. You might also want to
>>>>>>> take a look at NSView's -enterFullScreenMode:withOptions:
>>>>>>> method.
>>>>>>>
>>>>>>> Typically what you are trying to do is not something that is
>>>>>>> done using Cocoa (there might be a carbon-based solution...i
>>>>>>> don't know). What user interaction result are you trying to
>>>>>>> accomplish by getting rid of the window's frame?
>>>>>>>
>>>>>>> regards,
>>>>>>>
>>>>>>> douglas
>>>>>>>
>>>>>>> On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I haven't found anything about this, so I haven't tried
>>>>>>>> anything for real..
>>>>>>>> But, I meant the titlebar of the windows, not the menu-bar at
>>>>>>>> the top of the screen.
>>>>>>>>
>>>>>>>> So what I want to do is just a toggle between titlebar'ed
>>>>>>>> windows and borderless.. but it seems like the style can only
>>>>>>>> be set during the initialisation of the window :(
>>>>>>>>
>>>>>>>> Aya~
>>>>>>>>
>>>>>>>>
>>>>>>>> On Jan 6, 2009, at 22:11, douglas welton wrote:
>>>>>>>>
>>>>>>>>> Hi Aya,
>>>>>>>>>
>>>>>>>>> To give you better quality response could you tell me what
>>>>>>>>> you have tried so far. What documentation have you read?
>>>>>>>>> Did you do a search of the archives using either the terms
>>>>>>>>> "fullscreen" or "borderless window"? (The term "full screen
>>>>>>>>> window cocoa" in that Google thing will also produce some
>>>>>>>>> similarly appropriate and useful answers.)
>>>>>>>>>
>>>>>>>>> regards,
>>>>>>>>>
>>>>>>>>> douglas
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I'm developing a mediaplayer-like app that supports
>>>>>>>>>> fullscreen like QuickTime Player.
>>>>>>>>>> To enter Fullscreen I need to toggle the window-style to a
>>>>>>>>>> borderless-window, is there any way to do this?
>>>>>>>>>>
>>>>>>>>>> So, in Windowed Mode I want to have the normal Window-
>>>>>>>>>> Titlebar and in fullscreen without.. :)
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Aya
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> MacOSX-dev mailing list
>>>>>>> <MacOSX-dev...>
>>>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>>>
>>>>>> _______________________________________________
>>>>>> MacOSX-dev mailing list
>>>>>> <MacOSX-dev...>
>>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>>
>>>>> _______________________________________________
>>>>> MacOSX-dev mailing list
>>>>> <MacOSX-dev...>
>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>
>>>
>>> _______________________________________________
>>> MacOSX-dev mailing list
>>> <MacOSX-dev...>
>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <MacOSX-dev...>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
Hi,
Borderless windows can be the key window - subclass the window and
implement the method, (BOOL)canBecomeKeyWindow to return YES.
Regarding the key event, the view and responder chain. If a view is
visible, it's in the responder chain by default (assuming you haven't
done anything weird to the responder chain in the view hierarchy). To
get a key event, the view needs to be the "key view" (or a superview
of the key view, i think).
Have you tried just clicking on the view (which will make it the key
view and first responder) before you try the key input? If that
doesn't work, your window isn't able to become the key window, so you
need to subclass it like I mentioned.
HTH,
Cathy
On Jan 7, 2009, at 12:20 AM, Christiaan Hofman wrote:> In fact, I just tested Leopards built-in full screen feature myself,>>> >. So I advice you to just set up a full screen window yourself.
> and keyDown: WAS called in full screen mode. So probably your view
> is not in the responder chain (first responder is not necessary). I
> also confirmed that the full screen window CAN in fact become key
> (normally a window without title bar can't become key; this is in
> fact the only way in which the window class for the full screen
> window differs from NSWindow).
>
> Christiaan
>
> On 6 Jan 2009, at 11:58 PM, douglas welton wrote:
>
>> Make sure that your view is the first responder. Otherwise, the
>> view will appear to be broken and you might be tempted to call the
>> view buggy ;^}
>>
>> On Jan 6, 2009, at 5:43 PM, Christiaan Hofman wrote:
>>
>>> Apparently, the new Leopard API is pretty buggy, see e.g. <http://www.cocoabuilder.com/archive/message/cocoa/2008/4/4/203320>>> Apart from filing a bug report with Apple.
>>>
>>> Christiaan
>>>
>>> On 6 Jan 2009, at 11:28 PM, Aya Koshigaya wrote:
>>>
>>>> Hi,
>>>>
>>>> the enterFullScreenMode:withOptions looks fine, thanks.
>>>> But there's one problem.. as soon as I am entering the Fullscreen
>>>> with this method, my NSView doesn't handle any key-inputs
>>>> anymore.. so my:
>>>>
>>>> - (void)keyDown: (NSEvent *)theEvent
>>>>
>>>> function in my NSView never get's called after entering the
>>>> fullscreen.. why?
>>>>
>>>> Aya~
>>>>
>>>> PS: And is there any way to kill a program that's running in
>>>> fullscreen? Since no keys were handled anymore, I wasn't able to
>>>> exit the fullscreen... had to reboot :/
>>>>
>>>> On Jan 6, 2009, at 22:44, douglas welton wrote:
>>>>
>>>>> Hi Aya,
>>>>>
>>>>> Check out the "setting a window's appearance" section of the
>>>>> Window Programming Guide for Cocoa. You might also want to take
>>>>> a look at NSView's -enterFullScreenMode:withOptions: method.
>>>>>
>>>>> Typically what you are trying to do is not something that is
>>>>> done using Cocoa (there might be a carbon-based solution...i
>>>>> don't know). What user interaction result are you trying to
>>>>> accomplish by getting rid of the window's frame?
>>>>>
>>>>> regards,
>>>>>
>>>>> douglas
>>>>>
>>>>> On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I haven't found anything about this, so I haven't tried
>>>>>> anything for real..
>>>>>> But, I meant the titlebar of the windows, not the menu-bar at
>>>>>> the top of the screen.
>>>>>>
>>>>>> So what I want to do is just a toggle between titlebar'ed
>>>>>> windows and borderless.. but it seems like the style can only
>>>>>> be set during the initialisation of the window :(
>>>>>>
>>>>>> Aya~
>>>>>>
>>>>>>
>>>>>> On Jan 6, 2009, at 22:11, douglas welton wrote:
>>>>>>
>>>>>>> Hi Aya,
>>>>>>>
>>>>>>> To give you better quality response could you tell me what you
>>>>>>> have tried so far. What documentation have you read? Did you
>>>>>>> do a search of the archives using either the terms
>>>>>>> "fullscreen" or "borderless window"? (The term "full screen
>>>>>>> window cocoa" in that Google thing will also produce some
>>>>>>> similarly appropriate and useful answers.)
>>>>>>>
>>>>>>> regards,
>>>>>>>
>>>>>>> douglas
>>>>>>>
>>>>>>>
>>>>>>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'm developing a mediaplayer-like app that supports
>>>>>>>> fullscreen like QuickTime Player.
>>>>>>>> To enter Fullscreen I need to toggle the window-style to a
>>>>>>>> borderless-window, is there any way to do this?
>>>>>>>>
>>>>>>>> So, in Windowed Mode I want to have the normal Window-
>>>>>>>> Titlebar and in fullscreen without.. :)
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Aya
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> MacOSX-dev mailing list
>>>>> <MacOSX-dev...>
>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>
>>>> _______________________________________________
>>>> MacOSX-dev mailing list
>>>> <MacOSX-dev...>
>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>
>>> _______________________________________________
>>> MacOSX-dev mailing list
>>> <MacOSX-dev...>
>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
On Wed, 7 Jan 2009 00:32:25 +0100, Aya Koshigaya <Aya...> wrote:> Mhh okay, but before I test this.. how can I exit the fullscreen or
> kill the app if it isn't working?
IIRC: Command-option-shift-esc will kill the front-most app (even when in
full screen).
--
Enjoy,
George Warner,
Schizophrenic Optimization Scientist
Apple Developer Technical Support (DTS) -
On Jan 6, 2009, at 4:32 PM, Aya Koshigaya wrote:> Mhh okay, but before I test this.. how can I exit the fullscreen or
> kill the app if it isn't working?
> I just don't want to restart my machine again only because I have a
> fullscreen app that I can't close.. :/
>
> Aya~
While you are testing, you could create an NSTimer set for a couple of
minutes that terminates the app.
--Nathan -
On 7 Jan 2009, at 1:00 AM, Cathy Shive wrote:> Hi,
>
> Borderless windows can be the key window - subclass the window and
> implement the method, (BOOL)canBecomeKeyWindow to return YES.
>
That's basically what I'm saying the full screen window class IS
doing, and in fact it's the ONLY override the class makes (but that's
SPI).> Regarding the key event, the view and responder chain. If a view is
> visible, it's in the responder chain by default (assuming you
> haven't done anything weird to the responder chain in the view
> hierarchy).
That's definitely not true. Responder chains go up in the hierarchy
only, they will never go down again. So if the window itself happens
to be its own first responder, your view will never be in the
responder chain.> To get a key event, the view needs to be the "key view" (or a
> superview of the key view, i think).
>> Have you tried just clicking on the view (which will make it the key
> view and first responder) before you try the key input?
Not every view can become key by clicking it, some views even always
refuse to become key. That may be the problem. Though in my test I was
using a direct subclass of NSView that only overrides keyDown:, and it
worked.> If that doesn't work, your window isn't able to become the key
> window, so you need to subclass it like I mentioned.
>
As I said, that's not necessary, as the full screen window already
does that.
Christiaan> HTH,>>>> >. So I advice you to just set up a full screen window yourself.
> Cathy
>
> On Jan 7, 2009, at 12:20 AM, Christiaan Hofman wrote:
>
>> In fact, I just tested Leopards built-in full screen feature
>> myself, and keyDown: WAS called in full screen mode. So probably
>> your view is not in the responder chain (first responder is not
>> necessary). I also confirmed that the full screen window CAN in
>> fact become key (normally a window without title bar can't become
>> key; this is in fact the only way in which the window class for the
>> full screen window differs from NSWindow).
>>
>> Christiaan
>>
>> On 6 Jan 2009, at 11:58 PM, douglas welton wrote:
>>
>>> Make sure that your view is the first responder. Otherwise, the
>>> view will appear to be broken and you might be tempted to call the
>>> view buggy ;^}
>>>
>>> On Jan 6, 2009, at 5:43 PM, Christiaan Hofman wrote:
>>>
>>>> Apparently, the new Leopard API is pretty buggy, see e.g. <http://www.cocoabuilder.com/archive/message/cocoa/2008/4/4/203320>>>> Apart from filing a bug report with Apple.
>>>>
>>>> Christiaan
>>>>
>>>> On 6 Jan 2009, at 11:28 PM, Aya Koshigaya wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> the enterFullScreenMode:withOptions looks fine, thanks.
>>>>> But there's one problem.. as soon as I am entering the
>>>>> Fullscreen with this method, my NSView doesn't handle any key-
>>>>> inputs anymore.. so my:
>>>>>
>>>>> - (void)keyDown: (NSEvent *)theEvent
>>>>>
>>>>> function in my NSView never get's called after entering the
>>>>> fullscreen.. why?
>>>>>
>>>>> Aya~
>>>>>
>>>>> PS: And is there any way to kill a program that's running in
>>>>> fullscreen? Since no keys were handled anymore, I wasn't able to
>>>>> exit the fullscreen... had to reboot :/
>>>>>
>>>>> On Jan 6, 2009, at 22:44, douglas welton wrote:
>>>>>
>>>>>> Hi Aya,
>>>>>>
>>>>>> Check out the "setting a window's appearance" section of the
>>>>>> Window Programming Guide for Cocoa. You might also want to
>>>>>> take a look at NSView's -enterFullScreenMode:withOptions: method.
>>>>>>
>>>>>> Typically what you are trying to do is not something that is
>>>>>> done using Cocoa (there might be a carbon-based solution...i
>>>>>> don't know). What user interaction result are you trying to
>>>>>> accomplish by getting rid of the window's frame?
>>>>>>
>>>>>> regards,
>>>>>>
>>>>>> douglas
>>>>>>
>>>>>> On Jan 6, 2009, at 4:25 PM, Aya Koshigaya wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I haven't found anything about this, so I haven't tried
>>>>>>> anything for real..
>>>>>>> But, I meant the titlebar of the windows, not the menu-bar at
>>>>>>> the top of the screen.
>>>>>>>
>>>>>>> So what I want to do is just a toggle between titlebar'ed
>>>>>>> windows and borderless.. but it seems like the style can only
>>>>>>> be set during the initialisation of the window :(
>>>>>>>
>>>>>>> Aya~
>>>>>>>
>>>>>>>
>>>>>>> On Jan 6, 2009, at 22:11, douglas welton wrote:
>>>>>>>
>>>>>>>> Hi Aya,
>>>>>>>>
>>>>>>>> To give you better quality response could you tell me what
>>>>>>>> you have tried so far. What documentation have you read? Did
>>>>>>>> you do a search of the archives using either the terms
>>>>>>>> "fullscreen" or "borderless window"? (The term "full screen
>>>>>>>> window cocoa" in that Google thing will also produce some
>>>>>>>> similarly appropriate and useful answers.)
>>>>>>>>
>>>>>>>> regards,
>>>>>>>>
>>>>>>>> douglas
>>>>>>>>
>>>>>>>>
>>>>>>>> On Jan 6, 2009, at 3:31 PM, Aya Koshigaya wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I'm developing a mediaplayer-like app that supports
>>>>>>>>> fullscreen like QuickTime Player.
>>>>>>>>> To enter Fullscreen I need to toggle the window-style to a
>>>>>>>>> borderless-window, is there any way to do this?
>>>>>>>>>
>>>>>>>>> So, in Windowed Mode I want to have the normal Window-
>>>>>>>>> Titlebar and in fullscreen without.. :)
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Aya
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> MacOSX-dev mailing list
>>>>>> <MacOSX-dev...>
>>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>>
>>>>> _______________________________________________
>>>>> MacOSX-dev mailing list
>>>>> <MacOSX-dev...>
>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>
>>>> _______________________________________________
>>>> MacOSX-dev mailing list
>>>> <MacOSX-dev...>
>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <MacOSX-dev...>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
> -
Hi,
I tried it again with all the things you told me and added a timer to
terminate the app after 10 seconds..
In windowed mode the timer works fine and kills the app, but in
Fullscreen it doesn#t work too...?!
One thing I forgot to tell, I subclassed NSApplication to handle the
runLoop myself... maybe I missed something there?
This is my implementation of my NSApplication:
- (void)doRunMainLoopUntilDate: (NSDate *)limitDate autoreleasePool:
(NSAutoreleasePool **)pool
{
for (;;) {
NSEvent *event = [self nextEventMatchingMask:NSAnyEventMask
untilDate:limitDate inMode:NSDefaultRunLoopMode dequeue:YES];
if(event == nil)
break;
[self sendEvent:event];
if(![self isRunning])
break;
[*pool release];
*pool = [[NSAutoreleasePool alloc] init];
}
}
- (void)run
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSRunLoop *runLoop = [[NSRunLoop currentRunLoop] retain];
[NSTimer scheduledTimerWithTimeInterval:10.0 target:self
selector:@selector(terminate:) userInfo:nil repeats:NO];
[self finishLaunching];
_running = 1;
while ([self isRunning]) {
// Doing some rendering stuff here.. //
[self doRunMainLoopUntilDate:nil autoreleasePool: &pool];
[pool drain];
pool = [[NSAutoreleasePool alloc] init];
}
[runLoop release];
[pool drain];
}
Any ideas?
Aya~
On Jan 7, 2009, at 01:07, Nathan Kinsinger wrote:> On Jan 6, 2009, at 4:32 PM, Aya Koshigaya wrote:
>
>> Mhh okay, but before I test this.. how can I exit the fullscreen or
>> kill the app if it isn't working?
>> I just don't want to restart my machine again only because I have a
>> fullscreen app that I can't close.. :/
>>
>> Aya~
>
> While you are testing, you could create an NSTimer set for a couple
> of minutes that terminates the app.
>
> --Nathan
>
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev -
On Jan 7, 2009, at 1:17 AM, Christiaan Hofman wrote:>
>> Regarding the key event, the view and responder chain. If a view
>> is visible, it's in the responder chain by default (assuming you
>> haven't done anything weird to the responder chain in the view
>> hierarchy).
>
> That's definitely not true. Responder chains go up in the hierarchy
> only, they will never go down again. So if the window itself happens
> to be its own first responder, your view will never be in the
> responder chain.
The view is indeed in the responder chain, but it needs to become the
window's 'First Responder' (not the key view as I said before -
that's different)- or a superview of the window's First Responder
because, as Christiaan said, the direction of movement through the
Responder Chain in the view hierarchy is *up* the hierarchy, so the
window sends the event to the First Responder (which is typically the
view that was last clicked on) then it goes to its nextResponder
(typically its superview) and so on until it gets to the end.>> Have you tried just clicking on the view (which will make it the
>> key view and first responder) before you try the key input?
>
> Not every view can become key by clicking it, some views even always
> refuse to become key. That may be the problem. Though in my test I
> was using a direct subclass of NSView that only overrides keyDown:,
> and it worked.
>>
That's correct about NSView - I overlooked that. But more relevant is
if the view accepts First Responder status. Take a look at the method
'acceptsFirstResponder' in its superclass, NSResponder. If you want
keyboard events - you should return YES to 'acceptsFirstResponder',
because the view needs to be the first responder to get the event - by
default it returns NO.
I don't know what changes in terms of NSView's default First Responder
status in the fullscreen 'mode', but do you have
'acceptsFirstResponder' implemented in your view to return NO for some
reason? That *could* be the reason that its fullscreen mode isn't
working like Christiaan's test...just thinking out loud.
Best,
Cathy -
The only reason why I am doing this is to render my OpenGL stuff as
fast as possible.. the only other way I found is using a NSTimer, but
that's way to slow.. (In my case I need the fps as fast as possible,
even if you can only see 60fps for real at your monitor.)
So, if there's any other way to do this.. ^^ But in a lot of books and
tutorials everyone say you have to subclass NSApplication and do it on
your own..
Aya
On Jan 7, 2009, at 13:18, Christiaan Hofman wrote:> Ouch, that is messy! I really think you should not do that, and
> changes are close to 100% you're forgetting stuff. IMHO, there's
> something seriously wrong with your application design if you think
> you need this!
>
> Now, if your doing this, I must warn you that you're on your own.
>
> Christiaan
>
> On 7 Jan 2009, at 2:03 AM, Aya Koshigaya wrote:
>
>> Hi,
>>
>> I tried it again with all the things you told me and added a timer
>> to terminate the app after 10 seconds..
>> In windowed mode the timer works fine and kills the app, but in
>> Fullscreen it doesn#t work too...?!
>>
>> One thing I forgot to tell, I subclassed NSApplication to handle
>> the runLoop myself... maybe I missed something there?
>>
>> This is my implementation of my NSApplication:
>>
>>
>> - (void)doRunMainLoopUntilDate: (NSDate *)limitDate
>> autoreleasePool: (NSAutoreleasePool **)pool
>> {
>> for (;;) {
>> NSEvent *event = [self nextEventMatchingMask:NSAnyEventMask
>> untilDate:limitDate inMode:NSDefaultRunLoopMode dequeue:YES];
>> if(event == nil)
>> break;
>>
>> [self sendEvent:event];
>> if(![self isRunning])
>> break;
>>
>> [*pool release];
>> *pool = [[NSAutoreleasePool alloc] init];
>> }
>> }
>>
>> - (void)run
>> {
>> NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
>> NSRunLoop *runLoop = [[NSRunLoop currentRunLoop] retain];
>>
>> [NSTimer scheduledTimerWithTimeInterval:10.0 target:self
>> selector:@selector(terminate:) userInfo:nil repeats:NO];
>>
>> [self finishLaunching];
>> _running = 1;
>> while ([self isRunning]) {
>> // Doing some rendering stuff here.. //
>>
>> [self doRunMainLoopUntilDate:nil autoreleasePool: &pool];
>>
>> [pool drain];
>> pool = [[NSAutoreleasePool alloc] init];
>> }
>> [runLoop release];
>> [pool drain];
>> }
>>
>>
>> Any ideas?
>>
>> Aya~
>>
>> On Jan 7, 2009, at 01:07, Nathan Kinsinger wrote:
>>
>>> On Jan 6, 2009, at 4:32 PM, Aya Koshigaya wrote:
>>>
>>>> Mhh okay, but before I test this.. how can I exit the fullscreen
>>>> or kill the app if it isn't working?
>>>> I just don't want to restart my machine again only because I have
>>>> a fullscreen app that I can't close.. :/
>>>>
>>>> Aya~
>>>
>>> While you are testing, you could create an NSTimer set for a
>>> couple of minutes that terminates the app.
>>>
>>> --Nathan
>>>
>>>
>>> _______________________________________________
>>> MacOSX-dev mailing list
>>> <MacOSX-dev...>
>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <MacOSX-dev...>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
> -
Umh... what should I try comment out?? Sorry I have absolutly no clue
what could be causing the problem..
I could try to switch back to the default NSApplication instead of my
own, yes.. but, there's still this problem that I have to reboot my
machine if it isn't working, and I don't want to reboot my machine
every 5 minutes... -.-
Aya..
On Jan 7, 2009, at 13:29, Christiaan Hofman wrote:> Have you even tried commenting out this stuff to see if it's the
> cause? Seriously, otherwise you have no right to ask these questions!
>
> Christiaan
>
> On 7 Jan 2009, at 1:22 PM, Aya Koshigaya wrote:
>
>> The only reason why I am doing this is to render my OpenGL stuff as
>> fast as possible.. the only other way I found is using a NSTimer,
>> but that's way to slow.. (In my case I need the fps as fast as
>> possible, even if you can only see 60fps for real at your monitor.)
>>
>> So, if there's any other way to do this.. ^^ But in a lot of books
>> and tutorials everyone say you have to subclass NSApplication and
>> do it on your own..
>>
>> Aya
>>
>>
>> On Jan 7, 2009, at 13:18, Christiaan Hofman wrote:
>>
>>> Ouch, that is messy! I really think you should not do that, and
>>> changes are close to 100% you're forgetting stuff. IMHO, there's
>>> something seriously wrong with your application design if you
>>> think you need this!
>>>
>>> Now, if your doing this, I must warn you that you're on your own.
>>>
>>> Christiaan
>>>
>>> On 7 Jan 2009, at 2:03 AM, Aya Koshigaya wrote:
>>>
>>>> Hi,
>>>>
>>>> I tried it again with all the things you told me and added a
>>>> timer to terminate the app after 10 seconds..
>>>> In windowed mode the timer works fine and kills the app, but in
>>>> Fullscreen it doesn#t work too...?!
>>>>
>>>> One thing I forgot to tell, I subclassed NSApplication to handle
>>>> the runLoop myself... maybe I missed something there?
>>>>
>>>> This is my implementation of my NSApplication:
>>>>
>>>>
>>>> - (void)doRunMainLoopUntilDate: (NSDate *)limitDate
>>>> autoreleasePool: (NSAutoreleasePool **)pool
>>>> {
>>>> for (;;) {
>>>> NSEvent *event = [self nextEventMatchingMask:NSAnyEventMask
>>>> untilDate:limitDate inMode:NSDefaultRunLoopMode dequeue:YES];
>>>> if(event == nil)
>>>> break;
>>>>
>>>> [self sendEvent:event];
>>>> if(![self isRunning])
>>>> break;
>>>>
>>>> [*pool release];
>>>> *pool = [[NSAutoreleasePool alloc] init];
>>>> }
>>>> }
>>>>
>>>> - (void)run
>>>> {
>>>> NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
>>>> NSRunLoop *runLoop = [[NSRunLoop currentRunLoop] retain];
>>>>
>>>> [NSTimer scheduledTimerWithTimeInterval:10.0 target:self
>>>> selector:@selector(terminate:) userInfo:nil repeats:NO];
>>>>
>>>> [self finishLaunching];
>>>> _running = 1;
>>>> while ([self isRunning]) {
>>>> // Doing some rendering stuff here.. //
>>>>
>>>> [self doRunMainLoopUntilDate:nil autoreleasePool: &pool];
>>>>
>>>> [pool drain];
>>>> pool = [[NSAutoreleasePool alloc] init];
>>>> }
>>>> [runLoop release];
>>>> [pool drain];
>>>> }
>>>>
>>>>
>>>> Any ideas?
>>>>
>>>> Aya~
>>>>
>>>> On Jan 7, 2009, at 01:07, Nathan Kinsinger wrote:
>>>>
>>>>> On Jan 6, 2009, at 4:32 PM, Aya Koshigaya wrote:
>>>>>
>>>>>> Mhh okay, but before I test this.. how can I exit the
>>>>>> fullscreen or kill the app if it isn't working?
>>>>>> I just don't want to restart my machine again only because I
>>>>>> have a fullscreen app that I can't close.. :/
>>>>>>
>>>>>> Aya~
>>>>>
>>>>> While you are testing, you could create an NSTimer set for a
>>>>> couple of minutes that terminates the app.
>>>>>
>>>>> --Nathan
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> MacOSX-dev mailing list
>>>>> <MacOSX-dev...>
>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>
>>>> _______________________________________________
>>>> MacOSX-dev mailing list
>>>> <MacOSX-dev...>
>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <MacOSX-dev...>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
> -
On 7 Jan 2009, at 1:32 PM, Aya Koshigaya wrote:> Umh... what should I try comment out??
Your NSApplication overrides.> Sorry I have absolutly no clue what could be causing the problem..
That's why you should limit causes, which is YOUR responsibility
BEFORE you ask questions. Especially if it's the elephant in the room
(that only you know about).>
> I could try to switch back to the default NSApplication instead of
> my own, yes.. but, there's still this problem that I have to reboot
> my machine if it isn't working, and I don't want to reboot my
> machine every 5 minutes... -.-
>
> Aya..
>
In a normal app Quit always should work because the application is
always in the action event chain. And Force Quit should ALWAYS work,
unless you put a fullscreen window at CGShieldingWindowLevel (which
therefore you should never do).
Christiaan>
> On Jan 7, 2009, at 13:29, Christiaan Hofman wrote:
>
>> Have you even tried commenting out this stuff to see if it's the
>> cause? Seriously, otherwise you have no right to ask these questions!
>>
>> Christiaan
>>
>> On 7 Jan 2009, at 1:22 PM, Aya Koshigaya wrote:
>>
>>> The only reason why I am doing this is to render my OpenGL stuff
>>> as fast as possible.. the only other way I found is using a
>>> NSTimer, but that's way to slow.. (In my case I need the fps as
>>> fast as possible, even if you can only see 60fps for real at your
>>> monitor.)
>>>
>>> So, if there's any other way to do this.. ^^ But in a lot of books
>>> and tutorials everyone say you have to subclass NSApplication and
>>> do it on your own..
>>>
>>> Aya
>>>
>>>
>>> On Jan 7, 2009, at 13:18, Christiaan Hofman wrote:
>>>
>>>> Ouch, that is messy! I really think you should not do that, and
>>>> changes are close to 100% you're forgetting stuff. IMHO, there's
>>>> something seriously wrong with your application design if you
>>>> think you need this!
>>>>
>>>> Now, if your doing this, I must warn you that you're on your own.
>>>>
>>>> Christiaan
>>>>
>>>> On 7 Jan 2009, at 2:03 AM, Aya Koshigaya wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I tried it again with all the things you told me and added a
>>>>> timer to terminate the app after 10 seconds..
>>>>> In windowed mode the timer works fine and kills the app, but in
>>>>> Fullscreen it doesn#t work too...?!
>>>>>
>>>>> One thing I forgot to tell, I subclassed NSApplication to handle
>>>>> the runLoop myself... maybe I missed something there?
>>>>>
>>>>> This is my implementation of my NSApplication:
>>>>>
>>>>>
>>>>> - (void)doRunMainLoopUntilDate: (NSDate *)limitDate
>>>>> autoreleasePool: (NSAutoreleasePool **)pool
>>>>> {
>>>>> for (;;) {
>>>>> NSEvent *event = [self nextEventMatchingMask:NSAnyEventMask
>>>>> untilDate:limitDate inMode:NSDefaultRunLoopMode dequeue:YES];
>>>>> if(event == nil)
>>>>> break;
>>>>>
>>>>> [self sendEvent:event];
>>>>> if(![self isRunning])
>>>>> break;
>>>>>
>>>>> [*pool release];
>>>>> *pool = [[NSAutoreleasePool alloc] init];
>>>>> }
>>>>> }
>>>>>
>>>>> - (void)run
>>>>> {
>>>>> NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
>>>>> NSRunLoop *runLoop = [[NSRunLoop currentRunLoop] retain];
>>>>>
>>>>> [NSTimer scheduledTimerWithTimeInterval:10.0 target:self
>>>>> selector:@selector(terminate:) userInfo:nil repeats:NO];
>>>>>
>>>>> [self finishLaunching];
>>>>> _running = 1;
>>>>> while ([self isRunning]) {
>>>>> // Doing some rendering stuff here.. //
>>>>>
>>>>> [self doRunMainLoopUntilDate:nil autoreleasePool: &pool];
>>>>>
>>>>> [pool drain];
>>>>> pool = [[NSAutoreleasePool alloc] init];
>>>>> }
>>>>> [runLoop release];
>>>>> [pool drain];
>>>>> }
>>>>>
>>>>>
>>>>> Any ideas?
>>>>>
>>>>> Aya~
>>>>>
>>>>> On Jan 7, 2009, at 01:07, Nathan Kinsinger wrote:
>>>>>
>>>>>> On Jan 6, 2009, at 4:32 PM, Aya Koshigaya wrote:
>>>>>>
>>>>>>> Mhh okay, but before I test this.. how can I exit the
>>>>>>> fullscreen or kill the app if it isn't working?
>>>>>>> I just don't want to restart my machine again only because I
>>>>>>> have a fullscreen app that I can't close.. :/
>>>>>>>
>>>>>>> Aya~
>>>>>>
>>>>>> While you are testing, you could create an NSTimer set for a
>>>>>> couple of minutes that terminates the app.
>>>>>>
>>>>>> --Nathan
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> MacOSX-dev mailing list
>>>>>> <MacOSX-dev...>
>>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>>
>>>>> _______________________________________________
>>>>> MacOSX-dev mailing list
>>>>> <MacOSX-dev...>
>>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>>
>>>
>>> _______________________________________________
>>> MacOSX-dev mailing list
>>> <MacOSX-dev...>
>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>
>
> _______________________________________________
> MacOSX-dev mailing list
> <MacOSX-dev...>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev


