Hi,
I'll just take this opportunity to ask if w32-send-sys-command could be
added, so that I can maximize XEmacs on windows. I've been running with
this since it was posted May 3rd 2005, and haven't had any issues. I
installed XEmacs on a new machine today, which of course didn't include the
patch.
I've yanked John Paul Wallington's mail to xemacs-patches 2005-05-03 below
for any commiters convenience.
Pretty please?
-- René
How about the following builtin which does the same as Emacs'
`w32-send-sys-command' ?
2005-05-02 John Paul Wallington <jpw(a)pobox.com>
* frame-msw.c (Fmswindows_send_sys_command): New builtin.
(syms_of_frame_mswindows): Defsubr it.
diff -c c:\build\xemacs-21.5\src\frame-msw.c~ c:\build\xemacs-21.5\src\frame-msw.c
*** c:\build\xemacs-21.5\src\frame-msw.c~ 2005-05-02 13:57:06.046875000 +0100
--- c:\build\xemacs-21.5\src\frame-msw.c 2005-05-02 13:57:06.078125000 +0100
***************
*** 792,797 ****
--- 792,821 ----
return IsZoomed (FRAME_MSWINDOWS_HANDLE (f));
}
+ DEFUN ("mswindows-send-sys-command", Fmswindows_send_sys_command, 1, 2, 0, /*
+ Send FRAME a Windows WM_SYSCOMMAND message of type COMMAND.
+ Some useful values for COMMAND are #xf030 to maximize frame and #xf020
+ to minimize it, #xf120 to restore frame to original size, and #xf100
+ to activate the menubar for keyboard access. #xf140 activates the
+ screen saver if defined. #xf130 activates the Start Menu.
+
+ If FRAME is not specified, the selected frame will be used.
+ */
+ (command, frame))
+ {
+ if (NILP (frame))
+ frame = Fselected_frame (Qnil);
+ CHECK_LIVE_FRAME (frame);
+ CHECK_INT (command);
+
+ qxePostMessage (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)), WM_SYSCOMMAND,
+ XINT (command), 0);
+
+ return Qnil;
+ }
+
+
+
/*---------------------------------------------------------------------*/
/*----- PRINTER FRAME -----*/
/*---------------------------------------------------------------------*/
***************
*** 1158,1163 ****
--- 1182,1188 ----
void
syms_of_frame_mswindows (void)
{
+ DEFSUBR (Fmswindows_send_sys_command);
}
void