The X11 Inter-Client Communications Conventions Manual [http://tronche.com/gui/x/icccm/] "The ICCCM is generally the M in "RTFM" and is the most-important of the least-read [X] documents." This document specifies how X clients interact with each other. It explains how to use the X selection mechanism, how to interact with the [Window manager] (and what a window manager is), [session management], and how to manage shared resources like the keyboard focus and [colormap]s. The [Tk] toolkit handles most of the ICCCM conventions internally, so as an application writer you don't need to worry about it too much. It's good reading though if you want to know what's ''really'' going on with the clipboard or what happens when you execute ''[selection] get''. ---- This from the Tk Usage FAQ [http://tcl.sourceforge.net/faqs/tk/]: Is Tk fully ICCCM compliant? In short, no. However, it is possible to make Tk more ICCCM compliant through the use of a few [wm] methods. The following are a couple examples which effect window manager interaction: wm command . "$argv0 $argv" wm client . [info hostname] Actually, this does not follow proper list structure. It's better to use: wm command . [linsert $argv 0 $argv0] ---- For compatibility with xsm session manager (comes with X.org X server) and smproxy session proxy, you can define: wm client . [ info hostname ] wm protocol . WM_SAVE_YOURSELF save proc save {} { global argv0 argv ... # Tell smproxy that state saving is finished wm command . [ linsert $argv 0 $argv0 ] } Note that [wm command] used inside the WM_SAVE_YOURSELF handler. ---- See also: * [wm command] * [wm client] * [wm] ---- !!!!!! %| [Category Acronym] | [Category GUI] |% !!!!!!