view src/EmacsShell.h @ 5559:f3ab0c29c246

Use a better, more portable approach to the shift-F11 problem. src/ChangeLog addition: 2011-08-28 Aidan Kehoe <kehoea@parhasard.net> * event-Xt.c (x_to_emacs_keysym): Take a new pointer argument, X_KEYSYM_OUT, where we store the X11 keysym that we actually used. * event-Xt.c (x_event_to_emacs_event): Call x_to_emacs_keysym with its new pointer argument, so we have access to the X11 keysym used. When checking whether a keysym obeys caps lock, use the X11 keysym rather than the XEmacs keysym. When checking whether a key has two distinct keysyms depending on whether shift is pressed or not, use the X11 keysym passed back by x_to_emacs_keysym rather than working it out again using XLookupKeysym(). * event-Xt.c (keysym_obeys_caps_lock_p): Use XConvertCase() in this function, now we're receiving the actual X keysym used.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 28 Aug 2011 10:34:54 +0100
parents 308d34e9f07d
children
line wrap: on
line source

/* Emacs shell widget external header file.
   Copyright (C) 1994 Sun Microsystems, Inc.

This file is part of XEmacs.

XEmacs 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.

XEmacs 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 XEmacs.  If not, see <http://www.gnu.org/licenses/>. */

/* Synched up with: Not in FSF. */

/* Written by Ben Wing, May, 1994. */

#ifndef INCLUDED_EmacsShell_h_
#define INCLUDED_EmacsShell_h_

#ifndef XtNwidthCells
#define XtNwidthCells "widthCells"
#endif
#ifndef XtCWidthCells
#define XtCWidthCells "WidthCells"
#endif

#ifndef XtNheightCells
#define XtNheightCells "heightCells"
#endif
#ifndef XtCHeightCells
#define XtCHeightCells "HeightCells"
#endif

#ifndef XtNminWidthCells
#define XtNminWidthCells "minWidthCells"
#endif
#ifndef XtCMinWidthCells
#define XtCMinWidthCells "MinWidthCells"
#endif

#ifndef XtNminHeightCells
#define XtNminHeightCells "minHeightCells"
#endif
#ifndef XtCMinHeightCells
#define XtCMinHeightCells "MinHeightCells"
#endif

typedef struct _TopLevelEmacsShellClassRec *TopLevelEmacsShellWidgetClass;
typedef struct _TopLevelEmacsShellRec *TopLevelEmacsShellWidget;
extern WidgetClass topLevelEmacsShellWidgetClass;

typedef struct _TransientEmacsShellClassRec *TransientEmacsShellWidgetClass;
typedef struct _TransientEmacsShellRec *TransientEmacsShellWidget;
extern WidgetClass transientEmacsShellWidgetClass;

void EmacsShellUpdateSizeHints (Widget gw);
void TopLevelEmacsShellUpdateSizeHints (Widget gw);
void TransientEmacsShellUpdateSizeHints (Widget gw);
void EmacsShellSetSizeUserSpecified (Widget gw);
void EmacsShellSetPositionUserSpecified (Widget gw);
void EmacsShellSmashIconicHint (Widget shell, int iconic_p);

#endif /* INCLUDED_EmacsShell_h_ */