Git init
[platform/core/uifw/e17.git] / src / bin / e_remember.h
1 #ifdef E_TYPEDEFS
2
3 typedef struct _E_Remember E_Remember;
4
5 #define E_REMEMBER_MATCH_NAME (1 << 0)
6 #define E_REMEMBER_MATCH_CLASS (1 << 1)
7 #define E_REMEMBER_MATCH_TITLE (1 << 2)
8 #define E_REMEMBER_MATCH_ROLE (1 << 3)
9 #define E_REMEMBER_MATCH_TYPE (1 << 4)
10 #define E_REMEMBER_MATCH_TRANSIENT (1 << 5)
11
12 #define E_REMEMBER_APPLY_POS (1 << 0)
13 #define E_REMEMBER_APPLY_SIZE (1 << 1)
14 #define E_REMEMBER_APPLY_LAYER (1 << 2)
15 #define E_REMEMBER_APPLY_LOCKS (1 << 3)
16 #define E_REMEMBER_APPLY_BORDER (1 << 4)
17 #define E_REMEMBER_APPLY_STICKY (1 << 5)
18 #define E_REMEMBER_APPLY_DESKTOP (1 << 6)
19 #define E_REMEMBER_APPLY_SHADE (1 << 7)
20 #define E_REMEMBER_APPLY_ZONE (1 << 8)
21 #define E_REMEMBER_APPLY_RUN (1 << 9)
22 #define E_REMEMBER_APPLY_SKIP_WINLIST (1 << 10)
23 #define E_REMEMBER_APPLY_SKIP_PAGER (1 << 11)
24 #define E_REMEMBER_APPLY_SKIP_TASKBAR (1 << 12)
25 #define E_REMEMBER_APPLY_ICON_PREF (1 << 13)
26 #define E_REMEMBER_SET_FOCUS_ON_START (1 << 14)
27 #define E_REMEMBER_APPLY_FULLSCREEN (1 << 15)
28 #define E_REMEMBER_APPLY_OFFER_RESISTANCE (1 << 16)
29
30 #define E_REMEMBER_INTERNAL_DIALOGS   (1 << 0)
31 #define E_REMEMBER_INTERNAL_FM_WINS   (1 << 1)
32
33 #else
34 #ifndef E_REMEMBER_H
35 #define E_REMEMBER_H
36
37 struct _E_Remember
38 {
39    int            match;
40    unsigned char  apply_first_only;
41    unsigned char  keep_settings;
42    int            used_count;
43    const char    *name;
44    const char    *class;
45    const char    *title;
46    const char    *role;
47    int            type;
48    unsigned char  transient;
49    int            apply;
50    int            max_score;
51    struct 
52      {
53         int           pos_x, pos_y;
54         int           res_x, res_y;
55         int           pos_w, pos_h;
56         int           w, h;      
57         int           layer;
58
59         unsigned char lock_user_location; 
60         unsigned char lock_client_location; 
61         unsigned char lock_user_size; 
62         unsigned char lock_client_size; 
63         unsigned char lock_user_stacking; 
64         unsigned char lock_client_stacking; 
65         unsigned char lock_user_iconify; 
66         unsigned char lock_client_iconify; 
67         unsigned char lock_user_desk;
68         unsigned char lock_client_desk;
69         unsigned char lock_user_sticky; 
70         unsigned char lock_client_sticky; 
71         unsigned char lock_user_shade; 
72         unsigned char lock_client_shade; 
73         unsigned char lock_user_maximize; 
74         unsigned char lock_client_maximize; 
75         unsigned char lock_user_fullscreen; 
76         unsigned char lock_client_fullscreen; 
77         unsigned char lock_border; 
78         unsigned char lock_close; 
79         unsigned char lock_focus_in; 
80         unsigned char lock_focus_out; 
81         unsigned char lock_life;
82
83         const char   *border;
84
85         unsigned char sticky;
86         unsigned char shaded;
87         unsigned char fullscreen;
88         unsigned char skip_winlist;
89         unsigned char skip_pager;
90         unsigned char skip_taskbar;
91         unsigned char icon_preference;
92         unsigned char offer_resistance;
93       
94         int           desk_x, desk_y;
95         int           zone;
96         int           head;
97         const char   *command;
98         const char   *desktop_file;
99      } prop;
100 };
101
102 EINTERN int          e_remember_init(E_Startup_Mode mode);
103 EINTERN int          e_remember_shutdown(void);
104 EAPI E_Remember  *e_remember_new(void);
105 EAPI int          e_remember_usable_get(E_Remember *rem);
106 EAPI void         e_remember_use(E_Remember *rem);
107 EAPI void         e_remember_unuse(E_Remember *rem);
108 EAPI void         e_remember_del(E_Remember *rem);
109 EAPI E_Remember  *e_remember_find(E_Border *bd);
110 EAPI E_Remember  *e_remember_find_usable(E_Border *bd);
111 EAPI void         e_remember_match_update(E_Remember *rem);
112 EAPI void         e_remember_update(E_Border *bd);
113 EAPI int          e_remember_default_match_set(E_Remember *rem, E_Border *bd);
114 EAPI void         e_remember_internal_save(void);
115 #endif
116 #endif