1 #ifdef E_TYPEDEFS 2 3 E_API extern int E_EVENT_REMEMBER_UPDATE; 4 E_API extern E_Config_DD *e_remember_edd; 5 typedef struct E_Event_Remember_Update 6 { 7 E_Client *ec; 8 } E_Event_Remember_Update; 9 typedef struct _E_Remember E_Remember; 10 11 #define E_REMEMBER_VERSION 1 12 13 #define E_REMEMBER_MATCH_NAME (1 << 0) 14 #define E_REMEMBER_MATCH_CLASS (1 << 1) 15 #define E_REMEMBER_MATCH_TITLE (1 << 2) 16 #define E_REMEMBER_MATCH_ROLE (1 << 3) 17 #define E_REMEMBER_MATCH_TYPE (1 << 4) 18 #define E_REMEMBER_MATCH_TRANSIENT (1 << 5) 19 20 #define E_REMEMBER_APPLY_POS (1 << 0) 21 #define E_REMEMBER_APPLY_SIZE (1 << 1) 22 #define E_REMEMBER_APPLY_LAYER (1 << 2) 23 #define E_REMEMBER_APPLY_LOCKS (1 << 3) 24 #define E_REMEMBER_APPLY_BORDER (1 << 4) 25 #define E_REMEMBER_APPLY_STICKY (1 << 5) 26 #define E_REMEMBER_APPLY_DESKTOP (1 << 6) 27 #define E_REMEMBER_APPLY_SHADE (1 << 7) 28 #define E_REMEMBER_APPLY_ZONE (1 << 8) 29 #define E_REMEMBER_APPLY_RUN (1 << 9) 30 #define E_REMEMBER_APPLY_SKIP_WINLIST (1 << 10) 31 #define E_REMEMBER_APPLY_SKIP_PAGER (1 << 11) 32 #define E_REMEMBER_APPLY_SKIP_TASKBAR (1 << 12) 33 #define E_REMEMBER_APPLY_ICON_PREF (1 << 13) 34 #define E_REMEMBER_SET_FOCUS_ON_START (1 << 14) 35 #define E_REMEMBER_APPLY_FULLSCREEN (1 << 15) 36 #define E_REMEMBER_APPLY_OFFER_RESISTANCE (1 << 16) 37 #define E_REMEMBER_APPLY_OPACITY (1 << 17) 38 #define E_REMEMBER_APPLY_UUID (1 << 18) 39 #define E_REMEMBER_APPLY_VOLUME (1 << 19) 40 41 #define E_REMEMBER_INTERNAL_DIALOGS (1 << 0) 42 #define E_REMEMBER_INTERNAL_FM_WINS (1 << 1) 43 44 #else 45 #ifndef E_REMEMBER_H 46 #define E_REMEMBER_H 47 48 struct _E_Remember 49 { 50 unsigned int version; 51 int match; 52 int no_reopen; 53 unsigned char apply_first_only; 54 unsigned char keep_settings; 55 int used_count; 56 const char *name; 57 const char *class; 58 const char *title; 59 const char *role; 60 int type; 61 unsigned char transient; 62 int apply; 63 int max_score; 64 struct 65 { 66 int pos_x, pos_y; 67 int res_x, res_y; 68 int pos_w, pos_h; 69 int w, h; 70 int frame_w, frame_h; 71 int layer; 72 unsigned int maximize; //just direction 73 74 unsigned char lock_user_location; 75 unsigned char lock_client_location; 76 unsigned char lock_user_size; 77 unsigned char lock_client_size; 78 unsigned char lock_user_stacking; 79 unsigned char lock_client_stacking; 80 unsigned char lock_user_iconify; 81 unsigned char lock_client_iconify; 82 unsigned char lock_user_desk; 83 unsigned char lock_client_desk; 84 unsigned char lock_user_sticky; 85 unsigned char lock_client_sticky; 86 unsigned char lock_user_shade; 87 unsigned char lock_client_shade; 88 unsigned char lock_user_maximize; 89 unsigned char lock_client_maximize; 90 unsigned char lock_user_fullscreen; 91 unsigned char lock_client_fullscreen; 92 unsigned char lock_border; 93 unsigned char lock_close; 94 unsigned char lock_focus_in; 95 unsigned char lock_focus_out; 96 unsigned char lock_life; 97 98 const char *border; 99 100 unsigned char sticky; 101 unsigned char shaded; 102 unsigned char fullscreen; 103 unsigned char skip_winlist; 104 unsigned char skip_pager; 105 unsigned char skip_taskbar; 106 unsigned char icon_preference; 107 unsigned char offer_resistance; 108 109 int desk_x, desk_y; 110 int zone; 111 const char *command; 112 const char *desktop_file; 113 unsigned char opacity; 114 115 int volume; 116 int volume_min; 117 int volume_max; 118 unsigned char mute; 119 } prop; 120 Eina_Stringshare *uuid; 121 int pid; 122 Eina_Bool applying E_BITFIELD; 123 }; 124 125 EINTERN int e_remember_init(E_Startup_Mode mode); 126 EINTERN int e_remember_shutdown(void); 127 E_API E_Remember *e_remember_new(void); 128 E_API int e_remember_usable_get(E_Remember *rem); 129 E_API void e_remember_use(E_Remember *rem); 130 E_API void e_remember_unuse(E_Remember *rem); 131 E_API void e_remember_del(E_Remember *rem); 132 E_API E_Remember *e_remember_find(E_Client *ec); 133 E_API E_Remember *e_remember_find_usable(E_Client *ec); 134 E_API E_Remember *e_remember_sr_find(E_Client *ec); 135 E_API void e_remember_match_update(E_Remember *rem); 136 E_API void e_remember_update(E_Client *ec); 137 E_API int e_remember_default_match_set(E_Remember *rem, E_Client *ec); 138 E_API void e_remember_internal_save(void); 139 140 E_API void e_remember_apply(E_Remember *rem, E_Client *ec); 141 #endif 142 #endif 143