2005-02-07 05:51:09 -08:00
|
|
|
/*
|
|
|
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
|
|
|
*/
|
2005-01-12 08:03:09 -08:00
|
|
|
#ifdef E_TYPEDEFS
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-01-12 08:03:09 -08:00
|
|
|
typedef enum _E_Direction
|
2004-12-20 13:33:31 -08:00
|
|
|
{
|
2005-02-07 05:51:09 -08:00
|
|
|
E_DIRECTION_UP,
|
|
|
|
E_DIRECTION_DOWN,
|
|
|
|
E_DIRECTION_LEFT,
|
|
|
|
E_DIRECTION_RIGHT
|
2005-01-12 08:03:09 -08:00
|
|
|
} E_Direction;
|
2004-12-20 13:33:31 -08:00
|
|
|
|
2005-01-12 08:03:09 -08:00
|
|
|
typedef enum _E_Transition
|
2004-12-20 13:33:31 -08:00
|
|
|
{
|
2005-02-07 05:51:09 -08:00
|
|
|
E_TRANSITION_LINEAR,
|
|
|
|
E_TRANSITION_SINUSOIDAL,
|
|
|
|
E_TRANSITION_ACCELERATE,
|
|
|
|
E_TRANSITION_DECELERATE
|
2005-01-12 08:03:09 -08:00
|
|
|
} E_Transition;
|
|
|
|
|
2005-05-10 03:11:34 -07:00
|
|
|
typedef enum _E_Stacking
|
|
|
|
{
|
|
|
|
E_STACKING_NONE,
|
|
|
|
E_STACKING_ABOVE,
|
|
|
|
E_STACKING_BELOW
|
|
|
|
} E_Stacking;
|
|
|
|
|
2005-05-20 00:32:42 -07:00
|
|
|
typedef enum _E_Focus_Policy
|
|
|
|
{
|
2005-05-20 11:46:32 -07:00
|
|
|
E_FOCUS_CLICK,
|
|
|
|
E_FOCUS_MOUSE,
|
|
|
|
E_FOCUS_SLOPPY
|
2005-05-20 00:32:42 -07:00
|
|
|
} E_Focus_Policy;
|
|
|
|
|
2005-06-27 05:05:26 -07:00
|
|
|
typedef enum _E_Focus_Setting
|
|
|
|
{
|
|
|
|
E_FOCUS_NONE,
|
|
|
|
E_FOCUS_NEW_WINDOW,
|
|
|
|
E_FOCUS_NEW_DIALOG,
|
|
|
|
E_FOCUS_NEW_DIALOG_IF_OWNER_FOCUSED
|
|
|
|
} E_Focus_Setting;
|
|
|
|
|
2005-06-19 07:59:41 -07:00
|
|
|
typedef enum _E_Maximize
|
2005-06-17 21:29:42 -07:00
|
|
|
{
|
2006-06-07 14:42:13 -07:00
|
|
|
E_MAXIMIZE_NONE = 0x00000000,
|
|
|
|
E_MAXIMIZE_FULLSCREEN = 0x00000001,
|
|
|
|
E_MAXIMIZE_SMART = 0x00000002,
|
|
|
|
E_MAXIMIZE_EXPAND = 0x00000003,
|
|
|
|
E_MAXIMIZE_FILL = 0x00000004,
|
|
|
|
E_MAXIMIZE_TYPE = 0x0000000f,
|
|
|
|
E_MAXIMIZE_VERTICAL = 0x00000010,
|
|
|
|
E_MAXIMIZE_HORIZONTAL = 0x00000020,
|
|
|
|
E_MAXIMIZE_BOTH = 0x00000030,
|
|
|
|
E_MAXIMIZE_DIRECTION = 0x000000f0
|
2005-06-19 07:59:41 -07:00
|
|
|
} E_Maximize;
|
2005-06-17 21:29:42 -07:00
|
|
|
|
2005-06-19 10:13:37 -07:00
|
|
|
typedef enum _E_Fullscreen
|
|
|
|
{
|
|
|
|
/* Resize window */
|
|
|
|
E_FULLSCREEN_RESIZE,
|
|
|
|
/* Change screen resoultion and resize window */
|
|
|
|
E_FULLSCREEN_ZOOM
|
|
|
|
} E_Fullscreen;
|
|
|
|
|
2005-09-12 22:19:25 -07:00
|
|
|
typedef enum _E_Window_Placement
|
|
|
|
{
|
|
|
|
E_WINDOW_PLACEMENT_SMART,
|
2006-02-02 22:13:32 -08:00
|
|
|
E_WINDOW_PLACEMENT_ANTIGADGET,
|
2005-09-22 10:10:02 -07:00
|
|
|
E_WINDOW_PLACEMENT_CURSOR,
|
|
|
|
E_WINDOW_PLACEMENT_MANUAL
|
2005-09-12 22:19:25 -07:00
|
|
|
} E_Window_Placement;
|
2005-06-17 21:29:42 -07:00
|
|
|
|
2005-01-12 22:08:07 -08:00
|
|
|
typedef struct _E_Border E_Border;
|
|
|
|
typedef struct _E_Border_Pending_Move_Resize E_Border_Pending_Move_Resize;
|
|
|
|
typedef struct _E_Event_Border_Resize E_Event_Border_Resize;
|
|
|
|
typedef struct _E_Event_Border_Move E_Event_Border_Move;
|
|
|
|
typedef struct _E_Event_Border_Add E_Event_Border_Add;
|
|
|
|
typedef struct _E_Event_Border_Remove E_Event_Border_Remove;
|
|
|
|
typedef struct _E_Event_Border_Show E_Event_Border_Show;
|
|
|
|
typedef struct _E_Event_Border_Hide E_Event_Border_Hide;
|
2005-03-10 15:54:49 -08:00
|
|
|
typedef struct _E_Event_Border_Iconify E_Event_Border_Iconify;
|
|
|
|
typedef struct _E_Event_Border_Uniconify E_Event_Border_Uniconify;
|
2005-02-10 07:21:23 -08:00
|
|
|
typedef struct _E_Event_Border_Stick E_Event_Border_Stick;
|
|
|
|
typedef struct _E_Event_Border_Unstick E_Event_Border_Unstick;
|
2005-02-13 03:12:51 -08:00
|
|
|
typedef struct _E_Event_Border_Zone_Set E_Event_Border_Zone_Set;
|
2005-01-12 22:08:07 -08:00
|
|
|
typedef struct _E_Event_Border_Desk_Set E_Event_Border_Desk_Set;
|
2005-09-07 07:55:46 -07:00
|
|
|
typedef struct _E_Event_Border_Stack E_Event_Border_Stack;
|
2005-03-20 03:49:32 -08:00
|
|
|
typedef struct _E_Event_Border_Icon_Change E_Event_Border_Icon_Change;
|
2006-10-24 07:32:22 -07:00
|
|
|
typedef struct _E_Event_Border_Urgent_Change E_Event_Border_Urgent_Change;
|
2006-05-22 13:28:33 -07:00
|
|
|
typedef struct _E_Event_Border_Focus_In E_Event_Border_Focus_In;
|
|
|
|
typedef struct _E_Event_Border_Focus_Out E_Event_Border_Focus_Out;
|
2006-08-07 13:25:34 -07:00
|
|
|
typedef struct _E_Event_Border_Property E_Event_Border_Property;
|
2005-01-12 08:03:09 -08:00
|
|
|
|
|
|
|
#else
|
|
|
|
#ifndef E_BORDER_H
|
|
|
|
#define E_BORDER_H
|
2004-12-20 13:33:31 -08:00
|
|
|
|
2005-01-21 22:58:34 -08:00
|
|
|
#define E_BORDER_TYPE 0xE0b01002
|
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
struct _E_Border
|
|
|
|
{
|
|
|
|
E_Object e_obj_inherit;
|
|
|
|
|
|
|
|
struct {
|
2006-06-19 10:13:56 -07:00
|
|
|
struct {
|
|
|
|
int x, y, w, h;
|
|
|
|
int mx, my;
|
|
|
|
} current, last_down[3], last_up[3];
|
2004-11-24 19:37:45 -08:00
|
|
|
} mouse;
|
2006-06-19 10:13:56 -07:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
struct {
|
2006-06-19 10:13:56 -07:00
|
|
|
struct {
|
|
|
|
int x, y, w, h;
|
|
|
|
int mx, my;
|
|
|
|
int button;
|
|
|
|
} down;
|
2004-11-24 19:37:45 -08:00
|
|
|
} moveinfo;
|
2005-02-07 05:51:09 -08:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
Ecore_X_Window win;
|
|
|
|
int x, y, w, h;
|
|
|
|
int ref;
|
2005-01-03 01:34:24 -08:00
|
|
|
E_Zone *zone;
|
|
|
|
E_Desk *desk;
|
2004-11-24 19:37:45 -08:00
|
|
|
Evas_List *handlers;
|
2005-02-07 05:51:09 -08:00
|
|
|
|
2006-08-30 06:37:35 -07:00
|
|
|
struct {
|
|
|
|
int x, y;
|
2006-09-01 08:37:23 -07:00
|
|
|
struct {
|
|
|
|
int x, y;
|
|
|
|
double t;
|
|
|
|
} start;
|
2006-08-30 06:37:35 -07:00
|
|
|
} fx;
|
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
struct {
|
2005-04-13 08:52:34 -07:00
|
|
|
int l, r, t, b;
|
2004-11-24 19:37:45 -08:00
|
|
|
} client_inset;
|
2005-02-07 05:51:09 -08:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
Ecore_Evas *bg_ecore_evas;
|
|
|
|
Evas *bg_evas;
|
|
|
|
Ecore_X_Window bg_win;
|
2005-05-07 06:50:38 -07:00
|
|
|
Ecore_X_Window bg_subwin;
|
2004-11-24 19:37:45 -08:00
|
|
|
Evas_Object *bg_object;
|
2004-12-02 02:07:51 -08:00
|
|
|
Evas_Object *icon_object;
|
2004-11-24 19:37:45 -08:00
|
|
|
Ecore_X_Window event_win;
|
2006-07-02 09:19:51 -07:00
|
|
|
const char *internal_icon;
|
2006-07-02 11:55:33 -07:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
struct {
|
2005-04-13 08:52:34 -07:00
|
|
|
Ecore_X_Window shell_win;
|
|
|
|
Ecore_X_Window win;
|
|
|
|
|
|
|
|
int x, y, w, h;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
unsigned char changed : 1;
|
2005-10-30 03:05:57 -08:00
|
|
|
unsigned char user_selected : 1;
|
2006-03-02 04:03:48 -08:00
|
|
|
const char *name;
|
2005-04-13 08:52:34 -07:00
|
|
|
} border;
|
|
|
|
|
|
|
|
unsigned char shaped : 1;
|
2006-03-08 02:04:51 -08:00
|
|
|
unsigned char argb : 1;
|
2005-04-13 08:52:34 -07:00
|
|
|
|
2006-06-07 16:30:15 -07:00
|
|
|
/* ICCCM */
|
2005-04-13 08:52:34 -07:00
|
|
|
struct {
|
|
|
|
char *title;
|
|
|
|
char *name;
|
|
|
|
char *class;
|
|
|
|
char *icon_name;
|
|
|
|
char *machine;
|
|
|
|
int min_w, min_h;
|
|
|
|
int max_w, max_h;
|
|
|
|
int base_w, base_h;
|
|
|
|
int step_w, step_h;
|
|
|
|
int start_x, start_y;
|
|
|
|
double min_aspect, max_aspect;
|
|
|
|
Ecore_X_Window_State_Hint initial_state;
|
2005-04-29 01:02:29 -07:00
|
|
|
Ecore_X_Window_State_Hint state;
|
2005-04-13 08:52:34 -07:00
|
|
|
Ecore_X_Pixmap icon_pixmap;
|
|
|
|
Ecore_X_Pixmap icon_mask;
|
|
|
|
Ecore_X_Window icon_window;
|
|
|
|
Ecore_X_Window window_group;
|
2005-05-28 06:22:15 -07:00
|
|
|
Ecore_X_Window transient_for;
|
2005-06-17 02:05:38 -07:00
|
|
|
Ecore_X_Window client_leader;
|
2005-04-13 08:52:34 -07:00
|
|
|
Ecore_X_Gravity gravity;
|
2005-05-28 06:22:15 -07:00
|
|
|
char *window_role;
|
2005-04-13 08:52:34 -07:00
|
|
|
unsigned char take_focus : 1;
|
|
|
|
unsigned char accepts_focus : 1;
|
|
|
|
unsigned char urgent : 1;
|
|
|
|
unsigned char delete_request : 1;
|
|
|
|
unsigned char request_pos : 1;
|
2006-06-07 16:30:15 -07:00
|
|
|
struct {
|
|
|
|
int argc;
|
|
|
|
char **argv;
|
|
|
|
} command;
|
2005-04-13 08:52:34 -07:00
|
|
|
struct {
|
2005-05-28 06:22:15 -07:00
|
|
|
unsigned char title : 1;
|
|
|
|
unsigned char name_class : 1;
|
|
|
|
unsigned char icon_name : 1;
|
|
|
|
unsigned char machine : 1;
|
|
|
|
unsigned char hints : 1;
|
|
|
|
unsigned char size_pos_hints : 1;
|
|
|
|
unsigned char protocol : 1;
|
|
|
|
unsigned char transient_for : 1;
|
2005-06-17 02:05:38 -07:00
|
|
|
unsigned char client_leader : 1;
|
2005-05-28 06:22:15 -07:00
|
|
|
unsigned char window_role : 1;
|
2005-06-07 06:16:24 -07:00
|
|
|
unsigned char state : 1;
|
2006-06-07 16:30:15 -07:00
|
|
|
unsigned char command : 1;
|
2005-04-13 08:52:34 -07:00
|
|
|
} fetch;
|
|
|
|
} icccm;
|
2006-06-07 16:30:15 -07:00
|
|
|
|
|
|
|
/* MWM */
|
2005-04-13 08:52:34 -07:00
|
|
|
struct {
|
|
|
|
Ecore_X_MWM_Hint_Func func;
|
|
|
|
Ecore_X_MWM_Hint_Decor decor;
|
|
|
|
Ecore_X_MWM_Hint_Input input;
|
|
|
|
unsigned char exists : 1;
|
|
|
|
unsigned char borderless : 1;
|
|
|
|
struct {
|
2005-05-28 06:22:15 -07:00
|
|
|
unsigned char hints : 1;
|
2005-04-13 08:52:34 -07:00
|
|
|
} fetch;
|
|
|
|
} mwm;
|
2006-06-07 16:30:15 -07:00
|
|
|
|
|
|
|
/* NetWM */
|
2005-04-13 08:52:34 -07:00
|
|
|
struct {
|
2006-06-07 16:30:15 -07:00
|
|
|
pid_t pid;
|
|
|
|
unsigned int desktop;
|
|
|
|
char *name;
|
|
|
|
char *icon_name;
|
2005-09-25 09:43:34 -07:00
|
|
|
Ecore_X_Icon *icons;
|
2006-06-07 16:30:15 -07:00
|
|
|
int num_icons;
|
|
|
|
unsigned int user_time;
|
2005-06-03 05:23:34 -07:00
|
|
|
struct {
|
2006-01-06 05:56:46 -08:00
|
|
|
int left;
|
|
|
|
int right;
|
|
|
|
int top;
|
|
|
|
int bottom;
|
|
|
|
int left_start_y;
|
|
|
|
int left_end_y;
|
|
|
|
int right_start_y;
|
|
|
|
int right_end_y;
|
|
|
|
int top_start_x;
|
|
|
|
int top_end_x;
|
|
|
|
int bottom_start_x;
|
|
|
|
int bottom_end_x;
|
2005-06-03 05:23:34 -07:00
|
|
|
} strut;
|
2005-06-05 08:30:46 -07:00
|
|
|
unsigned char ping : 1;
|
2005-06-06 08:22:05 -07:00
|
|
|
struct {
|
2005-06-27 21:00:17 -07:00
|
|
|
unsigned char request : 1;
|
|
|
|
unsigned int wait;
|
|
|
|
Ecore_X_Sync_Alarm alarm;
|
|
|
|
Ecore_X_Sync_Counter counter;
|
|
|
|
unsigned int serial;
|
2005-06-27 23:49:37 -07:00
|
|
|
double send_time;
|
2005-06-06 08:22:05 -07:00
|
|
|
} sync;
|
2005-05-16 08:43:15 -07:00
|
|
|
|
2005-04-13 08:52:34 -07:00
|
|
|
/* NetWM Window state */
|
|
|
|
struct {
|
|
|
|
unsigned char modal : 1;
|
2005-04-29 01:02:29 -07:00
|
|
|
unsigned char sticky : 1;
|
2005-04-13 08:52:34 -07:00
|
|
|
unsigned char maximized_v : 1;
|
|
|
|
unsigned char maximized_h : 1;
|
2005-06-09 21:19:46 -07:00
|
|
|
unsigned char shaded : 1;
|
2005-04-13 08:52:34 -07:00
|
|
|
unsigned char skip_taskbar : 1;
|
|
|
|
unsigned char skip_pager : 1;
|
2005-06-09 21:19:46 -07:00
|
|
|
unsigned char hidden : 1;
|
2005-04-13 08:52:34 -07:00
|
|
|
unsigned char fullscreen : 1;
|
2005-05-10 03:11:34 -07:00
|
|
|
E_Stacking stacking;
|
2005-04-13 08:52:34 -07:00
|
|
|
} state;
|
2005-04-29 01:02:29 -07:00
|
|
|
|
2006-06-07 16:30:15 -07:00
|
|
|
/* NetWM Window allowed actions */
|
|
|
|
struct {
|
|
|
|
unsigned char move : 1;
|
|
|
|
unsigned char resize : 1;
|
|
|
|
unsigned char minimize : 1;
|
|
|
|
unsigned char shade : 1;
|
|
|
|
unsigned char stick : 1;
|
|
|
|
unsigned char maximized_h : 1;
|
|
|
|
unsigned char maximized_v : 1;
|
|
|
|
unsigned char fullscreen : 1;
|
|
|
|
unsigned char change_desktop : 1;
|
|
|
|
unsigned char close : 1;
|
|
|
|
} action;
|
|
|
|
|
2005-04-29 01:02:29 -07:00
|
|
|
Ecore_X_Window_Type type;
|
2005-09-29 08:01:04 -07:00
|
|
|
int startup_id;
|
|
|
|
|
2005-05-28 06:22:15 -07:00
|
|
|
struct {
|
|
|
|
unsigned char name : 1;
|
2005-06-02 23:43:23 -07:00
|
|
|
unsigned char icon_name : 1;
|
|
|
|
unsigned char icon : 1;
|
2005-06-03 05:23:34 -07:00
|
|
|
unsigned char user_time : 1;
|
|
|
|
unsigned char strut : 1;
|
2005-06-03 12:58:27 -07:00
|
|
|
unsigned char type : 1;
|
2005-06-07 06:16:24 -07:00
|
|
|
unsigned char state : 1;
|
2005-05-29 04:37:18 -07:00
|
|
|
/* No, fetch on new_client, shouldn't be changed after map.
|
2005-05-28 06:22:15 -07:00
|
|
|
unsigned char pid : 1;
|
2005-05-29 04:37:18 -07:00
|
|
|
*/
|
|
|
|
/* No, ignore this
|
2005-05-28 06:22:15 -07:00
|
|
|
unsigned char desktop : 1;
|
2005-05-29 04:37:18 -07:00
|
|
|
*/
|
2005-05-28 06:22:15 -07:00
|
|
|
} fetch;
|
2005-05-30 23:52:05 -07:00
|
|
|
|
|
|
|
struct {
|
2006-01-06 05:56:46 -08:00
|
|
|
unsigned char state : 1;
|
2005-05-30 23:52:05 -07:00
|
|
|
} update;
|
2005-04-13 08:52:34 -07:00
|
|
|
} netwm;
|
2005-08-29 18:15:25 -07:00
|
|
|
|
|
|
|
/* Extra e stuff */
|
|
|
|
struct {
|
|
|
|
struct {
|
|
|
|
unsigned char centered : 1;
|
|
|
|
} state;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
unsigned char state : 1;
|
|
|
|
} fetch;
|
|
|
|
} e;
|
|
|
|
|
2005-04-13 08:52:34 -07:00
|
|
|
Ecore_X_Window_Attributes initial_attributes;
|
2004-11-24 19:37:45 -08:00
|
|
|
} client;
|
2005-04-13 08:52:34 -07:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
E_Container_Shape *shape;
|
2005-04-13 08:52:34 -07:00
|
|
|
|
2005-06-20 01:56:54 -07:00
|
|
|
unsigned int visible : 1;
|
2005-08-30 21:41:48 -07:00
|
|
|
unsigned int await_hide_event;
|
2005-06-20 01:56:54 -07:00
|
|
|
unsigned int moving : 1;
|
|
|
|
unsigned int focused : 1;
|
|
|
|
unsigned int new_client : 1;
|
|
|
|
unsigned int re_manage : 1;
|
2005-07-07 02:27:04 -07:00
|
|
|
unsigned int placed : 1;
|
2005-06-20 01:56:54 -07:00
|
|
|
unsigned int shading : 1;
|
|
|
|
unsigned int shaded : 1;
|
|
|
|
unsigned int iconic : 1;
|
2006-06-03 03:19:11 -07:00
|
|
|
unsigned int deskshow : 1;
|
2005-06-20 01:56:54 -07:00
|
|
|
unsigned int sticky : 1;
|
|
|
|
unsigned int shaped : 1;
|
|
|
|
unsigned int need_shape_merge : 1;
|
|
|
|
unsigned int need_shape_export : 1;
|
|
|
|
unsigned int fullscreen : 1;
|
2006-06-07 11:12:46 -07:00
|
|
|
unsigned int need_fullscreen : 1;
|
2005-07-21 04:15:43 -07:00
|
|
|
unsigned int want_fullscreen : 1;
|
2005-06-20 01:56:54 -07:00
|
|
|
unsigned int already_unparented : 1;
|
|
|
|
unsigned int need_reparent : 1;
|
|
|
|
unsigned int button_grabbed : 1;
|
|
|
|
unsigned int delete_requested : 1;
|
|
|
|
unsigned int ping_ok : 1;
|
2005-06-21 23:28:46 -07:00
|
|
|
unsigned int hung : 1;
|
2005-06-27 05:05:26 -07:00
|
|
|
unsigned int take_focus : 1;
|
2005-07-12 04:07:57 -07:00
|
|
|
unsigned int want_focus : 1;
|
2005-07-09 07:55:40 -07:00
|
|
|
unsigned int user_skip_winlist : 1;
|
2005-08-21 21:16:25 -07:00
|
|
|
unsigned int need_maximize : 1;
|
2005-06-19 07:59:41 -07:00
|
|
|
E_Maximize maximized;
|
2006-06-11 22:17:10 -07:00
|
|
|
unsigned int borderless : 1;
|
2006-07-17 12:04:01 -07:00
|
|
|
const char *bordername;
|
2005-06-05 08:30:46 -07:00
|
|
|
|
2005-07-04 03:24:22 -07:00
|
|
|
unsigned int lock_user_location : 1; /*DONE*/
|
|
|
|
unsigned int lock_client_location : 1; /*DONE*/
|
|
|
|
unsigned int lock_user_size : 1; /*DONE*/
|
|
|
|
unsigned int lock_client_size : 1; /*DONE*/
|
|
|
|
unsigned int lock_user_stacking : 1; /*DONE*/
|
|
|
|
unsigned int lock_client_stacking : 1; /*DONE*/
|
|
|
|
unsigned int lock_user_iconify : 1; /*DONE*/
|
|
|
|
unsigned int lock_client_iconify : 1; /*DONE*/
|
2005-07-03 00:23:03 -07:00
|
|
|
unsigned int lock_user_desk : 1;
|
|
|
|
unsigned int lock_client_desk : 1;
|
2005-07-04 03:24:22 -07:00
|
|
|
unsigned int lock_user_sticky : 1; /*DONE*/
|
|
|
|
unsigned int lock_client_sticky : 1; /*DONE*/
|
|
|
|
unsigned int lock_user_shade : 1; /*DONE*/
|
|
|
|
unsigned int lock_client_shade : 1; /*DONE*/
|
|
|
|
unsigned int lock_user_maximize : 1; /*DONE*/
|
2005-07-19 01:04:20 -07:00
|
|
|
unsigned int lock_client_maximize : 1; /*DONE*/
|
2005-07-04 03:24:22 -07:00
|
|
|
unsigned int lock_user_fullscreen : 1; /*DONE*/
|
|
|
|
unsigned int lock_client_fullscreen : 1; /*DONE*/
|
|
|
|
unsigned int lock_border : 1; /*DONE*/
|
|
|
|
unsigned int lock_close : 1; /*DONE*/
|
|
|
|
unsigned int lock_focus_in : 1; /*DONE*/
|
|
|
|
unsigned int lock_focus_out : 1; /*DONE*/
|
2005-07-11 02:19:17 -07:00
|
|
|
unsigned int lock_life : 1; /*DONE*/
|
|
|
|
unsigned int internal : 1;
|
2005-07-03 00:23:03 -07:00
|
|
|
|
2005-11-02 22:17:08 -08:00
|
|
|
Ecore_Evas *internal_ecore_evas;
|
|
|
|
|
2005-06-05 08:30:46 -07:00
|
|
|
double ping;
|
2005-05-13 14:19:04 -07:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
unsigned char changed : 1;
|
2005-04-13 08:52:34 -07:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
unsigned char ignore_first_unmap;
|
|
|
|
unsigned char resize_mode;
|
2005-04-13 08:52:34 -07:00
|
|
|
|
2004-12-17 21:47:08 -08:00
|
|
|
struct {
|
2005-04-13 08:52:34 -07:00
|
|
|
int x, y, w, h;
|
2007-03-02 09:00:20 -08:00
|
|
|
unsigned int layer;
|
2004-12-17 21:47:08 -08:00
|
|
|
} saved;
|
|
|
|
|
2006-06-16 01:50:42 -07:00
|
|
|
struct {
|
|
|
|
unsigned char valid : 1;
|
|
|
|
int x, y, w, h;
|
|
|
|
struct {
|
|
|
|
int x, y, w, h;
|
|
|
|
} saved;
|
|
|
|
} pre_res_change;
|
|
|
|
|
2004-12-18 14:26:21 -08:00
|
|
|
struct {
|
2005-04-13 08:52:34 -07:00
|
|
|
double start;
|
|
|
|
double val;
|
|
|
|
int x, y;
|
|
|
|
E_Direction dir;
|
|
|
|
Ecore_Animator *anim;
|
2004-12-18 14:26:21 -08:00
|
|
|
} shade;
|
2005-04-13 08:52:34 -07:00
|
|
|
|
2005-01-03 01:34:24 -08:00
|
|
|
Evas_List *stick_desks;
|
2005-01-12 08:03:09 -08:00
|
|
|
E_Menu *border_menu;
|
2005-10-17 04:51:46 -07:00
|
|
|
E_Config_Dialog *border_locks_dialog;
|
2005-10-20 05:49:47 -07:00
|
|
|
E_Config_Dialog *border_remember_dialog;
|
2005-11-06 00:03:13 -08:00
|
|
|
E_Config_Dialog *border_border_dialog;
|
2006-11-30 02:42:14 -08:00
|
|
|
E_Dialog *border_prop_dialog;
|
2005-07-12 19:59:31 -07:00
|
|
|
E_Menu *border_stacking_menu;
|
2005-11-30 23:10:32 -08:00
|
|
|
E_Menu *border_maximize_menu;
|
2005-01-12 22:08:07 -08:00
|
|
|
Evas_List *pending_move_resize;
|
2005-04-13 08:52:34 -07:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
struct {
|
2005-06-03 04:41:20 -07:00
|
|
|
unsigned char visible : 1;
|
|
|
|
unsigned char pos : 1;
|
|
|
|
unsigned char size : 1;
|
|
|
|
unsigned char stack : 1;
|
|
|
|
unsigned char prop : 1;
|
|
|
|
unsigned char border : 1;
|
|
|
|
unsigned char reset_gravity : 1;
|
|
|
|
unsigned char shading : 1;
|
|
|
|
unsigned char shaded : 1;
|
|
|
|
unsigned char shape : 1;
|
|
|
|
unsigned char icon : 1;
|
2004-11-24 19:37:45 -08:00
|
|
|
} changes;
|
2005-04-26 02:36:18 -07:00
|
|
|
|
|
|
|
struct {
|
2006-05-10 07:54:59 -07:00
|
|
|
unsigned char start : 1;
|
|
|
|
int x, y;
|
2005-04-26 02:36:18 -07:00
|
|
|
} drag;
|
2005-04-28 02:55:41 -07:00
|
|
|
|
|
|
|
unsigned int layer;
|
2005-04-29 22:07:28 -07:00
|
|
|
E_Action *cur_mouse_action;
|
2005-05-20 00:32:42 -07:00
|
|
|
Ecore_Timer *raise_timer;
|
2005-06-20 01:56:54 -07:00
|
|
|
Ecore_Timer *ping_timer;
|
2005-06-21 23:28:46 -07:00
|
|
|
Ecore_Timer *kill_timer;
|
2005-06-27 03:08:53 -07:00
|
|
|
int shape_rects_num;
|
|
|
|
Ecore_X_Rectangle *shape_rects;
|
2005-07-07 02:27:04 -07:00
|
|
|
E_Remember *remember;
|
2005-05-26 04:48:39 -07:00
|
|
|
|
2005-09-02 02:25:53 -07:00
|
|
|
E_Border *modal;
|
2005-09-02 02:56:01 -07:00
|
|
|
|
|
|
|
E_Border *leader;
|
|
|
|
Evas_List *group;
|
|
|
|
|
|
|
|
E_Border *parent;
|
|
|
|
Evas_List *transients;
|
2005-09-27 20:06:58 -07:00
|
|
|
|
|
|
|
E_App *app;
|
2006-08-19 21:48:27 -07:00
|
|
|
E_Pointer *pointer;
|
2004-11-24 19:37:45 -08:00
|
|
|
};
|
|
|
|
|
2005-01-12 22:08:07 -08:00
|
|
|
struct _E_Border_Pending_Move_Resize
|
|
|
|
{
|
|
|
|
int x, y, w, h;
|
|
|
|
unsigned char move : 1;
|
|
|
|
unsigned char resize : 1;
|
|
|
|
};
|
|
|
|
|
2005-01-10 14:24:23 -08:00
|
|
|
struct _E_Event_Border_Resize
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _E_Event_Border_Move
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
2005-01-10 18:40:50 -08:00
|
|
|
struct _E_Event_Border_Add
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _E_Event_Border_Remove
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
2005-01-11 00:00:05 -08:00
|
|
|
struct _E_Event_Border_Show
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _E_Event_Border_Hide
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
2005-03-10 15:54:49 -08:00
|
|
|
struct _E_Event_Border_Iconify
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _E_Event_Border_Uniconify
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
2005-02-10 07:21:23 -08:00
|
|
|
struct _E_Event_Border_Stick
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _E_Event_Border_Unstick
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
2005-02-13 03:12:51 -08:00
|
|
|
struct _E_Event_Border_Zone_Set
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
E_Zone *zone;
|
|
|
|
};
|
|
|
|
|
2005-01-11 00:00:05 -08:00
|
|
|
struct _E_Event_Border_Desk_Set
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
E_Desk *desk;
|
|
|
|
};
|
|
|
|
|
2005-09-07 07:55:46 -07:00
|
|
|
struct _E_Event_Border_Stack
|
2005-03-18 08:30:49 -08:00
|
|
|
{
|
2005-09-07 07:55:46 -07:00
|
|
|
E_Border *border, *stack;
|
|
|
|
E_Stacking type;
|
2005-03-18 08:30:49 -08:00
|
|
|
};
|
|
|
|
|
2005-03-20 03:49:32 -08:00
|
|
|
struct _E_Event_Border_Icon_Change
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
2006-05-22 13:28:33 -07:00
|
|
|
struct _E_Event_Border_Focus_In
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _E_Event_Border_Focus_Out
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
2006-10-24 07:32:22 -07:00
|
|
|
struct _E_Event_Border_Urgent_Change
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
2006-08-07 13:25:34 -07:00
|
|
|
struct _E_Event_Border_Property
|
|
|
|
{
|
|
|
|
E_Border *border;
|
|
|
|
};
|
|
|
|
|
2005-03-20 03:49:32 -08:00
|
|
|
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI int e_border_init(void);
|
|
|
|
EAPI int e_border_shutdown(void);
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2006-03-08 00:54:43 -08:00
|
|
|
EAPI E_Border *e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal);
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI void e_border_free(E_Border *bd);
|
|
|
|
EAPI void e_border_ref(E_Border *bd);
|
|
|
|
EAPI void e_border_unref(E_Border *bd);
|
2006-06-16 01:50:42 -07:00
|
|
|
EAPI void e_border_res_change_geometry_save(E_Border *bd);
|
|
|
|
EAPI void e_border_res_change_geometry_restore(E_Border *bd);
|
|
|
|
|
2005-02-13 03:12:51 -08:00
|
|
|
EAPI void e_border_zone_set(E_Border *bd, E_Zone *zone);
|
2005-01-05 02:37:53 -08:00
|
|
|
EAPI void e_border_desk_set(E_Border *bd, E_Desk *desk);
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI void e_border_show(E_Border *bd);
|
2005-02-15 04:11:31 -08:00
|
|
|
EAPI void e_border_hide(E_Border *bd, int manage);
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI void e_border_move(E_Border *bd, int x, int y);
|
2006-08-30 06:37:35 -07:00
|
|
|
EAPI void e_border_fx_offset(E_Border *bd, int x, int y);
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI void e_border_resize(E_Border *bd, int w, int h);
|
|
|
|
EAPI void e_border_move_resize(E_Border *bd, int x, int y, int w, int h);
|
2005-09-02 00:38:40 -07:00
|
|
|
EAPI void e_border_layer_set(E_Border *bd, int layer);
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI void e_border_raise(E_Border *bd);
|
|
|
|
EAPI void e_border_lower(E_Border *bd);
|
|
|
|
EAPI void e_border_stack_above(E_Border *bd, E_Border *above);
|
|
|
|
EAPI void e_border_stack_below(E_Border *bd, E_Border *below);
|
2005-07-12 10:51:16 -07:00
|
|
|
EAPI void e_border_focus_latest_set(E_Border *bd);
|
2004-11-25 07:32:36 -08:00
|
|
|
EAPI void e_border_focus_set(E_Border *bd, int focus, int set);
|
2004-12-20 13:33:31 -08:00
|
|
|
EAPI void e_border_shade(E_Border *bd, E_Direction dir);
|
|
|
|
EAPI void e_border_unshade(E_Border *bd, E_Direction dir);
|
2005-06-19 07:59:41 -07:00
|
|
|
EAPI void e_border_maximize(E_Border *bd, E_Maximize max);
|
2006-06-07 14:42:13 -07:00
|
|
|
EAPI void e_border_unmaximize(E_Border *bd, E_Maximize max);
|
2005-11-04 15:30:18 -08:00
|
|
|
EAPI void e_border_fullscreen(E_Border *bd, E_Fullscreen policy);
|
2005-05-02 02:19:55 -07:00
|
|
|
EAPI void e_border_unfullscreen(E_Border *bd);
|
2004-12-20 13:33:31 -08:00
|
|
|
EAPI void e_border_iconify(E_Border *bd);
|
|
|
|
EAPI void e_border_uniconify(E_Border *bd);
|
2005-01-07 23:10:13 -08:00
|
|
|
EAPI void e_border_stick(E_Border *bd);
|
|
|
|
EAPI void e_border_unstick(E_Border *bd);
|
2007-02-27 08:16:03 -08:00
|
|
|
EAPI void e_border_pinned_set(E_Border *bd, int set);
|
2005-01-07 23:10:13 -08:00
|
|
|
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI E_Border *e_border_find_by_client_window(Ecore_X_Window win);
|
2005-04-13 08:52:34 -07:00
|
|
|
EAPI E_Border *e_border_find_by_frame_window(Ecore_X_Window win);
|
|
|
|
EAPI E_Border *e_border_find_by_window(Ecore_X_Window win);
|
2005-06-06 08:22:05 -07:00
|
|
|
EAPI E_Border *e_border_find_by_alarm(Ecore_X_Sync_Alarm alarm);
|
2005-01-11 05:11:12 -08:00
|
|
|
EAPI E_Border *e_border_focused_get(void);
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2004-11-24 21:31:21 -08:00
|
|
|
EAPI void e_border_idler_before(void);
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-09-28 10:36:35 -07:00
|
|
|
EAPI Evas_List *e_border_client_list(void);
|
2004-12-20 19:01:19 -08:00
|
|
|
|
2005-04-29 09:04:43 -07:00
|
|
|
EAPI void e_border_act_move_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev);
|
2005-04-29 12:42:19 -07:00
|
|
|
EAPI void e_border_act_move_end(E_Border *bd, Ecore_X_Event_Mouse_Button_Up *ev);
|
2005-04-29 09:04:43 -07:00
|
|
|
EAPI void e_border_act_resize_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev);
|
2005-04-29 12:42:19 -07:00
|
|
|
EAPI void e_border_act_resize_end(E_Border *bd, Ecore_X_Event_Mouse_Button_Up *ev);
|
2005-04-30 00:03:35 -07:00
|
|
|
EAPI void e_border_act_menu_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev, int key);
|
2005-04-29 12:42:19 -07:00
|
|
|
EAPI void e_border_act_close_begin(E_Border *bd);
|
2005-04-30 00:03:35 -07:00
|
|
|
EAPI void e_border_act_kill_begin(E_Border *bd);
|
2005-05-04 23:45:47 -07:00
|
|
|
|
2005-06-03 04:41:20 -07:00
|
|
|
EAPI Evas_Object *e_border_icon_add(E_Border *bd, Evas *evas);
|
2005-06-02 23:43:23 -07:00
|
|
|
|
2005-05-04 23:45:47 -07:00
|
|
|
EAPI void e_border_button_bindings_ungrab_all(void);
|
|
|
|
EAPI void e_border_button_bindings_grab_all(void);
|
2005-06-11 23:50:34 -07:00
|
|
|
|
|
|
|
EAPI Evas_List *e_border_focus_stack_get(void);
|
2005-06-19 05:35:05 -07:00
|
|
|
EAPI Evas_List *e_border_lost_windows_get(E_Zone *zone);
|
2005-06-11 23:50:34 -07:00
|
|
|
|
2005-06-20 01:56:54 -07:00
|
|
|
EAPI void e_border_ping(E_Border *bd);
|
2005-06-23 21:10:18 -07:00
|
|
|
EAPI void e_border_move_cancel(void);
|
|
|
|
EAPI void e_border_resize_cancel(void);
|
2005-08-14 15:22:17 -07:00
|
|
|
EAPI void e_border_frame_recalc(E_Border *bd);
|
2005-07-08 01:43:27 -07:00
|
|
|
EAPI Evas_List *e_border_immortal_windows_get(void);
|
2005-06-23 21:10:18 -07:00
|
|
|
|
2005-09-22 09:36:59 -07:00
|
|
|
EAPI const char *e_border_name_get(E_Border *bd);
|
2005-08-29 18:42:56 -07:00
|
|
|
|
2006-03-02 04:03:48 -08:00
|
|
|
EAPI void e_border_signal_move_begin(E_Border *bd, const char *sig, const char *src);
|
|
|
|
EAPI void e_border_signal_move_end(E_Border *bd, const char *sig, const char *src);
|
2005-09-22 09:36:59 -07:00
|
|
|
EAPI int e_border_resizing_get(E_Border *bd);
|
2006-03-02 04:03:48 -08:00
|
|
|
EAPI void e_border_signal_resize_begin(E_Border *bd, const char *dir, const char *sig, const char *src);
|
|
|
|
EAPI void e_border_signal_resize_end(E_Border *bd, const char *dir, const char *sig, const char *src);
|
2005-09-23 08:47:18 -07:00
|
|
|
EAPI void e_border_resize_limit(E_Border *bd, int *w, int *h);
|
2005-09-22 09:36:59 -07:00
|
|
|
|
2005-01-10 14:24:23 -08:00
|
|
|
extern EAPI int E_EVENT_BORDER_RESIZE;
|
|
|
|
extern EAPI int E_EVENT_BORDER_MOVE;
|
2005-01-10 18:40:50 -08:00
|
|
|
extern EAPI int E_EVENT_BORDER_ADD;
|
2005-01-11 00:00:05 -08:00
|
|
|
extern EAPI int E_EVENT_BORDER_SHOW;
|
|
|
|
extern EAPI int E_EVENT_BORDER_HIDE;
|
2005-01-10 18:40:50 -08:00
|
|
|
extern EAPI int E_EVENT_BORDER_REMOVE;
|
2005-03-10 15:54:49 -08:00
|
|
|
extern EAPI int E_EVENT_BORDER_ICONIFY;
|
|
|
|
extern EAPI int E_EVENT_BORDER_UNICONIFY;
|
2005-02-10 07:21:23 -08:00
|
|
|
extern EAPI int E_EVENT_BORDER_STICK;
|
|
|
|
extern EAPI int E_EVENT_BORDER_UNSTICK;
|
2005-02-13 03:12:51 -08:00
|
|
|
extern EAPI int E_EVENT_BORDER_ZONE_SET;
|
2005-01-11 00:00:05 -08:00
|
|
|
extern EAPI int E_EVENT_BORDER_DESK_SET;
|
2005-09-07 07:55:46 -07:00
|
|
|
extern EAPI int E_EVENT_BORDER_STACK;
|
2005-03-20 03:49:32 -08:00
|
|
|
extern EAPI int E_EVENT_BORDER_ICON_CHANGE;
|
2006-10-24 07:32:22 -07:00
|
|
|
extern EAPI int E_EVENT_BORDER_URGENT_CHANGE;
|
2006-05-22 13:28:33 -07:00
|
|
|
extern EAPI int E_EVENT_BORDER_FOCUS_IN;
|
|
|
|
extern EAPI int E_EVENT_BORDER_FOCUS_OUT;
|
2006-08-07 13:25:34 -07:00
|
|
|
extern EAPI int E_EVENT_BORDER_PROPERTY;
|
2005-01-10 14:24:23 -08:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
#endif
|
2005-01-12 08:03:09 -08:00
|
|
|
#endif
|