Summary: | put state configuration in a file separate from ~/.clawsrc | ||
---|---|---|---|
Product: | Claws Mail (GTK 2) | Reporter: | Dieter Plaetinck <dieter> |
Component: | Other | Assignee: | users |
Status: | NEW --- | ||
Severity: | enhancement | ||
Priority: | P3 | ||
Version: | 3.7.6 | ||
Hardware: | PC | ||
OS: | Linux |
Description
Dieter Plaetinck
2010-08-09 14:04:43 UTC
You can do it yourself, imagine for example a wrapper for claws-mail: cd ~/.claws-mail/ # not really needed, just to avoid long paths below :) test -f shareable || ./split-cm-rc clawsrc shareable local # first time ./merge-cm-rc shareable local > clawsrc /usr/bin/claws-mail ./split-cm-rc ./clawsrc ./shareable ./local This way you only need to sync shareable. Of course creating the split and merge scripts is left to you. I think perl and python have good ways to deal with ini-style files like clawsrc. I think he has a point, though. Having state saving cruft and config options at the same place is not ideal. What is state and what is config depends on user's usage of the variables, and surely whatever division you make somebody could argue the opposite because of their own reasons. Windows positions can be state for people with different screen sizes across desktops, but can be config for people with same screen sizes across desktops. Other could want positions to be config but sizes to be state... If the point exists, it's very weak :) @Ricardo: as you can see in my original post, I make the difference based on what the user explictly configures vs what claws does on its own. Nowhere in claws is there a configuration setting for "make the claws window this big, or put it the window in this location". It just happens automatically. There is no way to be sure if the user considers this information state or configuration. I see your point, but I don't see the problem with it. If a user considers window size or position to be configuration then he will have no problem with the suggested approach anyway, and he can just commit the file into his VCS (if he uses a VCS) Alternatively, you could make a checkbox in the claws configuration like "store window size/position into configuration?" if the user selects yes, you know he explicitly wants to track it in his config. if the user selects no, you can consider it state information and track it in the separate file |