<div dir="ltr">On Tue, Aug 13, 2013 at 9:11 AM, Thomas Koch <span dir="ltr"><<a href="mailto:thomas@koch.ro" target="_blank">thomas@koch.ro</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

On Tuesday, December 04, 2012 04:35:12 PM Thomas Koch wrote:<br>
> Some applications store "volatile" config data or "convenience data" like:<br>
><br>
> - last window position<br>
> - recently opened file<br>
> - last time application was run<br>
> - ... you name it<br>
><br>
> Most annoyingly these applications create config files on first run even if<br>
> I won't ever run those apps again! So my home folder accumulates many<br>
> worthless config files.<br>
><br>
> There are many examples of this in the .kde folder.<br>
><br>
> I don't like to really call this data "configuration". It's not<br>
> intentionally set by the user. It has lot less value than "real hand<br>
> crafted configuration" (think .vimrc, .emacs, .zsh, .gnupg/gpg.conf,<br>
> .ssh/config).<br>
><br>
> Do you have an idea for a name for such transient settings? Maybe "state"?<br>
><br>
> I'd really like to have an additional category besides CACHE, DATA, CONFIG<br>
> for this kind of settings. Having config and state mixed is mostly<br>
> annoying if<br>
><br>
> - one keeps config in a VCS (git),<br>
> - an application isn't used anymore but the state data remains<br>
> - configuration is somehow managed centrally and the application doesn't<br>
> read configuration from /etc<br>
<br>
We've had this discussion again at Debconf[1] and discovered that several<br>
people reported this issue on different channels. We agreed that it would make<br>
sense to add a third category STATE which goes into a place of its own.<br>
<br>
We don't think that STATE is the same as CACHE. The "backup test" is not a<br>
good indicator. I could live with loosing the state data in an accident. But I<br>
keep my .cache folder in a tmpfs so that it does not persist across reboots. I<br>
would not like my STATE data to go away with every reboot.<br></blockquote><div><br></div><div>Realistically, that's not feasible. The basedir spec is having a hard enough time being adopted as it is. Say we introduce XDG_STATE_HOME:</div>

<div> - Plenty of apps still create config files on first run, because that's just what they do. </div><div> - One more dotdir for $HOME, at very little benefit.</div><div> - More confusion for developers who want to use the basedir spec. "Does this count as state?" is a question they now have to ask themselves for every single setting.</div>

<div> - Most GUI apps use their toolkit's Settings class. State would have to either be managed separately or be implemented within the toolkit and specified declaratively somehow. Apart from window geometry, nearly none of it would be handled automatically; for the rest it would just be more work.</div>

<div> -> At this point, you're better off saving window geometry state in your WM config.</div><div> -> Falling short, there are ways to manage and clean ~/.config programmatically; that's one of the big bonuses of having this spec. </div>

<div><br></div><div>I've been a big evangelist of the basedir spec and I'm more often than not met with developers who (understandably) flat out refuse to split their config file into a dir, or multiple dirs ("cache is not config", ...). If on top of that you start telling them "But this type of config goes here!", they'll laugh at you.</div>

<div><br></div><div>In short: -1</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
[1] <a href="http://debconf13.debconf.org/" target="_blank">http://debconf13.debconf.org/</a><br>
<br>
Regards, Thomas Koch<br>
_______________________________________________<br>
xdg mailing list<br>
<a href="mailto:xdg@lists.freedesktop.org">xdg@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/xdg" target="_blank">http://lists.freedesktop.org/mailman/listinfo/xdg</a><br>
</blockquote></div><br class=""><br clear="all"><div>J. Leclanche</div><div><br></div></div></div>