Re: Tk 8.5.11 fullscreen broken on MacOS X 10.7 Lion?
- From: Kevin Walzer <kw@xxxxxxxxxxxxxxx>
- Date: Tue, 31 Jan 2012 23:10:38 -0500
On 1/28/12 10:49 PM, Jerry Orjuela wrote:
Is there something else that has to be specified for Lion that I've
missed, or is this a known problem?
After a lot of experimentation, I've concluded that there isn't a feasible fix to the issue, for several reasons:
1. It's not a Lion-specific issue, it's a Cocoa-specific issue. Cocoa (the preferred UI framework for Apple) doesn't allow as much flexibility in changing window styles as did Carbon (the deprecated Apple UI that Tk Aqua was originally built on). As a result, Tk can no longer change the window style on the fly to a borderless, full-screen window--the current implementation is the best it can do with manual drawing. The difference you are seeing is the difference between Carbon and Cocoa Tk.
2. I've looked at a few different alternative API's, but they are either poorly supported, cf. NSView enterFullScreenMode:screen withOptions:], or they are Lion-specific, cf. [NSWindow toggleFullScreen], which works well for resizing the window BUT doesn't play nice with Tk's internal sense of window state (is it fullscreen or not)? Additionally, I am reluctant to use a 10.7 Lion-only API because Tk-Cocoa's minimum version is 10.5, Leopard.
I'm sorry that I wasn't able to put together a fix for this issue. I've spent several hours on it, partly because I have been meaning to experiment with the shiny new full-screen API in Lion--it's pretty slick the way the window animates out to full-screen and back with just a few lines of code. But getting this to actually work well with Tk's internals was giving me nothing but headaches.
As a result, I'm going to have to leave it as is, because it's the only working implementation, even though it doesn't work as well as we'd like. Cocoa has many advantages over Carbon, and it was absolutely necessary for Tk to adapt to Apple's preferred API (a thousand kudos to Daniel Steffen for his heroic solo work on the port), but there are some areas where the Cocoa implementation has limitations that the Carbon version did not. This is one of them.
--Kevin
--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
.
- Follow-Ups:
- Re: Tk 8.5.11 fullscreen broken on MacOS X 10.7 Lion?
- From: Christian Gollwitzer
- Re: Tk 8.5.11 fullscreen broken on MacOS X 10.7 Lion?
- Prev by Date: Re: Tcl 8.5 & Vim's Tcl interface
- Next by Date: kudos to comp.lang.tcl
- Previous by thread: Re: Tcl 8.5 & Vim's Tcl interface
- Next by thread: Re: Tk 8.5.11 fullscreen broken on MacOS X 10.7 Lion?
- Index(es):
Relevant Pages
|