Object Hierarchy:

GLib.BookmarkFile GLib.BookmarkFile GLib.BookmarkFile


[ Compact ]
[ Version ( since = "2.12" ) ]
[ CCode ( copy_function = "g_bookmark_file_copy" , free_function = "g_bookmark_file_free" , type_id = "G_TYPE_BOOKMARK_FILE" ) ]
public class BookmarkFile

`GBookmarkFile` lets you parse, edit or create files containing bookmarks.

Bookmarks refer to a URI, along with some meta-data about the resource pointed by the URI like its MIME type, the application that is registering the bookmark and the icon that should be used to represent the bookmark. The data is stored using the Desktop Bookmark Specification.

The syntax of the bookmark files is described in detail inside the Desktop Bookmark Specification, here is a quick summary: bookmark files use a sub-class of the XML Bookmark Exchange Language specification, consisting of valid UTF-8 encoded XML, under the `<xbel>` root element; each bookmark is stored inside a `<bookmark>` element, using its URI: no relative paths can be used inside a bookmark file. The bookmark may have a user defined title and description, to be used instead of the URI. Under the `<metadata>` element, with its owner attribute set to ``, is stored the meta-data about a resource pointed by its URI. The meta-data consists of the resource's MIME type; the applications that have registered a bookmark; the groups to which a bookmark belongs to; a visibility flag, used to set the bookmark as "private" to the applications and groups that has it registered; the URI and MIME type of an icon, to be used when displaying the bookmark inside a GUI.

Here is an example of a bookmark file: bookmarks.xbel

A bookmark file might contain more than one bookmark; each bookmark is accessed through its URI.

The important caveat of bookmark files is that when you add a new bookmark you must also add the application that is registering it, using [ method@GLib.BookmarkFile.add_application] or [method@GLib.BookmarkFile.set_application_info]. If a bookmark has no applications then it won't be dumped when creating the on disk representation, using [method@GLib.BookmarkFile.to_data] or [method@GLib.BookmarkFile.to_file].

Namespace: GLib
Package: glib-2.0


Creation methods: