Determines where the geometry of an interface is saved.
capi
top-level-interface-geometry-key interface => key, product-name
interface⇩ |
A top level interface. |
key⇩ |
A symbol. |
product-name⇩ |
A symbol, a string or a list of strings. |
The generic function top-level-interface-geometry-key
returns as multiple values a key and a product name, which determine where the geometry of interface is saved. The saved geometry is used when displaying a future instance.
The supplied method on interface returns the class name of interface as key, and nil
as product-name. You can define methods for your interfaces and products.
product-name is used to derive the product-registry-path.
product-name can be a symbol which was previously defined to have a registry path by (setf sys:product-registry-path)
.
product-name can alternatively be a string, which is taken directly as product-registry-path.
product-name can alternatively be a list of strings, denoting multiple path components. These are concatenated together with the appropriate separator for the platform to give product-registry-path.
The geometry of interface is saved at the path which is constructed by concatenating (with appropriate separators) these values:
user-path product-registry-path "Environment" (symbol-package #KEY) (symbol-name #KEY)
where user-path is the registry branch HKEY_CURRENT_USER on Microsoft Windows and the home directory on other platforms.
Note: for your interface classes for which you want the geometry to be saved, define a method on top-level-interface-save-geometry-p.
Note: in an image delivered at delivery level 5, symbol names are removed by default. This breaks the saved geometry mechanism as the registry path is constructed using symbol-name. To make this work in a level 5 delivered image, explicitly keep the symbol key. See the Delivery User Guide for details.
top-level-interface-save-geometry-p
11.6 Querying and modifying interface geometry
CAPI User Guide and Reference Manual (Unix version) - 01 Dec 2021 19:32:42