<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE TIP SYSTEM "http://www.tcl.tk/cgi-bin/tct/tip/tipxml.dtd">
<!-- Converted at Sun Feb 12 12:10:08 GMT 2012 -->
<!-- TIP AutoGenerator - written by Donal K. Fellows -->

<TIP number='359'>
<header><title>Extended Window Manager Hint Support</title><author address="mailto:patthoyts@users.sourceforge.net">Pat Thoyts</author><status type='project' state='final' tclversion="8.6" vote='after'>$Revision: 1.7 $</status><history></history><created day='21' month='dec' year='2009' /><keyword>Tk X11 ewmh {window manager}</keyword></header>
<abstract>The <emph style="bold">wm attributes</emph> command will be extended to accept a <emph style="bold">-type</emph> option when running on the X Window system to manipulate the extended window manager hints for Tk toplevel windows.</abstract>
<body><section title="Rationale">
<para>This enhancement will enable script-level support for setting the extended window manager hints for Tk toplevel windows as specified in [<url ref="http://standards.freedesktop.org/wm-spec/wm-spec-latest.html"/>]. The <emph style="bold">_NET_WM_WINDOW_TYPE</emph> hint is used to provide information to the window manager about the intended use of a window so that appropriate decoration and animation can be applied. Specific examples of this include the dropdown listbox used with <emph style="bold">ttk::combobox</emph>, <emph style="bold">tooltips</emph>, splash screens and application dialog windows. Menus also need the type hint set appropriately but this has already been handled in the C code in recent commits.</para>
</section>
<section title="Specification">
<para>The <emph style="bold">wm attributes</emph> command for the X11 windowing system will have a new X11 platform-specific <emph style="bold">-type</emph> option which will return the current list of <emph style="bold">_NET_WM_WINDOW_TYPE</emph> atoms set for this <emph style="bold">toplevel</emph> or allow the list to be modified. The set of possible window type names is unconstrained to permit compatibility with future versions of the specification. However the window type names at the script level will be all lower-case and exclude any <emph style="bold">_NET_WM_WINDOW_TYPE_</emph> prefix.</para>
<para>As specified in the freedesktop.org document, the property is a list of hints with the types specified in order of preference as window managers may not implement some types. When setting a hint, the provided name is converted to upper-case, appended to <emph style="bold">_NET_WM_WINDOW_TYPE_</emph> and converted to an atom. This permits new hints that may be specified in the future to be handled without modification to Tk.</para>
<para>The Tk library scripts will set the type for all dialogs created by library functions and will set the combo hint for the <emph style="bold">ttk::combobox</emph> dropdown listbox.</para>
<para>This feature is actually needed on 8.5 as well. Under compiz Tk window are inappropriately animated. The <emph style="bold">combobox</emph> dropdown in particular tends to bounce on Ubuntu.</para>
</section>
<section title="Reference Implementation">
<para>A patch is available at [<url ref="https://sourceforge.net/support/tracker.php?aid=2918731"/>].</para>
</section>
<section title="Copyright">
<para>This document has been placed in the public domain.</para>
</section>
</body></TIP>

