enlightenment/src/bin/e_remember.h

143 lines
4.6 KiB
C

#ifdef E_TYPEDEFS
E_API extern int E_EVENT_REMEMBER_UPDATE;
E_API extern E_Config_DD *e_remember_edd;
typedef struct E_Event_Remember_Update
{
E_Client *ec;
} E_Event_Remember_Update;
typedef struct _E_Remember E_Remember;
#define E_REMEMBER_VERSION 1
#define E_REMEMBER_MATCH_NAME (1 << 0)
#define E_REMEMBER_MATCH_CLASS (1 << 1)
#define E_REMEMBER_MATCH_TITLE (1 << 2)
#define E_REMEMBER_MATCH_ROLE (1 << 3)
#define E_REMEMBER_MATCH_TYPE (1 << 4)
#define E_REMEMBER_MATCH_TRANSIENT (1 << 5)
#define E_REMEMBER_APPLY_POS (1 << 0)
#define E_REMEMBER_APPLY_SIZE (1 << 1)
#define E_REMEMBER_APPLY_LAYER (1 << 2)
#define E_REMEMBER_APPLY_LOCKS (1 << 3)
#define E_REMEMBER_APPLY_BORDER (1 << 4)
#define E_REMEMBER_APPLY_STICKY (1 << 5)
#define E_REMEMBER_APPLY_DESKTOP (1 << 6)
#define E_REMEMBER_APPLY_SHADE (1 << 7)
#define E_REMEMBER_APPLY_ZONE (1 << 8)
#define E_REMEMBER_APPLY_RUN (1 << 9)
#define E_REMEMBER_APPLY_SKIP_WINLIST (1 << 10)
#define E_REMEMBER_APPLY_SKIP_PAGER (1 << 11)
#define E_REMEMBER_APPLY_SKIP_TASKBAR (1 << 12)
#define E_REMEMBER_APPLY_ICON_PREF (1 << 13)
#define E_REMEMBER_SET_FOCUS_ON_START (1 << 14)
#define E_REMEMBER_APPLY_FULLSCREEN (1 << 15)
#define E_REMEMBER_APPLY_OFFER_RESISTANCE (1 << 16)
#define E_REMEMBER_APPLY_OPACITY (1 << 17)
#define E_REMEMBER_APPLY_UUID (1 << 18)
#define E_REMEMBER_APPLY_VOLUME (1 << 19)
#define E_REMEMBER_INTERNAL_DIALOGS (1 << 0)
#define E_REMEMBER_INTERNAL_FM_WINS (1 << 1)
#else
#ifndef E_REMEMBER_H
#define E_REMEMBER_H
struct _E_Remember
{
unsigned int version;
int match;
int no_reopen;
unsigned char apply_first_only;
unsigned char keep_settings;
int used_count;
const char *name;
const char *class;
const char *title;
const char *role;
int type;
unsigned char transient;
int apply;
int max_score;
struct
{
int pos_x, pos_y;
int res_x, res_y;
int pos_w, pos_h;
int w, h;
int frame_w, frame_h;
int layer;
unsigned int maximize; //just direction
unsigned char lock_user_location;
unsigned char lock_client_location;
unsigned char lock_user_size;
unsigned char lock_client_size;
unsigned char lock_user_stacking;
unsigned char lock_client_stacking;
unsigned char lock_user_iconify;
unsigned char lock_client_iconify;
unsigned char lock_user_desk;
unsigned char lock_client_desk;
unsigned char lock_user_sticky;
unsigned char lock_client_sticky;
unsigned char lock_user_shade;
unsigned char lock_client_shade;
unsigned char lock_user_maximize;
unsigned char lock_client_maximize;
unsigned char lock_user_fullscreen;
unsigned char lock_client_fullscreen;
unsigned char lock_border;
unsigned char lock_close;
unsigned char lock_focus_in;
unsigned char lock_focus_out;
unsigned char lock_life;
const char *border;
unsigned char sticky;
unsigned char shaded;
unsigned char fullscreen;
unsigned char skip_winlist;
unsigned char skip_pager;
unsigned char skip_taskbar;
unsigned char icon_preference;
unsigned char offer_resistance;
int desk_x, desk_y;
int zone;
const char *command;
const char *desktop_file;
unsigned char opacity;
int volume;
int volume_min;
int volume_max;
unsigned char mute;
} prop;
Eina_Stringshare *uuid;
int pid;
Eina_Bool applying E_BITFIELD;
};
EINTERN int e_remember_init(E_Startup_Mode mode);
EINTERN int e_remember_shutdown(void);
E_API E_Remember *e_remember_new(void);
E_API int e_remember_usable_get(E_Remember *rem);
E_API void e_remember_use(E_Remember *rem);
E_API void e_remember_unuse(E_Remember *rem);
E_API void e_remember_del(E_Remember *rem);
E_API E_Remember *e_remember_find(E_Client *ec);
E_API E_Remember *e_remember_find_usable(E_Client *ec);
E_API E_Remember *e_remember_sr_find(E_Client *ec);
E_API void e_remember_match_update(E_Remember *rem);
E_API void e_remember_update(E_Client *ec);
E_API int e_remember_default_match_set(E_Remember *rem, E_Client *ec);
E_API void e_remember_internal_save(void);
E_API void e_remember_apply(E_Remember *rem, E_Client *ec);
#endif
#endif