I have continued (and maybe finished?) making the full-screen functionality in Carbon Emacs compatible with the X port. For those who didn't read the previous thread: Per Seiji's suggestion, the patch disposes of the mac-toggle-max-window command and instead ties the full-screen mode to the frame parameter 'fullscreen, like the X port:
(set-frame-parameter nil 'fullscreen 'fullboth) (set-frame-parameter nil 'fullscreen 'fullheight) (set-frame-parameter nil 'fullscreen 'fullwidth) (set-frame-parameter nil 'fullscreen nil) The new patch and a build (for easy testing) are here: http://www.ljosa.com/~ljosa/carbonemacs/fullscreen-patch-20080603.diff http://www.ljosa.com/~ljosa/carbonemacs/fullscreen-20080603.dmg The new version differs from my previous attempt in the following ways: * Properly restores the original size of the window and the menu bar when leaving full-screen mode. (This would sometimes break in my previous patch, e.g., when the frame parameter went nil -> 'fullboth -> 'fullheight -> nil.) * Keeps the menu bar and title bar in 'fullwidth and 'fullheight mode. * Cleaner and shorter code; uses the frame parameter 'fullscreen-saved-state to store the original frame position and size. * Turns off the menu bar only for frames on the main display. (Thanks, David!) * Turns off the menu bar only for frames in 'fullboth mode (so you can now have multiple frames, some in 'fullboth mode and some not, without problems). Seiji, I know you suggested hiding the menu bar for all frames when one frame is in full-screen mode, but try the current patch. I think you will like the way it handles the menu bar, which is consistent both with the GTK port of Emacs and with various Mac applications. Vebjorn --~--~---------~--~----~------------~-------~--~----~ Carbon Emacs User Group http://groups.google.com/group/carbon-emacs?hl=en -~----------~----~----~----~------~----~------~--~---