Well, the good news is that I have a working implementation of "full- screen" mode. It's implemented via a user-callable function called mac-toggle-max-window.
The behavior is as follows: on a per-frame basis, when the function is invoked, the current frame (i.e., the one that has user focus) takes up the entire display. There is no dock, no menu bar, no title bar or resizing controls. It is really *the full screen*. Interactions with Expose, Spaces, use of Cmd-Tab/Cmd-Tilde to switch applications/emacs frames work just fine. When the function is invoked while an already- maximized frame has focus, that frame reverts to its previous position and size. I've also tested this with external displays being connected and disconnected, and maximized frames are automatically un-maximized when external displays go away. This was done to avoid having full-screen frames occupying so much of a lower-resolution display that none of the controls were available. I'd like to make this available after one more pass of code cleanup, but I need a little help with a couple of things. (1) Error handling. There are a number of ways that the Carbon API calls can fail; I haven't experienced any such failures, but I'm not going to rely on that ;). In particular, I'm looking for a clean way to propagate an error up to the emacs user from within the C function; does anyone know of a way to do this? Just showing a string in the minibuffer that describes the nature of the error, or raising an elisp exception (again, from C) of some kind would be acceptable, I think. I can silently handle the errors, but that won't help us debug problems when M-x mac-toggle-full- window doesn't do anything for someone. (2) Submission mechanism. What's the best way to get this into the release? This is actually the first time I've contributed to an open source project; I assume that I can send a modified mac- functions.patch file to someone with the appropriate repo permissions, or obtain those permissions and submit the modified patch file myself. I'll look around for info on this shortly, but figured I'd throw it out there since I had people's attention ;). I'd like to get this out as soon as possible so people can start using it! =) I think it's a really handy feature for folks that live in Emacs, or just want to be free of desktop distractions. Cheers, Joel --~--~---------~--~----~------------~-------~--~----~ Carbon Emacs User Group http://groups.google.com/group/carbon-emacs?hl=en -~----------~----~----~----~------~----~------~--~---
