The properties of a window are its dominant feature; properties constitute the window type.
There are roughly three groups of properties.
Properties, specified on the command line, are immutable, they cannot be altered through customization. Imutable is a disired restriction for functional and also for some contents related properties.
It should however not being used for properties, which communicate purpose through visual means: Like shape, dimensions, text, icon or colour, such properties better remain customizable.
The ability to customize window properties is implemented through the Option Database in Tcl/Tk.
Example 7.3. Option Database Properties
option add *Button.relief raised option add *b.text "caption" button .b -command do-something
Example 7.3, “Option Database Properties”, uses two Option Database entries to define the same properties as seen in Example 7.2, “Command Line Property”. The »relief« property is uniformly defined for all Button windows, whereas the »text« property is predefined for a single button. The button instance ».b« is present with its pathname and a leading asterisk (*) instead of a leading dot (.). The function »do-something« remains a command line property, because »do-something« is part of the application logic and must be imutable.