3 typedef enum _E_Icon_Preference
10 typedef enum _E_Direction
18 typedef enum _E_Transition
20 E_TRANSITION_LINEAR = 0,
21 E_TRANSITION_SINUSOIDAL = 1,
22 E_TRANSITION_ACCELERATE = 2,
23 E_TRANSITION_DECELERATE = 3,
24 E_TRANSITION_ACCELERATE_LOTS = 4,
25 E_TRANSITION_DECELERATE_LOTS = 5,
26 E_TRANSITION_SINUSOIDAL_LOTS = 6,
27 E_TRANSITION_BOUNCE = 7,
28 E_TRANSITION_BOUNCE_LOTS = 8
31 typedef enum _E_Stacking
38 typedef enum _E_Focus_Policy
45 typedef enum _E_Focus_Setting
50 E_FOCUS_NEW_DIALOG_IF_OWNER_FOCUSED,
51 #ifdef _F_FOCUS_WINDOW_IF_TOP_STACK_
52 E_FOCUS_NEW_WINDOW_IF_TOP_STACK
56 typedef enum _E_Maximize
58 E_MAXIMIZE_NONE = 0x00000000,
59 E_MAXIMIZE_FULLSCREEN = 0x00000001,
60 E_MAXIMIZE_SMART = 0x00000002,
61 E_MAXIMIZE_EXPAND = 0x00000003,
62 E_MAXIMIZE_FILL = 0x00000004,
63 E_MAXIMIZE_TYPE = 0x0000000f,
64 E_MAXIMIZE_VERTICAL = 0x00000010,
65 E_MAXIMIZE_HORIZONTAL = 0x00000020,
66 E_MAXIMIZE_BOTH = 0x00000030,
67 E_MAXIMIZE_LEFT = 0x00000070,
68 E_MAXIMIZE_RIGHT = 0x000000b0,
69 #ifdef _F_USE_BOTTOM_TOP_MAXIMIZE
70 E_MAXIMIZE_BOTTOM = 0x00000130,
71 E_MAXIMIZE_TOP = 0x00000230,
72 E_MAXIMIZE_DIRECTION = 0x00000ff0
74 E_MAXIMIZE_DIRECTION = 0x000000f0
78 typedef enum _E_Fullscreen
82 /* Change screen resoultion and resize window */
86 typedef enum _E_Window_Placement
88 E_WINDOW_PLACEMENT_SMART,
89 E_WINDOW_PLACEMENT_ANTIGADGET,
90 E_WINDOW_PLACEMENT_CURSOR,
91 E_WINDOW_PLACEMENT_MANUAL
94 typedef enum _E_Border_Hook_Point
96 E_BORDER_HOOK_EVAL_PRE_FETCH,
97 E_BORDER_HOOK_EVAL_PRE_POST_FETCH,
98 E_BORDER_HOOK_EVAL_POST_FETCH,
99 E_BORDER_HOOK_EVAL_PRE_BORDER_ASSIGN,
100 E_BORDER_HOOK_EVAL_POST_BORDER_ASSIGN,
101 E_BORDER_HOOK_EVAL_PRE_NEW_BORDER,
102 E_BORDER_HOOK_EVAL_POST_NEW_BORDER,
103 E_BORDER_HOOK_EVAL_END,
104 E_BORDER_HOOK_CONTAINER_LAYOUT,
105 E_BORDER_HOOK_NEW_BORDER,
106 E_BORDER_HOOK_SET_DESK,
107 E_BORDER_HOOK_MOVE_BEGIN,
108 E_BORDER_HOOK_MOVE_UPDATE,
109 E_BORDER_HOOK_MOVE_END,
110 E_BORDER_HOOK_RESIZE_BEGIN,
111 E_BORDER_HOOK_RESIZE_UPDATE,
112 E_BORDER_HOOK_RESIZE_END,
113 #ifdef _F_BORDER_HOOK_PATCH_
114 E_BORDER_HOOK_DEL_BORDER,
116 #ifdef _F_ZONE_WINDOW_ROTATION_
117 E_BORDER_HOOK_ROTATION_LIST_ADD,
119 } E_Border_Hook_Point;
121 #ifdef _F_ZONE_WINDOW_ROTATION_
122 typedef enum _E_Virtual_Keyboard_Window_Type
124 E_VIRTUAL_KEYBOARD_WINDOW_TYPE_NONE = 0,
125 E_VIRTUAL_KEYBOARD_WINDOW_TYPE_KEYPAD = 1,
126 E_VIRTUAL_KEYBOARD_WINDOW_TYPE_PREDICTION = 2,
127 E_VIRTUAL_KEYBOARD_WINDOW_TYPE_MAGNIFIER = 3,
128 E_VIRTUAL_KEYBOARD_WINDOW_TYPE_POPUP = 4,
129 } E_Virtual_Keyboard_Window_Type;
131 typedef enum _E_Border_Rotation_Type
133 E_BORDER_ROTATION_TYPE_NORMAL = 0,
134 E_BORDER_ROTATION_TYPE_DEPENDENT = 1
135 } E_Border_Rotation_Type;
138 typedef struct _E_Border E_Border;
139 typedef struct _E_Border_Pending_Move_Resize E_Border_Pending_Move_Resize;
140 typedef struct _E_Border_Hook E_Border_Hook;
141 typedef struct _E_Event_Border_Simple E_Event_Border_Resize;
142 typedef struct _E_Event_Border_Simple E_Event_Border_Move;
143 typedef struct _E_Event_Border_Simple E_Event_Border_Add;
144 typedef struct _E_Event_Border_Simple E_Event_Border_Remove;
145 typedef struct _E_Event_Border_Simple E_Event_Border_Show;
146 typedef struct _E_Event_Border_Simple E_Event_Border_Hide;
147 typedef struct _E_Event_Border_Simple E_Event_Border_Iconify;
148 typedef struct _E_Event_Border_Simple E_Event_Border_Uniconify;
149 typedef struct _E_Event_Border_Simple E_Event_Border_Stick;
150 typedef struct _E_Event_Border_Simple E_Event_Border_Unstick;
151 typedef struct _E_Event_Border_Zone_Set E_Event_Border_Zone_Set;
152 typedef struct _E_Event_Border_Desk_Set E_Event_Border_Desk_Set;
153 typedef struct _E_Event_Border_Stack E_Event_Border_Stack;
154 typedef struct _E_Event_Border_Simple E_Event_Border_Icon_Change;
155 typedef struct _E_Event_Border_Simple E_Event_Border_Urgent_Change;
156 typedef struct _E_Event_Border_Simple E_Event_Border_Focus_In;
157 typedef struct _E_Event_Border_Simple E_Event_Border_Focus_Out;
158 typedef struct _E_Event_Border_Simple E_Event_Border_Property;
159 typedef struct _E_Event_Border_Simple E_Event_Border_Fullscreen;
160 typedef struct _E_Event_Border_Simple E_Event_Border_Unfullscreen;
161 #ifdef _F_ZONE_WINDOW_ROTATION_
162 typedef struct _E_Event_Border_Simple E_Event_Border_Rotation; /* deprecated */
163 typedef struct _E_Event_Border_Simple E_Event_Border_Rotation_Change_Begin;
164 typedef struct _E_Event_Border_Simple E_Event_Border_Rotation_Change_Cancel;
165 typedef struct _E_Event_Border_Simple E_Event_Border_Rotation_Change_End;
167 typedef void (*E_Border_Move_Intercept_Cb)(E_Border *, int x, int y);
172 #define E_BORDER_TYPE (int)0xE0b01002
176 E_Object e_obj_inherit;
184 } current, last_down[3], last_up[3];
219 Ecore_Evas *bg_ecore_evas;
221 Ecore_X_Window bg_win;
222 Evas_Object *bg_object;
223 Evas_Object *icon_object;
224 Ecore_X_Window event_win;
225 const char *internal_icon;
226 const char *internal_icon_key;
227 Eina_Bool bg_evas_in : 1;
231 Ecore_X_Window shell_win;
238 unsigned char changed : 1;
239 unsigned char user_selected : 1;
243 unsigned char shaped : 1;
244 unsigned char argb : 1;
252 const char *icon_name;
258 int start_x, start_y;
259 double min_aspect, max_aspect;
260 Ecore_X_Window_State_Hint initial_state;
261 Ecore_X_Window_State_Hint state;
262 Ecore_X_Pixmap icon_pixmap;
263 Ecore_X_Pixmap icon_mask;
264 Ecore_X_Window icon_window;
265 Ecore_X_Window window_group;
266 Ecore_X_Window transient_for;
267 Ecore_X_Window client_leader;
268 Ecore_X_Gravity gravity;
269 const char *window_role;
270 unsigned char take_focus : 1;
271 unsigned char accepts_focus : 1;
272 unsigned char urgent : 1;
273 unsigned char delete_request : 1;
274 unsigned char request_pos : 1;
282 unsigned char title : 1;
283 unsigned char name_class : 1;
284 unsigned char icon_name : 1;
285 unsigned char machine : 1;
286 unsigned char hints : 1;
287 unsigned char size_pos_hints : 1;
288 unsigned char protocol : 1;
289 unsigned char transient_for : 1;
290 unsigned char client_leader : 1;
291 unsigned char window_role : 1;
292 unsigned char state : 1;
293 unsigned char command : 1;
300 Ecore_X_MWM_Hint_Func func;
301 Ecore_X_MWM_Hint_Decor decor;
302 Ecore_X_MWM_Hint_Input input;
303 unsigned char exists : 1;
304 unsigned char borderless : 1;
307 unsigned char hints : 1;
315 unsigned int desktop;
317 const char *icon_name;
320 unsigned int user_time;
336 unsigned char ping : 1;
339 unsigned char request : 1;
341 Ecore_X_Sync_Alarm alarm;
342 Ecore_X_Sync_Counter counter;
347 /* NetWM Window state */
350 unsigned char modal : 1;
351 unsigned char sticky : 1;
352 unsigned char maximized_v : 1;
353 unsigned char maximized_h : 1;
354 unsigned char shaded : 1;
355 unsigned char skip_taskbar : 1;
356 unsigned char skip_pager : 1;
357 unsigned char hidden : 1;
358 unsigned char fullscreen : 1;
362 /* NetWM Window allowed actions */
365 unsigned char move : 1;
366 unsigned char resize : 1;
367 unsigned char minimize : 1;
368 unsigned char shade : 1;
369 unsigned char stick : 1;
370 unsigned char maximized_h : 1;
371 unsigned char maximized_v : 1;
372 unsigned char fullscreen : 1;
373 unsigned char change_desktop : 1;
374 unsigned char close : 1;
377 Ecore_X_Window_Type type;
378 Ecore_X_Window_Type *extra_types;
384 unsigned char name : 1;
385 unsigned char icon_name : 1;
386 unsigned char icon : 1;
387 unsigned char user_time : 1;
388 unsigned char strut : 1;
389 unsigned char type : 1;
390 unsigned char state : 1;
391 /* No, fetch on new_client, shouldn't be changed after map.
392 unsigned char pid : 1;
395 unsigned char desktop : 1;
401 unsigned char state : 1;
414 unsigned char updated : 1;
416 Ecore_X_Window video_parent;
417 E_Border *video_parent_border;
418 Eina_List *video_child;
419 #ifdef _F_USE_DESK_WINDOW_PROFILE_
424 unsigned char centered : 1;
425 unsigned char video : 1;
426 #ifdef _F_DEICONIFY_APPROVE_
429 unsigned char support : 1;
430 unsigned char render_done : 1;
431 Ecore_Timer *wait_timer;
434 Ecore_Job *pending_job;
437 #ifdef _F_USE_DESK_WINDOW_PROFILE_
438 unsigned char profile_list : 1;
440 #ifdef _F_ZONE_WINDOW_ROTATION_
443 E_Border_Rotation_Type type;
449 unsigned char support : 1;
450 unsigned char geom_hint: 1;
451 unsigned char pending_change_request : 1;
452 unsigned char pending_show : 1; // newly created window that has to be rotated will be show after rotating done.
453 // so, it will be used pending e_border_show called at main eval time.
454 unsigned char wait_for_done: 1;
455 // added for the window manager rotation protocol
456 unsigned char app_set : 1; // v1: app wants to communicate with the window manager
457 int rot; // v1: decided rotation by the window manager
458 int preferred_rot; // v1: app specified rotation
459 int *available_rots; // v1: app specified available rotations
460 unsigned int count; // v1: number of elements of available rotations
461 int changes; // added for precessing rotation in main eval after fetch in eval0.
462 int wait_done_ang; // the angle that wm wait for done.
463 // when wait_for_done is set to 1, it's meaningful.
470 unsigned char state : 1;
471 unsigned char video_parent : 1;
472 unsigned char video_position : 1;
473 #ifdef _F_USE_DESK_WINDOW_PROFILE_
474 unsigned char profile_list : 1;
476 #ifdef _F_ZONE_WINDOW_ROTATION_
479 unsigned char support : 1;
480 unsigned char geom_hint : 1;
481 // added for the window manager rotation protocol
482 unsigned char app_set : 1; // v1: app wants to communicate with the window manager
483 unsigned char preferred_rot : 1; // v1: app specified rotation
484 unsigned char available_rots : 1; // v1: app specified available rotations
494 unsigned char soft_menu : 1;
495 unsigned char soft_menus : 1;
498 unsigned char soft_menu : 1;
499 unsigned char soft_menus : 1;
506 unsigned char state : 1;
507 unsigned char vkbd : 1;
509 Ecore_X_Virtual_Keyboard_State state;
510 unsigned char vkbd : 1;
511 #ifdef _F_ZONE_WINDOW_ROTATION_
512 E_Virtual_Keyboard_Window_Type win_type;
522 unsigned char conformant : 1;
524 unsigned char conformant : 1;
530 unsigned char state : 1;
533 unsigned int major : 1;
534 unsigned int minor : 1;
536 unsigned char quickpanel : 1;
537 unsigned char zone : 1;
539 Ecore_X_Illume_Quickpanel_State state;
542 unsigned int major : 1;
543 unsigned int minor : 1;
545 unsigned char quickpanel : 1;
552 unsigned char drag : 1;
553 unsigned char locked : 1;
555 unsigned char drag : 1;
556 unsigned char locked : 1;
562 unsigned char state : 1;
564 Ecore_X_Illume_Window_State state;
568 Ecore_X_Window_Attributes initial_attributes;
571 E_Container_Shape *shape;
573 unsigned int visible : 1;
574 Eina_Bool hidden : 1; // set when window has been hidden by api and should not be shown
575 unsigned int await_hide_event;
576 unsigned int moving : 1;
577 unsigned int focused : 1;
578 unsigned int new_client : 1;
579 unsigned int re_manage : 1;
580 unsigned int placed : 1;
581 unsigned int shading : 1;
582 unsigned int shaded : 1;
583 unsigned int iconic : 1;
584 unsigned int deskshow : 1;
585 unsigned int sticky : 1;
586 unsigned int shaped : 1;
587 unsigned int shaped_input : 1;
588 unsigned int need_shape_merge : 1;
589 unsigned int need_shape_export : 1;
590 unsigned int fullscreen : 1;
591 unsigned int need_fullscreen : 1;
592 unsigned int already_unparented : 1;
593 unsigned int need_reparent : 1;
594 unsigned int button_grabbed : 1;
595 unsigned int delete_requested : 1;
596 unsigned int ping_ok : 1;
597 unsigned int hung : 1;
598 unsigned int take_focus : 1;
599 unsigned int want_focus : 1;
600 unsigned int user_skip_winlist : 1;
601 unsigned int need_maximize : 1;
602 E_Maximize maximized;
603 E_Fullscreen fullscreen_policy;
604 unsigned int borderless : 1;
605 unsigned char offer_resistance : 1;
606 const char *bordername;
608 unsigned int lock_user_location : 1; /*DONE*/
609 unsigned int lock_client_location : 1; /*DONE*/
610 unsigned int lock_user_size : 1; /*DONE*/
611 unsigned int lock_client_size : 1; /*DONE*/
612 unsigned int lock_user_stacking : 1; /*DONE*/
613 unsigned int lock_client_stacking : 1; /*DONE*/
614 unsigned int lock_user_iconify : 1; /*DONE*/
615 unsigned int lock_client_iconify : 1; /*DONE*/
616 unsigned int lock_user_desk : 1;
617 unsigned int lock_client_desk : 1;
618 unsigned int lock_user_sticky : 1; /*DONE*/
619 unsigned int lock_client_sticky : 1; /*DONE*/
620 unsigned int lock_user_shade : 1; /*DONE*/
621 unsigned int lock_client_shade : 1; /*DONE*/
622 unsigned int lock_user_maximize : 1; /*DONE*/
623 unsigned int lock_client_maximize : 1; /*DONE*/
624 unsigned int lock_user_fullscreen : 1; /*DONE*/
625 unsigned int lock_client_fullscreen : 1; /*DONE*/
626 unsigned int lock_border : 1; /*DONE*/
627 unsigned int lock_close : 1; /*DONE*/
628 unsigned int lock_focus_in : 1; /*DONE*/
629 unsigned int lock_focus_out : 1; /*DONE*/
630 unsigned int lock_life : 1; /*DONE*/
632 unsigned int internal : 1;
633 unsigned int internal_no_remember : 1;
634 unsigned int stolen : 1;
636 Ecore_Evas *internal_ecore_evas;
640 unsigned char changed : 1;
642 unsigned char icon_preference;
643 unsigned char ignore_first_unmap;
644 unsigned char resize_mode;
651 E_Maximize maximized;
652 unsigned int event_mask;
657 unsigned char valid : 1;
671 Ecore_Animator *anim;
680 Eina_List *stick_desks;
682 E_Config_Dialog *border_locks_dialog;
683 E_Config_Dialog *border_remember_dialog;
684 E_Config_Dialog *border_border_dialog;
685 E_Dialog *border_prop_dialog;
686 Eina_List *pending_move_resize;
690 unsigned char visible : 1;
691 unsigned char pos : 1;
692 unsigned char size : 1;
693 unsigned char stack : 1;
694 unsigned char prop : 1;
695 unsigned char border : 1;
696 unsigned char reset_gravity : 1;
697 unsigned char shading : 1;
698 unsigned char shaded : 1;
699 unsigned char shape : 1;
700 unsigned char shape_input : 1;
701 unsigned char icon : 1;
706 unsigned char start : 1;
711 E_Action *cur_mouse_action;
712 Ecore_Timer *raise_timer;
713 Ecore_Poller *ping_poller;
714 Ecore_Timer *kill_timer;
715 E_Border_Move_Intercept_Cb move_intercept_cb;
717 Ecore_X_Rectangle *shape_rects;
718 E_Remember *remember;
726 Eina_List *transients;
728 Efreet_Desktop *desktop;
731 unsigned char comp_hidden : 1;
733 unsigned char post_move : 1;
734 unsigned char post_resize : 1;
735 unsigned char post_show : 1;
737 Ecore_Idle_Enterer *post_job;
741 int tmp_input_hidden;
744 struct _E_Border_Pending_Move_Resize
747 unsigned char move : 1;
748 unsigned char resize : 1;
749 unsigned char without_border : 1;
753 struct _E_Border_Hook
755 E_Border_Hook_Point hookpoint;
756 void (*func)(void *data, void *bd);
758 unsigned char delete_me : 1;
761 struct _E_Event_Border_Simple
766 struct _E_Event_Border_Zone_Set
772 struct _E_Event_Border_Desk_Set
778 struct _E_Event_Border_Stack
780 E_Border *border, *stack;
784 EINTERN int e_border_init(void);
785 EINTERN int e_border_shutdown(void);
787 EAPI E_Border *e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal);
788 EAPI void e_border_free(E_Border *bd);
789 EAPI void e_border_ref(E_Border *bd);
790 EAPI void e_border_unref(E_Border *bd);
791 EAPI void e_border_res_change_geometry_save(E_Border *bd);
792 EAPI void e_border_res_change_geometry_restore(E_Border *bd);
794 EAPI void e_border_zone_set(E_Border *bd, E_Zone *zone);
795 EAPI void e_border_desk_set(E_Border *bd, E_Desk *desk);
796 EAPI void e_border_show(E_Border *bd);
797 EAPI void e_border_hide(E_Border *bd, int manage);
798 EAPI void e_border_move(E_Border *bd, int x, int y);
799 EAPI void e_border_move_intercept_cb_set(E_Border *bd, E_Border_Move_Intercept_Cb cb);
800 EAPI void e_border_move_without_border(E_Border *bd, int x, int y);
801 EAPI void e_border_center(E_Border *bd);
802 EAPI void e_border_center_pos_get(E_Border *bd, int *x, int *y);
803 EAPI void e_border_fx_offset(E_Border *bd, int x, int y);
804 EAPI void e_border_resize(E_Border *bd, int w, int h);
805 EAPI void e_border_resize_without_border(E_Border *bd, int w, int h);
806 EAPI void e_border_move_resize(E_Border *bd, int x, int y, int w, int h);
807 EAPI void e_border_move_resize_without_border(E_Border *bd, int x, int y, int w, int h);
808 EAPI void e_border_layer_set(E_Border *bd, int layer);
809 EAPI void e_border_raise(E_Border *bd);
810 EAPI void e_border_lower(E_Border *bd);
811 EAPI void e_border_stack_above(E_Border *bd, E_Border *above);
812 EAPI void e_border_stack_below(E_Border *bd, E_Border *below);
813 EAPI void e_border_focus_latest_set(E_Border *bd);
814 EAPI void e_border_raise_latest_set(E_Border *bd);
815 EAPI void e_border_focus_set_with_pointer(E_Border *bd);
816 EAPI void e_border_focus_set(E_Border *bd, int focus, int set);
817 EAPI void e_border_shade(E_Border *bd, E_Direction dir);
818 EAPI void e_border_unshade(E_Border *bd, E_Direction dir);
819 EAPI void e_border_maximize(E_Border *bd, E_Maximize max);
820 EAPI void e_border_unmaximize(E_Border *bd, E_Maximize max);
821 EAPI void e_border_fullscreen(E_Border *bd, E_Fullscreen policy);
822 EAPI void e_border_unfullscreen(E_Border *bd);
823 EAPI void e_border_iconify(E_Border *bd);
824 EAPI void e_border_uniconify(E_Border *bd);
825 EAPI void e_border_stick(E_Border *bd);
826 EAPI void e_border_unstick(E_Border *bd);
827 EAPI void e_border_pinned_set(E_Border *bd, int set);
829 EAPI E_Border *e_border_find_by_client_window(Ecore_X_Window win);
830 EAPI E_Border *e_border_find_all_by_client_window(Ecore_X_Window win);
831 EAPI E_Border *e_border_find_by_frame_window(Ecore_X_Window win);
832 EAPI E_Border *e_border_find_by_window(Ecore_X_Window win);
833 EAPI E_Border *e_border_find_by_alarm(Ecore_X_Sync_Alarm alarm);
834 EAPI E_Border *e_border_focused_get(void);
836 EAPI void e_border_idler_before(void);
838 EAPI Eina_List *e_border_client_list(void);
840 EAPI void e_border_act_move_keyboard(E_Border *bd);
841 EAPI void e_border_act_resize_keyboard(E_Border *bd);
843 EAPI void e_border_act_move_begin(E_Border *bd, Ecore_Event_Mouse_Button *ev);
844 EAPI void e_border_act_move_end(E_Border *bd, Ecore_Event_Mouse_Button *ev);
845 EAPI void e_border_act_resize_begin(E_Border *bd, Ecore_Event_Mouse_Button *ev);
846 EAPI void e_border_act_resize_end(E_Border *bd, Ecore_Event_Mouse_Button *ev);
847 EAPI void e_border_act_menu_begin(E_Border *bd, Ecore_Event_Mouse_Button *ev, int key);
848 EAPI void e_border_act_close_begin(E_Border *bd);
849 EAPI void e_border_act_kill_begin(E_Border *bd);
851 EAPI Evas_Object *e_border_icon_add(E_Border *bd, Evas *evas);
853 EAPI void e_border_button_bindings_ungrab_all(void);
854 EAPI void e_border_button_bindings_grab_all(void);
856 EAPI Eina_List *e_border_focus_stack_get(void);
857 EAPI Eina_List *e_border_lost_windows_get(E_Zone *zone);
859 EAPI void e_border_ping(E_Border *bd);
860 EAPI void e_border_move_cancel(void);
861 EAPI void e_border_resize_cancel(void);
862 EAPI void e_border_frame_recalc(E_Border *bd);
863 EAPI Eina_List *e_border_immortal_windows_get(void);
865 EAPI const char *e_border_name_get(const E_Border *bd);
867 EAPI void e_border_signal_move_begin(E_Border *bd, const char *sig, const char *src);
868 EAPI void e_border_signal_move_end(E_Border *bd, const char *sig, const char *src);
869 EAPI int e_border_resizing_get(E_Border *bd);
870 EAPI void e_border_signal_resize_begin(E_Border *bd, const char *dir, const char *sig, const char *src);
871 EAPI void e_border_signal_resize_end(E_Border *bd, const char *dir, const char *sig, const char *src);
872 EAPI void e_border_resize_limit(E_Border *bd, int *w, int *h);
874 EAPI E_Border_Hook *e_border_hook_add(E_Border_Hook_Point hookpoint, void (*func)(void *data, void *bd), void *data);
875 EAPI void e_border_hook_del(E_Border_Hook *bh);
876 EAPI void e_border_focus_track_freeze(void);
877 EAPI void e_border_focus_track_thaw(void);
879 EAPI E_Border *e_border_under_pointer_get(E_Desk *desk, E_Border *exclude);
880 EAPI int e_border_pointer_warp_to_center(E_Border *bd);
882 EAPI void e_border_comp_hidden_set(E_Border *bd, Eina_Bool hidden);
883 EAPI void e_border_tmp_input_hidden_push(E_Border *bd);
884 EAPI void e_border_tmp_input_hidden_pop(E_Border *bd);
886 EAPI void e_border_activate(E_Border *bd, Eina_Bool just_do_it);
888 #ifdef _F_ZONE_WINDOW_ROTATION_
889 EAPI void e_border_rotation_list_clear(E_Zone *zone, Eina_Bool send_request);
890 EAPI Eina_Bool e_border_rotation_set(E_Border *bd, int rotation);
894 extern EAPI int E_EVENT_BORDER_RESIZE;
895 extern EAPI int E_EVENT_BORDER_MOVE;
896 extern EAPI int E_EVENT_BORDER_ADD;
897 extern EAPI int E_EVENT_BORDER_SHOW;
898 extern EAPI int E_EVENT_BORDER_HIDE;
899 extern EAPI int E_EVENT_BORDER_REMOVE;
900 extern EAPI int E_EVENT_BORDER_ICONIFY;
901 extern EAPI int E_EVENT_BORDER_UNICONIFY;
902 extern EAPI int E_EVENT_BORDER_STICK;
903 extern EAPI int E_EVENT_BORDER_UNSTICK;
904 extern EAPI int E_EVENT_BORDER_ZONE_SET;
905 extern EAPI int E_EVENT_BORDER_DESK_SET;
906 extern EAPI int E_EVENT_BORDER_STACK;
907 extern EAPI int E_EVENT_BORDER_ICON_CHANGE;
908 extern EAPI int E_EVENT_BORDER_URGENT_CHANGE;
909 extern EAPI int E_EVENT_BORDER_FOCUS_IN;
910 extern EAPI int E_EVENT_BORDER_FOCUS_OUT;
911 extern EAPI int E_EVENT_BORDER_PROPERTY;
912 extern EAPI int E_EVENT_BORDER_FULLSCREEN;
913 extern EAPI int E_EVENT_BORDER_UNFULLSCREEN;
914 #ifdef _F_ZONE_WINDOW_ROTATION_
915 extern EAPI int E_EVENT_BORDER_ROTATION; /* deprecated */
916 extern EAPI int E_EVENT_BORDER_ROTATION_CHANGE_BEGIN;
917 extern EAPI int E_EVENT_BORDER_ROTATION_CHANGE_CANCEL;
918 extern EAPI int E_EVENT_BORDER_ROTATION_CHANGE_END;