Re: [gtk-osx-users] Feature Request: Gtkmacintegration Native Fullscreen?




On Dec 24, 2013, at 8:36 PM, Joshua Pettus <jshpettus gmail com> wrote:

Hi John Ralls,

Thankyou. Yes, I meant making an OSX app, sorry I was unclear.  Anyway, I realize that GTK has it’s own 
fullscreen mode, but this is about OSX’s fullscreen mode for window based cocoa apps which is really a very 
different beast.  In an actual fullscreen mode, xboard would never be able to scale properly nor take it’s 
supporting windows with it.  But in OSX’s fullscreen it’s like maximizing xboard in it’s own space with a 
nice grey background to remove distractions, and, as I said, it carries it’s supporting windows with it: 
e.g. moves list, engine output, graph, ect. It is already possible to do this with the chpwn’s fullscreen 
SIMBLE hack called maximizer that injects code in every app, but this is system wide and not ideal for 
everybody.  If it were possible to have a fullscreen button in the top right corner of a window lead to the 
GTK fullscreen mode. that might be one thing.  But, in the interest of making it behave more native app, 
and not let it’s GTK roots show as much,  a native solution would be ideal, and might be worth looking into.

Anyway, it’s not a high priority, just something to think about.  Thank-you for your time, and have a Merry 
Christmas!

Please copy the list with all replies. Use "reply all", the double-arrow button Mac Mail.

You're mistaken. gtk_window_fullscreen invokes OSX's fullscreen mode when you use the quartz backend. There 
is of course no way to do that with X11. Just tested it on Gramps to make sure.

What's not supported in Gtk is the ability to call [NSWindow setCollectionBehavior:]. That's at a level below 
which GtkOSXApplication operates as well, so if you want to do that (e.g., to turn on the icon in the 
titlebar or to assign auxiliary windows) you'll have to do so directly in your code. MAC_INTEGRATION is a 
good macro to use to protect that code from other OSes, and you'll need to add -xobjective-c or -XObjC to 
CFLAGS in Makefile.am. You can get an NSWindow* with gdk_quartz_window_get_nswindow(). BTW, I found that 
Gramps's auxiliary windows worked fine in fullscreen mode, but that may be because they are launched from the 
main window. If XBoard's are launched separately you might need to do the extra work of calling 
setCollectionBehavior on them.

BTW, I don't think there's a way to get to full screen mode and see the "grey" (linen in the Lions) 
background. You'll need to have resizeable toplevel that provides a suitable background and draw your board 
in fixed aspect on that window.

Regards,
John Ralls



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]