/window superclass /close { % -- mapped { @icon null eq { /icon newobject /@icon exch promote @icon addslave } if /map @icon send unmap } if } def /owner_close { % -- @icon null ne { /unmap @icon send } if unmap } def