Celluloid Player Preferences Storage

Moderator: BarryK

Post Reply
User avatar
OscarTalks
Posts: 623
Joined: Tue Jul 14, 2020 10:11 pm
Location: London UK
Has thanked: 2 times
Been thanked: 247 times

Celluloid Player Preferences Storage

Post by OscarTalks »

BarryK was talking in his blog about Celluloid Media Player and where the preferences for this are stored. I am not totally sure of the mechanism, but I believe this involves the "schemas" thing, with the settings framework written and stored in .xml files in /usr/share/glib-2.0/schemas

I am seeing io.github.celluloid_player.Celluloid.gschema.xml and also io.github.GnomeMpv.gschema.xml in that directory, plus the file gschemas.compiled which I think gets recompiled when any changes are made to the .xml files. Not sure if the file /root/.config/dconf/user is involved in the process or not.
EDIT:- Deleting this file restores settings to default so it would appear that this is where modifications are stored. Reading a bit more it seems that dconf is used as the gsettings backend if there is no Gconf (?).
LATER EDIT:- After close and restart of celluloid, the user set preferences come back unless I killall the dconf-service process as well as deleting the /root/.config/dconf/user data file, so maybe the process holds a backup in memory or something (?).

Notes:-
Celluloid was formerly named GnomeMPV and I think the schemas thing may be part of gnome which is why it is used. Celluloid is a front end for MPV which has its own preferences stored elsewhere as well. I have compiled celluloid-0.19 in FossaPup (some while back) and I was looking in that, rather than in EasyOS, but things should be the same I guess. Others may know more about this than me, feel free to chip in if you do.

User avatar
BarryK
Posts: 2871
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 149 times
Been thanked: 788 times

Re: Celluloid Player Preferences Storage

Post by BarryK »

OscarTalks wrote: Thu Jun 10, 2021 2:03 pm

BarryK was talking in his blog about Celluloid Media Player and where the preferences for this are stored. I am not totally sure of the mechanism, but I believe this involves the "schemas" thing, with the settings framework written and stored in .xml files in /usr/share/glib-2.0/schemas

I am seeing io.github.celluloid_player.Celluloid.gschema.xml and also io.github.GnomeMpv.gschema.xml in that directory, plus the file gschemas.compiled which I think gets recompiled when any changes are made to the .xml files. Not sure if the file /root/.config/dconf/user is involved in the process or not.
EDIT:- Deleting this file restores settings to default so it would appear that this is where modifications are stored. Reading a bit more it seems that dconf is used as the gsettings backend if there is no Gconf (?).
LATER EDIT:- After close and restart of celluloid, the user set preferences come back unless I killall the dconf-service process as well as deleting the /root/.config/dconf/user data file, so maybe the process holds a backup in memory or something (?).

I am running Easy 2.8.1, made a change in celluloid Preferences and saved it. There was no change in /usr/share/glib-2.0, and /root/.config/dconf.

Found it!

The celluloid Preferences are saved in /root/.config/glib-2.0/settings/keyfile. content of this file:

Code: Select all

[org/gtk/settings/file-chooser]
window-position=(0, 0)
window-size=(1503, 1022)
date-format='regular'
location-mode='path-bar'
show-hidden=true
show-size-column=true
show-type-column=true
sidebar-width=187
sort-column='name'
sort-directories-first=false
sort-order='ascending'
type-format='category'

[io/github/celluloid-player/celluloid]
settings-migrated=true
mpv-config-file='/root/.config/mpv/mpv.conf'

[io/github/celluloid-player/celluloid/window-state]
loop-playlist=false
maximized=false
volume=1.0
show-playlist=false
width=640
height=480
playlist-width=250

Thanks for the info.

Post Reply

Return to “EasyOS”