forked from enlightenment/enlightenment
86 lines
2.2 KiB
C
86 lines
2.2 KiB
C
#ifndef E_MOD_MAIN_H
|
|
#define E_MOD_MAIN_H
|
|
|
|
#include "e.h"
|
|
|
|
E_API extern E_Module_Api e_modapi;
|
|
|
|
E_API void *e_modapi_init(E_Module *m);
|
|
E_API int e_modapi_shutdown(E_Module *m);
|
|
E_API int e_modapi_save(E_Module *m);
|
|
|
|
typedef struct _Instance Instance;
|
|
typedef struct _Context_Notifier_Host Context_Notifier_Host;
|
|
typedef struct _Instance_Notifier_Host Instance_Notifier_Host;
|
|
typedef struct _Notifier_Item Notifier_Item;
|
|
typedef struct _Systray_Context Systray_Context;
|
|
typedef struct Systray_Config Systray_Config;
|
|
|
|
struct _E_Config_Dialog_Data
|
|
{
|
|
};
|
|
|
|
struct _Systray_Context
|
|
{
|
|
Systray_Config *config;
|
|
E_Config_DD *conf_edd;
|
|
E_Config_DD *notifier_item_edd;
|
|
};
|
|
|
|
struct _Instance
|
|
{
|
|
E_Gadcon_Client *gcc;
|
|
Evas *evas;
|
|
Instance_Notifier_Host *notifier;
|
|
Eina_List *icons;
|
|
Ecore_Timer *fill_timer;
|
|
struct {
|
|
Evas_Object *gadget;
|
|
} ui;
|
|
struct {
|
|
Ecore_Job *size_apply;
|
|
} job;
|
|
};
|
|
|
|
typedef struct Notifier_Item_Cache
|
|
{
|
|
Eina_Stringshare *path;
|
|
} Notifier_Item_Cache;
|
|
|
|
struct Systray_Config
|
|
{
|
|
Eina_Stringshare *dbus;
|
|
Eina_Hash *items;
|
|
};
|
|
|
|
const E_Gadcon *systray_gadcon_get(const Instance *inst);
|
|
void systray_size_updated(Instance *inst);
|
|
Evas_Object *systray_edje_get(const Instance *inst);
|
|
void systray_edje_box_append(Instance *inst, Evas_Object *child);
|
|
void systray_edje_box_remove(Instance *inst, Evas_Object *child);
|
|
void systray_edje_box_prepend(Instance *inst, Evas_Object *child);
|
|
|
|
Instance_Notifier_Host *systray_notifier_host_new(Instance *inst, E_Gadcon *gadcon);
|
|
void systray_notifier_host_fill(Instance_Notifier_Host *host_inst);
|
|
void systray_notifier_host_free(Instance_Notifier_Host *notifier);
|
|
void systray_notifier_host_init(void);
|
|
void systray_notifier_host_shutdown(void);
|
|
|
|
|
|
EINTERN Systray_Context *systray_ctx_get(void);
|
|
extern Instance *instance;
|
|
/**
|
|
* @addtogroup Optional_Gadgets
|
|
* @{
|
|
*
|
|
* @defgroup Module_Systray Systray (System Icons Tray)
|
|
*
|
|
* Shows system icons in a box.
|
|
*
|
|
* The icons come from the FreeDesktop.Org systray specification.
|
|
*
|
|
* @see http://standards.freedesktop.org/systemtray-spec/systemtray-spec-latest.html
|
|
* @}
|
|
*/
|
|
#endif
|