Metacity has a directory ~/.metacity which it uses to store session state. When you log out of GNOME, Metacity stores away a bunch of data about the windows of session-managed applications so that when they start up again it can attempt to restore them. (For example, if you were running Epiphany maximised when you logged out, you probably want it to come up maximised when you log back in.) This is how it’s been done since the early days.
It has been pointed out in GNOME bug 518596 that using ~/.metacity for this purpose is contrary to the freedesktop specifications. This would mean that everyone’s home directory was slightly less cluttered. bkor and others are suggesting making this a Gnome Goal across the whole system.
The question then arises whether session state is a “config” or a “cache” file within the meaning of that specification. Window placement is “non-essential” and to some extent temporary, so perhaps it’s “cache”. On the other hand, it’s not information that can be regenerated with greater effort and is stored to save the trouble, and it is used in configuration, so perhaps it’s “config”. I am writing this post to ask you your opinions on the matter and to lazyweb for prior art.
If we do decide it’s cache, it’s possible we could avoid searching ~/.metacity if the file isn’t in ~/.cache/metacity. That’s good, because that step would stay with us for ever, and I doubt most people keep useful session management files around for more than a few months.