Mercurial > emacs
changeset 46075:39e3c9d9b655
(struct x_output): Add focus_state.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Fri, 28 Jun 2002 19:41:21 +0000 |
parents | 9bdcd2b36fbd |
children | 819af351608b |
files | src/xterm.h |
diffstat | 1 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xterm.h Fri Jun 28 18:50:36 2002 +0000 +++ b/src/xterm.h Fri Jun 28 19:41:21 2002 +0000 @@ -618,6 +618,11 @@ these may differ because this does not take into account possible menubar. y_pixels_diff is with menubar height included */ int y_pixels_outer_diff; + + /* Keep track of focus. May be EXPLICIT if we received a FocusIn for this + frame, or IMPLICIT if we received an EnterNotify. + FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */ + int focus_state; }; enum @@ -631,6 +636,19 @@ FULLSCREEN_MOVE_WAIT = 8, }; +enum +{ + /* Values for focus_state, used as bit mask. + EXPLICIT means if we received a FocusIn for the frame and know it has + the focus. IMPLICIT means we recevied an EnterNotify and the frame + may have the focus if no window manager is running. + FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */ + FOCUS_NONE = 0, + FOCUS_IMPLICIT = 1, + FOCUS_EXPLICIT = 2 +}; + + /* Return the X window used for displaying data in frame F. */ #define FRAME_X_WINDOW(f) ((f)->output_data.x->window_desc)