all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] Set the extended window manager hint for tooltip windows.
@ 2009-12-13 13:02 Pat Thoyts
  2009-12-13 15:40 ` Jan Djärv
  0 siblings, 1 reply; 2+ messages in thread
From: Pat Thoyts @ 2009-12-13 13:02 UTC (permalink / raw
  To: emacs-devel


The extended window manager hints specification provides a window type
hint that indicates the intended use of a window and allows the window
manager to better manage the window decoration and animation. This
patch sets the EWMH type for the emacs tooltip window.

The effect can be seen when using a window manager like compiz that
applies an animation per window type when a different animation is set
for closure of normal and tooltip windows. Using emacs with this patch
applied ensures that tooltips from emacs act just like tooltips from
any other application on the desktop.

2009-12-12  Pat Thoyts <patthoyts@users.sourceforge.net>

	* src/xfns.c: Set the extended window manager hint for
	tooltip windows.

diff --git a/src/xfns.c b/src/xfns.c
index 27d0b02..0143323 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -4849,6 +4849,17 @@ x_create_tip_frame (dpyinfo, parms, text)
 		       f->border_width,
 		       CopyFromParent, InputOutput, CopyFromParent,
 		       mask, &attrs);
+
+    {
+      Atom keyAtom, typeAtom;
+      keyAtom = XInternAtom (FRAME_X_DISPLAY (f),
+			     "_NET_WM_WINDOW_TYPE", False);
+      typeAtom = XInternAtom (FRAME_X_DISPLAY (f),
+			      "_NET_WM_WINDOW_TYPE_TOOLTIP", False);
+      XChangeProperty (FRAME_X_DISPLAY (f), tip_window, keyAtom,
+		       XA_ATOM, 32, PropModeReplace,
+		       (unsigned char *)&typeAtom, 1);
+    }
     UNBLOCK_INPUT;
   }





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] Set the extended window manager hint for tooltip windows.
  2009-12-13 13:02 [PATCH] Set the extended window manager hint for tooltip windows Pat Thoyts
@ 2009-12-13 15:40 ` Jan Djärv
  0 siblings, 0 replies; 2+ messages in thread
From: Jan Djärv @ 2009-12-13 15:40 UTC (permalink / raw
  To: Pat Thoyts; +Cc: emacs-devel

Applied in a slightly different form.

Thanks,

	Jan D.

Pat Thoyts skrev:
> The extended window manager hints specification provides a window type
> hint that indicates the intended use of a window and allows the window
> manager to better manage the window decoration and animation. This
> patch sets the EWMH type for the emacs tooltip window.
> 
> The effect can be seen when using a window manager like compiz that
> applies an animation per window type when a different animation is set
> for closure of normal and tooltip windows. Using emacs with this patch
> applied ensures that tooltips from emacs act just like tooltips from
> any other application on the desktop.
> 
> 2009-12-12  Pat Thoyts <patthoyts@users.sourceforge.net>
> 
> 	* src/xfns.c: Set the extended window manager hint for
> 	tooltip windows.
> 
> diff --git a/src/xfns.c b/src/xfns.c
> index 27d0b02..0143323 100644
> --- a/src/xfns.c
> +++ b/src/xfns.c
> @@ -4849,6 +4849,17 @@ x_create_tip_frame (dpyinfo, parms, text)
>  		       f->border_width,
>  		       CopyFromParent, InputOutput, CopyFromParent,
>  		       mask, &attrs);
> +
> +    {
> +      Atom keyAtom, typeAtom;
> +      keyAtom = XInternAtom (FRAME_X_DISPLAY (f),
> +			     "_NET_WM_WINDOW_TYPE", False);
> +      typeAtom = XInternAtom (FRAME_X_DISPLAY (f),
> +			      "_NET_WM_WINDOW_TYPE_TOOLTIP", False);
> +      XChangeProperty (FRAME_X_DISPLAY (f), tip_window, keyAtom,
> +		       XA_ATOM, 32, PropModeReplace,
> +		       (unsigned char *)&typeAtom, 1);
> +    }
>      UNBLOCK_INPUT;
>    }
> 
> 





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-12-13 15:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-13 13:02 [PATCH] Set the extended window manager hint for tooltip windows Pat Thoyts
2009-12-13 15:40 ` Jan Djärv

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.