--- rxvt-unicode/src/rxvt.h 2005/01/17 00:59:23 1.140 +++ rxvt-unicode/src/rxvt.h 2005/02/19 01:07:58 1.150 @@ -21,6 +21,10 @@ #include "iom.h" #include "salloc.h" +#if ENABLE_FRILLS +# define ENABLE_XEMBED 1 +#endif + /* ***************************************************************************** * SYSTEM HACKS @@ -82,17 +86,23 @@ * PROTOTYPES ***************************************************************************** */ +// main.C RETSIGTYPE rxvt_Child_signal (int sig); RETSIGTYPE rxvt_Exit_signal (int sig); void rxvt_clean_exit (); void * rxvt_malloc (size_t size); void * rxvt_calloc (size_t number, size_t size); void * rxvt_realloc (void *ptr, size_t size); +void rxvt_privileges (rxvt_privaction action); + +// util.C char * rxvt_wcstombs (const wchar_t *str, int len = -1); wchar_t * rxvt_mbstowcs (const char *str, int len = -1); char * rxvt_wcstoutf8 (const wchar_t *str, int len = -1); wchar_t * rxvt_utf8towcs (const char *str, int len = -1); char * rxvt_strdup (const char *str); + +// misc.C char * rxvt_r_basename (const char *str); void rxvt_vlog (const char *fmt, va_list arg_ptr); void rxvt_log (const char *fmt,...); @@ -109,8 +119,6 @@ void rxvt_Draw_Shadow (Display *display, Window win, GC topShadow, GC botShadow, int x, int y, int w, int h); void rxvt_Draw_Triangle (Display *display, Window win, GC topShadow, GC botShadow, int x, int y, int w, int type); -void rxvt_privileges (rxvt_privaction action); - /* ***************************************************************************** * STRUCTURES AND TYPEDEFS @@ -175,6 +183,29 @@ } MWMHints; #endif +#if ENABLE_XEMBED +// XEMBED messages +# define XEMBED_EMBEDDED_NOTIFY 0 +# define XEMBED_WINDOW_ACTIVATE 1 +# define XEMBED_WINDOW_DEACTIVATE 2 +# define XEMBED_REQUEST_FOCUS 3 +# define XEMBED_FOCUS_IN 4 +# define XEMBED_FOCUS_OUT 5 +# define XEMBED_FOCUS_NEXT 6 +# define XEMBED_FOCUS_PREV 7 + +# define XEMBED_MODALITY_ON 10 +# define XEMBED_MODALITY_OFF 11 +# define XEMBED_REGISTER_ACCELERATOR 12 +# define XEMBED_UNREGISTER_ACCELERATOR 13 +# define XEMBED_ACTIVATE_ACCELERATOR 14 + +// XEMBED detail code +# define XEMBED_FOCUS_CURRENT 0 +# define XEMBED_FOCUS_FIRST 1 +# define XEMBED_FOCUS_LAST 2 +#endif + /* ***************************************************************************** * NORMAL DEFINES @@ -565,8 +596,9 @@ Rs_scrollBar_right, Rs_scrollBar_floating, Rs_scrollBar_align, -#endif Rs_scrollstyle, /* Rs_scrollBar_style */ + Rs_scrollBar_thickness, +#endif Rs_scrollTtyOutput, Rs_scrollTtyKeypress, Rs_scrollWithBuffer, @@ -604,10 +636,11 @@ Rs_ext_bwidth, Rs_int_bwidth, Rs_borderLess, -#endif - Rs_scrollBar_thickness, -#if ENABLE_FRILLS Rs_lineSpace, + Rs_pty_fd, +#endif +#if ENABLE_XEMBED + Rs_embed, #endif Rs_cutchars, Rs_modifier, @@ -618,6 +651,7 @@ Rs_pointerBlank, Rs_pointerBlankDelay, Rs_imLocale, + Rs_imFont, Rs_pastableTabs, #ifndef NO_SECONDARY_SCREEN Rs_secondaryScreen, @@ -642,7 +676,8 @@ XA_TIMESTAMP, XA_VT_SELECTION, XA_INCR, - XA_WMDELETEWINDOW, + XA_WM_PROTOCOLS, + XA_WM_DELETE_WINDOW, XA_CLIPBOARD, #if ENABLE_FRILLS XA_NET_WM_PID, @@ -661,6 +696,9 @@ XA_DNDPROTOCOL, XA_DNDSELECTION, #endif +#if ENABLE_XEMBED + XA_XEMBED, +#endif NUM_XA }; @@ -697,9 +735,9 @@ priv_modes &= ~(bit) #ifdef ALLOW_132_MODE -# define PrivMode_Default (PrivMode_Autowrap|PrivMode_aplKP|PrivMode_ShiftKeys|PrivMode_VisibleCursor|PrivMode_132OK) +# define PrivMode_Default (PrivMode_Autowrap|PrivMode_ShiftKeys|PrivMode_VisibleCursor|PrivMode_132OK) #else -# define PrivMode_Default (PrivMode_Autowrap|PrivMode_aplKP|PrivMode_ShiftKeys|PrivMode_VisibleCursor) +# define PrivMode_Default (PrivMode_Autowrap|PrivMode_ShiftKeys|PrivMode_VisibleCursor) #endif // do not change these constants lightly, there are many interdependencies @@ -760,6 +798,8 @@ #define strchr(x, y) strchr((const char *)(x), (int)(y)) #define strrchr(x, y) strrchr((const char *)(x), (int)(y)) +#define dDisp Display *disp = display->display + /* convert pixel dimensions to row/column values. Everything as int32_t */ #define Pixel2Col(x) Pixel2Width((int32_t)(x)) #define Pixel2Row(y) Pixel2Height((int32_t)(y)) @@ -867,13 +907,6 @@ # define XPMClearArea(a, b, c, d, e, f, g) #endif -#ifndef STRICT_FONT_CHECKING -# define rxvt_get_fontwidest(font) ((font)->max_bounds.width) -#endif - -#define rxvt_Gr_ButtonPress(x,y) rxvt_Gr_ButtonReport (R, 'P',(x),(y)) -#define rxvt_Gr_ButtonRelease(x,y) rxvt_Gr_ButtonReport (R, 'R',(x),(y)) - #ifdef UTMP_SUPPORT # if !defined(RXVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX) # undef HAVE_UTMPX_H @@ -1231,7 +1264,7 @@ #endif - void sig_term (sig_watcher &w); sig_watcher sw_term; + void sig_term (sig_watcher &w); sig_watcher sw_term, sw_int; void sig_chld (sig_watcher &w); sig_watcher sw_chld; void x_cb (XEvent &xev); @@ -1284,6 +1317,7 @@ rxvt_term (); ~rxvt_term (); void destroy (); + void emergency_cleanup (); bool init (int argc, const char *const *argv); bool init_vars (); @@ -1347,6 +1381,8 @@ void mouse_report (XButtonEvent &ev); void button_press (XButtonEvent &ev); void button_release (XButtonEvent &ev); + void focus_in (); + void focus_out (); int check_our_parents (); #ifdef PRINTPIPE FILE *popen_printer (); @@ -1517,7 +1553,7 @@ void get_options (int argc, const char *const *argv); int parse_keysym (const char *str, const char *arg); void get_xdefaults (FILE *stream, const char *name); - void extract_resources (Display *display, const char *name); + void extract_resources (); // xpm.C int scale_pixmap (const char *geom); void resize_pixmap ();