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. [DKF]: In fact, this is currently what you have to do to comply with the standard session protocol. Tk really ought to handle this stuff for you so that you can just set [wm command] when its value changes, and Tk will then take care of the response to the WM_SAVE_YOURSELF message (in the case that you don't want to actually do something like saving a backup file, of course). ---- See also: * [wm command] * [wm client] * [wm] ---- !!!!!! %| [Category Glossary] | [Category GUI] |% !!!!!!