In check_bookmark_file() I think you also need to check that the key actually exists. If the key doesn't exist, you will still see a 'FALSE' value for the gboolean, since the _get_bool() can only return either TRUE or FALSE. If the key doesn't exist, and check_bookmark_file() gets called, it could still create the bookmark, even if it shouldn't.
I also wish the added code to use libsyncdaemon, was done with async code, rather than the synchronous calls being made.
In check_bookmark_ file() I think you also need to check that the key actually exists. If the key doesn't exist, you will still see a 'FALSE' value for the gboolean, since the _get_bool() can only return either TRUE or FALSE. If the key doesn't exist, and check_bookmark_ file() gets called, it could still create the bookmark, even if it shouldn't.
I also wish the added code to use libsyncdaemon, was done with async code, rather than the synchronous calls being made.