Feature #1083

avatar

Do not store application state into configuration

Added by Axel Haustant 3216 days ago. Updated 3213 days ago.

Status:New Start:01/24/2016
Priority:Normal Due date:
Assigned to:avatarMirco 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

avatar
  • 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

avatar

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

avatar

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
And state (which is tied to only one computer):
  • 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

avatar

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

avatar

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...

Also available in: Atom PDF