comparison src/xterm.h @ 52752:751a01f97570

Make (modify-frame-parameters nil '((top . 0))) work for all types of window managers in X.
author Jan Djärv <jan.h.d@swipnet.se>
date Sun, 05 Oct 2003 11:52:47 +0000
parents 695cf19ef79e
children d08832a11cfd
comparison
equal deleted inserted replaced
52751:5a2170a28c60 52752:751a01f97570
359 /* If non-null, a cache of the colors in the color map. Don't 359 /* If non-null, a cache of the colors in the color map. Don't
360 use this directly, call x_color_cells instead. */ 360 use this directly, call x_color_cells instead. */
361 XColor *color_cells; 361 XColor *color_cells;
362 int ncolor_cells; 362 int ncolor_cells;
363 363
364 /* Bits and shifts to use to compose pixel values on Direct and TrueColor 364 /* Bits and shifts to use to compose pixel values on TrueColor visuals. */
365 visuals. */
366 int red_bits, blue_bits, green_bits; 365 int red_bits, blue_bits, green_bits;
367 int red_offset, blue_offset, green_offset; 366 int red_offset, blue_offset, green_offset;
367
368 /* The type of window manager we have. If we move FRAME_OUTER_WINDOW
369 to x/y 0/0, some window managers (type A) puts the window manager
370 decorations outside the screen and FRAME_OUTER_WINDOW exactly at 0/0.
371 Other window managers (type B) puts the window including decorations
372 at 0/0, so FRAME_OUTER_WINDOW is a bit below 0/0.
373 Record the type of WM in use so we can compensate for type A WMs. */
374 enum
375 {
376 X_WMTYPE_UNKNOWN,
377 X_WMTYPE_A,
378 X_WMTYPE_B
379 } wm_type;
368 }; 380 };
369 381
370 #ifdef HAVE_X_I18N 382 #ifdef HAVE_X_I18N
371 /* Whether or not to use XIM if we have it. */ 383 /* Whether or not to use XIM if we have it. */
372 extern int use_xim; 384 extern int use_xim;
609 621
610 /* Keep track of focus. May be EXPLICIT if we received a FocusIn for this 622 /* Keep track of focus. May be EXPLICIT if we received a FocusIn for this
611 frame, or IMPLICIT if we received an EnterNotify. 623 frame, or IMPLICIT if we received an EnterNotify.
612 FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */ 624 FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
613 int focus_state; 625 int focus_state;
626
627 /* The latest move we made to FRAME_OUTER_WINDOW. Saved so we can
628 compensate for type A WMs (see wm_type in dpyinfo above. */
629 int expected_top;
630 int expected_left;
631
632 /* Nonzero if we have made a move and needs to check if the WM placed us
633 at the right position. */
634 int check_expected_move;
614 }; 635 };
615 636
616 #define No_Cursor (None) 637 #define No_Cursor (None)
617 638
618 enum 639 enum