On Wed, Nov 20, 2013 at 11:21 PM, Andrej N. Gritsenko <andrej@rep.kiev.ua> wrote:

Jerome Leclanche has written on Monday, 18 November, at 12:33:
>Is this available in pcmanfm-qt when rebuilding with latest libfm?
>J. Leclanche

    Nope. This is in pcmanfm (gtk), because it touches only GUI-related
settings so cannot be in libfm and therefore should be implemented in Qt
separatedly. I'm sorry.

No, I don't completely agree with this idea.
A better approach is modifying fm_app_config_get_config_for_path() to make it more generic. So it can return a GKeyFile instance or something similar instead of hard-coded argument list.Then, this can be put in libfm core.
By making this generic, any GUI implementor can read/write some config values associated with the folder easily. Libfm does not need to know the meaning of the key-value pairs. It just provides APIs to access them.
How to interpret the values is the job of pcmanfm and pcmanfm-qt.
The APIs may looks like the following:

FmFolderConfig* fm_path_dup_folder_config(FmPath* path);
char* fm_folder_config_get_value(FmFolderConfig*, const char* key);
void fm_folder_config_set_value(FmFolderConfig*, const char* key, const char* value);
void fm_folder_config_save(FmFolderConfig* config);
void fm_folder_config_ref(FmFolderConfig* config);
void fm_folder_config_unref(FmFolderConfig* config);

FmFolderConfig is a key-value dictionary object representing folder specific config values. Implementors of the GUIs can use this object to access folder-specific config values by keys they defined.
Inside FmFolderConfig, this can be implemented easily using GKeyFile.
This is more extensible and flexible. Also, the APIs are still useful outside pcmanfm.


    With best regards.