2005-02-07 05:51:09 -08:00
|
|
|
/*
|
|
|
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
|
|
|
*/
|
2005-01-12 08:03:09 -08:00
|
|
|
#ifdef E_TYPEDEFS
|
2004-11-24 19:37:45 -08:00
|
|
|
|
|
|
|
typedef enum _E_App_Change
|
|
|
|
{
|
|
|
|
E_APP_ADD,
|
|
|
|
E_APP_DEL,
|
|
|
|
E_APP_CHANGE,
|
|
|
|
E_APP_ORDER,
|
|
|
|
E_APP_EXEC,
|
|
|
|
E_APP_READY,
|
|
|
|
E_APP_EXIT
|
|
|
|
} E_App_Change;
|
|
|
|
|
|
|
|
typedef struct _E_App E_App;
|
|
|
|
|
2005-01-12 08:03:09 -08:00
|
|
|
#else
|
|
|
|
#ifndef E_APPS_H
|
|
|
|
#define E_APPS_H
|
|
|
|
|
2005-01-21 22:58:34 -08:00
|
|
|
#define E_APP_TYPE 0xE0b01001
|
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
struct _E_App
|
|
|
|
{
|
2005-02-21 08:21:13 -08:00
|
|
|
E_Object e_obj_inherit;
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
E_App *parent; /* the parent e_app node */
|
2005-04-19 08:11:45 -07:00
|
|
|
E_App *orig; /* if this is a copy, point to the original */
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
char *name; /* app name */
|
|
|
|
char *generic; /* generic app name */
|
|
|
|
char *comment; /* a longer description */
|
|
|
|
char *exe; /* command to execute, NULL if directory */
|
2005-07-30 00:46:05 -07:00
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
char *path; /* path to .eet containing icons etc. etc. */
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
char *win_name; /* window name */
|
|
|
|
char *win_class; /* window class */
|
2005-06-30 21:09:30 -07:00
|
|
|
char *win_title; /* window title */
|
2005-06-30 21:41:34 -07:00
|
|
|
char *win_role; /* window role */
|
2005-07-30 00:46:05 -07:00
|
|
|
|
|
|
|
char *icon_class; /* icon_class */
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
Evas_List *subapps; /* if this a directory, a list of more E_App's */
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
Evas_List *instances; /* a list of all the exe handles for executions */
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
Evas_List *references; /* If this app is in a main repository, this would
|
|
|
|
be a list to other eapp pointing to this */
|
|
|
|
|
|
|
|
Ecore_File_Monitor *monitor; /* Check for changes and files */
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
unsigned char startup_notify : 1; /* disable while starting etc. */
|
|
|
|
unsigned char wait_exit : 1; /* wait for app to exit before execing next */
|
|
|
|
unsigned char starting : 1; /* this app is starting */
|
|
|
|
|
|
|
|
unsigned char scanned : 1; /* have we scanned a subdir app yet */
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
unsigned char deleted : 1; /* this app's file is deleted from disk */
|
2004-11-24 19:37:45 -08:00
|
|
|
};
|
|
|
|
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI int e_app_init(void);
|
|
|
|
EAPI int e_app_shutdown(void);
|
|
|
|
|
2005-02-21 08:21:13 -08:00
|
|
|
EAPI E_App *e_app_new(const char *path, int scan_subdirs);
|
|
|
|
EAPI int e_app_is_parent(E_App *parent, E_App *app);
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI void e_app_subdir_scan(E_App *a, int scan_subdirs);
|
|
|
|
EAPI int e_app_exec(E_App *a);
|
|
|
|
EAPI int e_app_starting_get(E_App *a);
|
|
|
|
EAPI int e_app_running_get(E_App *a);
|
2005-05-03 06:44:43 -07:00
|
|
|
EAPI void e_app_prepend_relative(E_App *add, E_App *before);
|
|
|
|
EAPI void e_app_append(E_App *add, E_App *parent);
|
2005-06-10 14:26:50 -07:00
|
|
|
EAPI void e_app_files_prepend_relative(Evas_List *files, E_App *before);
|
|
|
|
EAPI void e_app_files_append(Evas_List *files, E_App *parent);
|
2005-05-03 10:27:42 -07:00
|
|
|
EAPI void e_app_remove(E_App *remove);
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI void e_app_change_callback_add(void (*func) (void *data, E_App *a, E_App_Change ch), void *data);
|
|
|
|
EAPI void e_app_change_callback_del(void (*func) (void *data, E_App *a, E_App_Change ch), void *data);
|
2004-12-02 02:07:51 -08:00
|
|
|
|
2005-06-30 21:41:34 -07:00
|
|
|
EAPI E_App *e_app_window_name_class_title_role_find(char *name, char *class, char *title, char *role);
|
2005-06-02 01:25:14 -07:00
|
|
|
EAPI E_App *e_app_file_find(char *file);
|
|
|
|
EAPI E_App *e_app_name_find(char *name);
|
|
|
|
EAPI E_App *e_app_generic_find(char *generic);
|
|
|
|
EAPI E_App *e_app_exe_find(char *exe);
|
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
#endif
|
2005-01-12 08:03:09 -08:00
|
|
|
#endif
|