Mercurial > emacs
view src/s/bsd-common.h @ 112396:e79e716435f4
Make Nextstep port handle multiple screens for resize and move.
* nsterm.h (ns_output): Add dont_constrain and zooming.
(EmacsView): Add ns_userRect.
* nsterm.m (keyDown): If ns_right_alternate_modifier is Qleft, check
if ns_alternate_modifier is none.
* nsterm.m (x_set_offset, windowDidMove): When calculating y, use first
screen, not the window screen.
(x_set_window_size): Remove constraints.
Calculate origin.y only if zooming is 0 and without referring to a
screen.
(windowWillResize): Don't modify frameSize.
(windowDidBecomeKey, mouseDown): Set dont_constrain to 1.
(initFrameFromEmacs): Initialize ns_userRect.
(windowShouldZoom): Set zooming to one. Remove all other code.
(windowWillUseStandardFrame): Move static ns_userRect to EmacsView.
Zero it after restore.
(constrainFrameRect): New method for EmacsWindow.
(mouseDragged): Always post NSWindowDidResizeNotification after call to
windowWillResize.
author | Jan D. <jan.h.d@swipnet.se> |
---|---|
date | Fri, 21 Jan 2011 15:19:44 +0100 |
parents | 61f7601898b1 |
children |
line wrap: on
line source
/* Definitions file for GNU Emacs running on bsd 4.3 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ /* Define symbols to identify the version of Unix this is. Define all the symbols that apply correctly. */ /* We give these symbols the numeric values found in <sys/param.h> to avoid warnings about redefined macros. */ #ifndef BSD4_3 #define BSD4_3 1 #endif /* BSD4_3 */ #ifndef BSD_SYSTEM #define BSD_SYSTEM 43 #endif /* BSD_SYSTEM */ /* For mem-limits.h. */ #define BSD4_2 #define TABDLY OXTABS #define TAB3 OXTABS /* These aren't needed, since we have getloadavg. */ #undef KERNEL_FILE #undef LDAV_SYMBOL #define NO_TERMIO /* If the system's imake configuration file defines `NeedWidePrototypes' as `NO', we must define NARROWPROTO manually. Such a define is generated in the Makefile generated by `xmkmf'. If we don't define NARROWPROTO, we will see the wrong function prototypes for X functions taking float or double parameters. */ #define NARROWPROTO 1 /* SYSTEM_TYPE should indicate the kind of system you are using. It sets the Lisp variable system-type. */ #define SYSTEM_TYPE "berkeley-unix" /* Do not use interrupt_input = 1 by default, because in 4.3 we can make noninterrupt input work properly. */ #undef INTERRUPT_INPUT /* First pty name is /dev/ptyp0. */ #define FIRST_PTY_LETTER 'p' /* Define HAVE_PTYS if the system supports pty devices. */ #define HAVE_PTYS /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ #define HAVE_SOCKETS /* Define CLASH_DETECTION if you want lock files to be written so that Emacs can tell instantly when you try to modify a file that someone else has modified in his Emacs. */ #define CLASH_DETECTION /* The file containing the kernel's symbol table is called /vmunix. */ #define KERNEL_FILE "/vmunix" /* The kernel symbol where the load average is found is named _avenrun. */ #define LDAV_SYMBOL "_avenrun" /* Send signals to subprocesses by "typing" special chars at them. */ #define SIGNALS_VIA_CHARACTERS