Feature #1083
Do not store application state into configuration
Status: | New | Start: | 01/24/2016 | |
Priority: | Normal | Due date: | ||
Assigned to: | Mirco Bauer | % Done: | 0% |
|
Category: | Frontend GNOME | |||
Target version: | - | |||
Complexity: | Low |
|||
Votes: | 0 |
Description
Hi !
Right now, the sate is stored in the [Frontend/GNOME/JoinBar]
and [Frontend/GNOME/Interface]
sections from smuxi-frontend.ini
.
These sections are not configuration but state. SMuxi write them each time I move or resize my window for example.
It makes difficult to version the configuration with a tool like git because the file always change.
Is it possible to store the application state outside smuxi-frontend.ini
? Why not use a separate file or better use dconf/gsettings which are dedicated to this ?
History
Updated by Mirco Bauer 3215 days ago
- Category changed from Frontend to Frontend GNOME
The issue is that any persistent configuration is application state when it gets automatically stored and loaded. Is ignoring that file for your git repo not an option?
Updated by Mirco Bauer 3215 days ago
gconf and dconf are not an option since they are not provided on other platforms like OS X or Windows.
Updated by Axel Haustant 3213 days ago
The main point is to be able to version this file properly, not to exclude it.
For me there is configuration (which I want to backup/version/share between my computers):- engines definitions
- fonts (and styles)
- enabled features
- window position/state
- last choosen engine
- ...
If dconf/gsettings are not an option, maybe a splitted ini file for state is the solution.
By the way, given the separate nature, maybe this ini file shouldn't be in $XDG_CONFIG_HOME
but in $XDG_DATA_HOME
or $XDG_RUNTIME_DIR
Updated by Mirco Bauer 3213 days ago
Axel Haustant wrote:
The main point is to be able to version this file properly, not to exclude it.
For me there is configuration (which I want to backup/version/share between my computers):
- engines definitions
- fonts (and styles)
- enabled features
Those are stored in smuxi-engine.ini
And state (which is tied to only one computer):
- window position/state
- last choosen engine
- ...
Those are stored in the smuxi-frontend.ini
If dconf/gsettings are not an option, maybe a splitted ini file for state is the solution.
This is already the case, the frontend has it's own ini file. Your settings are in smuxi-engine.ini
By the way, given the separate nature, maybe this ini file shouldn't be in
$XDG_CONFIG_HOME
but in$XDG_DATA_HOME
or$XDG_RUNTIME_DIR
Not sure if $XDG_RUNTIME_DIR
survives boot, but $XDG_DATA_HOME
is indeed an option.
Updated by Axel Haustant 3213 days ago
This is already the case, the frontend has it's own ini file. Your settings are in smuxi-engine.ini
Actually I think [Frontend]
and [Frontend/Engines]
and [Frontend/Engines/*]
which are in smuxi-frontend.ini
are configurations.
If I have a good understanding, smuxi-engine.ini
is only used when using smuxi-server.
My goal, is beeing able to have (at least) one headless server running (already the case) and being able to share between the client only the client configuration, aka. engines definitions, fonts/styles, enabled features...