# HG changeset patch # User Jan Dj¸«£rv # Date 1260718768 0 # Node ID 85bf88fe02690d5e919a6a494888ad0a5021d3b1 # Parent e4fa191eaf50c97dc43c582e29286eb561c3121e Set the extended window manager hint for tooltip windows. * xfns.c (x_create_tip_frame): Set the extended window manager hint for tooltip windows. * xterm.h (struct x_display_info): Add Xatom_net_window_type_tooltip and Xatom_net_window_type. * xterm.c (x_term_init): Initialize Xatom_net_window_type_tooltip and Xatom_net_window_type. diff -r e4fa191eaf50 -r 85bf88fe0269 src/ChangeLog --- a/src/ChangeLog Sun Dec 13 14:24:22 2009 +0000 +++ b/src/ChangeLog Sun Dec 13 15:39:28 2009 +0000 @@ -1,5 +1,16 @@ +2009-12-13 Pat Thoyts (tiny change) + + * xfns.c (x_create_tip_frame): Set the extended window manager hint for + tooltip windows. + 2009-12-13 Jan DjƤrv + * xterm.h (struct x_display_info): Add Xatom_net_window_type_tooltip and + Xatom_net_window_type. + + * xterm.c (x_term_init): Initialize Xatom_net_window_type_tooltip and + Xatom_net_window_type. + * xterm.c (my_log_handler): New function. (x_term_init): Set my_log_handler as log handler during gtk_init so we can filter out buggy messages. (bug #5120). diff -r e4fa191eaf50 -r 85bf88fe0269 src/xfns.c --- a/src/xfns.c Sun Dec 13 14:24:22 2009 +0000 +++ b/src/xfns.c Sun Dec 13 15:39:28 2009 +0000 @@ -4825,6 +4825,7 @@ { XSetWindowAttributes attrs; unsigned long mask; + Atom type = FRAME_X_DISPLAY_INFO (f)->Xatom_net_window_type_tooltip; BLOCK_INPUT; mask = CWBackPixel | CWOverrideRedirect | CWEventMask; @@ -4849,6 +4850,10 @@ f->border_width, CopyFromParent, InputOutput, CopyFromParent, mask, &attrs); + XChangeProperty (FRAME_X_DISPLAY (f), tip_window, + FRAME_X_DISPLAY_INFO (f)->Xatom_net_window_type, + XA_ATOM, 32, PropModeReplace, + (unsigned char *)&type, 1); UNBLOCK_INPUT; } diff -r e4fa191eaf50 -r 85bf88fe0269 src/xterm.c --- a/src/xterm.c Sun Dec 13 14:24:22 2009 +0000 +++ b/src/xterm.c Sun Dec 13 15:39:28 2009 +0000 @@ -10445,7 +10445,11 @@ = XInternAtom (dpyinfo->display, "_NET_WM_STATE_MAXIMIZED_VERT", False); dpyinfo->Xatom_net_wm_state_sticky = XInternAtom (dpyinfo->display, "_NET_WM_STATE_STICKY", False); - + dpyinfo->Xatom_net_window_type + = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE", False); + dpyinfo->Xatom_net_window_type_tooltip + = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE_TOOLTIP", False); + dpyinfo->cut_buffers_initialized = 0; dpyinfo->x_dnd_atoms_size = 8; diff -r e4fa191eaf50 -r 85bf88fe0269 src/xterm.h --- a/src/xterm.h Sun Dec 13 14:24:22 2009 +0000 +++ b/src/xterm.h Sun Dec 13 15:39:28 2009 +0000 @@ -355,10 +355,12 @@ size_t x_dnd_atoms_size; size_t x_dnd_atoms_length; - /* Extended window manager hints, Atoms supported by the window manager */ + /* Extended window manager hints, Atoms supported by the window manager and + atoms for settig the window type. */ Atom *net_supported_atoms; int nr_net_supported_atoms; Window net_supported_window; + Atom Xatom_net_window_type, Xatom_net_window_type_tooltip; /* Atoms dealing with maximization and fullscreen */ Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen_atom,