| Top |
CafeDesktopItem *
cafe_desktop_item_new (void);
Creates a CafeDesktopItem object. The reference count on the returned value is set to '1'.
CafeDesktopItem * cafe_desktop_item_new_from_file (const char *file,CafeDesktopItemLoadFlags flags,GError **error);
This function loads 'file' and turns it into a CafeDesktopItem.
CafeDesktopItem * cafe_desktop_item_new_from_uri (const char *uri,CafeDesktopItemLoadFlags flags,GError **error);
This function loads 'uri' and turns it into a CafeDesktopItem.
CafeDesktopItem * cafe_desktop_item_new_from_string (const char *uri,const char *string,gssize length,CafeDesktopItemLoadFlags flags,GError **error);
This function turns the contents of the string into a CafeDesktopItem.
CafeDesktopItem * cafe_desktop_item_new_from_basename (const char *basename,CafeDesktopItemLoadFlags flags,GError **error);
This function loads 'basename' from a system data directory and returns its CafeDesktopItem.
CafeDesktopItem *
cafe_desktop_item_copy (const CafeDesktopItem *item);
Creates a copy of a CafeDesktopItem. The new copy has a refcount of 1. Note: Section stack is NOT copied.
gboolean cafe_desktop_item_save (CafeDesktopItem *item,const char *under,gboolean force,GError **error);
Writes the specified item to disk. If the 'under' is NULL, the original location is used. It sets the location of this entry to point to the new location.
item |
A desktop item |
|
under |
A new uri (location) for this CafeDesktopItem |
|
force |
Save even if it wasn't modified |
|
error |
GError return |
CafeDesktopItem *
cafe_desktop_item_ref (CafeDesktopItem *item);
Increases the reference count of the specified item.
void
cafe_desktop_item_unref (CafeDesktopItem *item);
Decreases the reference count of the specified item, and destroys the item if there are no more references left.
int cafe_desktop_item_launch (const CafeDesktopItem *item,GList *file_list,CafeDesktopItemLaunchFlags flags,GError **error);
This function runs the program listed in the specified 'item', optionally appending additional arguments to its command line. It uses g_shell_parse_argv to parse the the exec string into a vector which is then passed to g_spawn_async for execution. This can return all the errors from CafeURL, g_shell_parse_argv and g_spawn_async, in addition to it's own. The files are only added if the entry defines one of the standard % strings in it's Exec field.
int cafe_desktop_item_launch_with_env (const CafeDesktopItem *item,GList *file_list,CafeDesktopItemLaunchFlags flags,char **envp,GError **error);
See cafe_desktop_item_launch for a full description. This function additionally passes an environment vector for the child process which is to be launched.
int cafe_desktop_item_launch_on_screen (const CafeDesktopItem *item,GList *file_list,CafeDesktopItemLaunchFlags flags,CdkScreen *screen,int workspace,GError **error);
See cafe_desktop_item_launch for a full description. This function additionally attempts to launch the application on a given screen and workspace.
item |
A desktop item |
|
file_list |
Files/URIs to launch this item with, can be |
|
flags |
FIXME |
|
screen |
the |
|
workspace |
the workspace on which the app should be launched (-1 for current) |
|
error |
FIXME |
int cafe_desktop_item_drop_uri_list (const CafeDesktopItem *item,const char *uri_list,CafeDesktopItemLaunchFlags flags,GError **error);
A list of files or urls dropped onto an icon, the proper (Url or File) exec is run you can pass directly string that you got as the text/uri-list. This just parses the list and calls
int cafe_desktop_item_drop_uri_list_with_env (const CafeDesktopItem *item,const char *uri_list,CafeDesktopItemLaunchFlags flags,char **envp,GError **error);
See cafe_desktop_item_drop_uri_list for a full description. This function additionally passes an environment vector for the child process which is to be launched.
gboolean
cafe_desktop_item_exists (const CafeDesktopItem *item);
Attempt to figure out if the program that can be executed by this item actually exists. First it tries the TryExec attribute to see if that contains a program that is in the path. Then if there is no such attribute, it tries the first word of the Exec attribute.
CafeDesktopItemType
cafe_desktop_item_get_entry_type (const CafeDesktopItem *item);
Gets the type attribute (the 'Type' field) of the item. This should usually be 'Application' for an application, but it can be 'Directory' for a directory description. There are other types available as well. The type usually indicates how the desktop item should be handeled and how the 'Exec' field should be handeled.
void cafe_desktop_item_set_entry_type (CafeDesktopItem *item,CafeDesktopItemType type);
const char *
cafe_desktop_item_get_location (const CafeDesktopItem *item);
void cafe_desktop_item_set_location (CafeDesktopItem *item,const char *location);
Set's the 'location' uri of this item.
void cafe_desktop_item_set_location_file (CafeDesktopItem *item,const char *file);
Set's the 'location' uri of this item to the given file
.
CafeDesktopItemStatus
cafe_desktop_item_get_file_status (const CafeDesktopItem *item);
This function checks the modification time of the on-disk file to see if it is more recent than the in-memory data.
char * cafe_desktop_item_get_icon (const CafeDesktopItem *item,CtkIconTheme *icon_theme);
This function goes and looks for the icon file. If the icon
is not set as an absolute filename, this will look for it in the standard places.
If it can't find the icon, it will return NULL
char * cafe_desktop_item_find_icon (CtkIconTheme *icon_theme,const char *icon,int desired_size,int flags);
This function goes and looks for the icon file. If the icon
is not an absolute filename, this will look for it in the standard places.
If it can't find the icon, it will return NULL
gboolean cafe_desktop_item_attr_exists (const CafeDesktopItem *item,const char *attr);
const char * cafe_desktop_item_get_string (const CafeDesktopItem *item,const char *attr);
void cafe_desktop_item_set_string (CafeDesktopItem *item,const char *attr,const char *value);
const char * cafe_desktop_item_get_attr_locale (const CafeDesktopItem *item,const char *attr);
const char * cafe_desktop_item_get_localestring (const CafeDesktopItem *item,const char *attr);
const char * cafe_desktop_item_get_localestring_lang (const CafeDesktopItem *item,const char *attr,const char *language);
GList * cafe_desktop_item_get_languages (const CafeDesktopItem *item,const char *attr);
void cafe_desktop_item_set_localestring (CafeDesktopItem *item,const char *attr,const char *value);
void cafe_desktop_item_set_localestring_lang (CafeDesktopItem *item,const char *attr,const char *language,const char *value);
void cafe_desktop_item_clear_localestring (CafeDesktopItem *item,const char *attr);
char ** cafe_desktop_item_get_strings (const CafeDesktopItem *item,const char *attr);
void cafe_desktop_item_set_strings (CafeDesktopItem *item,const char *attr,char **strings);
gboolean cafe_desktop_item_get_boolean (const CafeDesktopItem *item,const char *attr);
void cafe_desktop_item_set_boolean (CafeDesktopItem *item,const char *attr,gboolean value);
void cafe_desktop_item_set_launch_time (CafeDesktopItem *item,guint32 timestamp);
void cafe_desktop_item_clear_section (CafeDesktopItem *item,const char *section);
#define CAFE_DESKTOP_ITEM_GENERIC_NAME "GenericName" /* localestring */
#define CAFE_DESKTOP_ITEM_TERMINAL_OPTIONS "TerminalOptions" /* string */