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