lib/ewl_window.h
Go to the documentation of this file.00001
00002 #ifndef EWL_WINDOW_H
00003 #define EWL_WINDOW_H
00004
00027 #define EWL_WINDOW_TYPE "window"
00028
00033 #define EWL_WINDOW_IS(w) (ewl_widget_type_is(EWL_WIDGET(w), EWL_WINDOW_TYPE))
00034
00039 typedef struct Ewl_Window Ewl_Window;
00040
00045 #define EWL_WINDOW(win) ((Ewl_Window *) win)
00046
00051 struct Ewl_Window
00052 {
00053 Ewl_Embed embed;
00055 void *window;
00056 union {
00057 Ewl_Window *ewl;
00058 Ewl_Embed_Window *foreign;
00059 } transient;
00060 union {
00061 Ewl_Window *ewl;
00062 Ewl_Embed_Window *foreign;
00063 } leader;
00065 char *title;
00066 char *name;
00067 char *classname;
00069 Ewl_Window_Flags flags;
00070 Ewl_Window_Flags old_flags;
00071 };
00072
00073 extern unsigned int EWL_CALLBACK_EXPOSE;
00075 extern unsigned int EWL_CALLBACK_DELETE_WINDOW;
00078 Ewl_Widget *ewl_window_new(void);
00079 int ewl_window_init(Ewl_Window *win);
00080 Ewl_Window *ewl_window_window_find(void *window);
00081 void ewl_window_title_set(Ewl_Window *win,
00082 const char *title);
00083 const char *ewl_window_title_get(Ewl_Window *win);
00084 void ewl_window_name_set(Ewl_Window *win, const char *name);
00085 const char *ewl_window_name_get(Ewl_Window *win);
00086 void ewl_window_class_set(Ewl_Window *win,
00087 const char *classname);
00088 const char *ewl_window_class_get(Ewl_Window *win);
00089 void ewl_window_borderless_set(Ewl_Window *win,
00090 unsigned int border);
00091 unsigned int ewl_window_borderless_get(Ewl_Window *win);
00092 void ewl_window_dialog_set(Ewl_Window *win, int dialog);
00093 int ewl_window_dialog_get(Ewl_Window *win);
00094 void ewl_window_fullscreen_set(Ewl_Window *win,
00095 unsigned int fullscreen);
00096 unsigned int ewl_window_fullscreen_get(Ewl_Window *win);
00097 void ewl_window_skip_taskbar_set(Ewl_Window *win,
00098 unsigned int skip);
00099 unsigned int ewl_window_skip_taskbar_get(Ewl_Window *win);
00100 void ewl_window_skip_pager_set(Ewl_Window *win,
00101 unsigned int skip);
00102 unsigned int ewl_window_skip_pager_get(Ewl_Window *win);
00103 void ewl_window_attention_demand(Ewl_Window *win);
00104 void ewl_window_urgent_set(Ewl_Window *win,
00105 unsigned int urgent);
00106 unsigned int ewl_window_urgent_get(Ewl_Window *win);
00107 void ewl_window_move(Ewl_Window *win, int x, int y);
00108 void ewl_window_raise(Ewl_Window *win);
00109 void ewl_window_lower(Ewl_Window *win);
00110 void ewl_window_transient_for(Ewl_Window *win,
00111 Ewl_Window *forwin);
00112 void ewl_window_transient_for_foreign(Ewl_Window *win,
00113 Ewl_Embed_Window *forwin);
00114 void ewl_window_leader_set(Ewl_Window *win,
00115 Ewl_Window *leader);
00116 void ewl_window_leader_foreign_set(Ewl_Window *win,
00117 Ewl_Embed_Window *leader);
00118 Ewl_Window *ewl_window_leader_get(Ewl_Window *win);
00119 Ewl_Embed_Window *ewl_window_leader_foreign_get(Ewl_Window *win);
00120 int ewl_window_modal_get(Ewl_Window *win);
00121 void ewl_window_modal_set(Ewl_Window *win, int modal);
00122 void ewl_window_keyboard_grab_set(Ewl_Window *win, int grab);
00123 int ewl_window_keyboard_grab_get(Ewl_Window *win);
00124 void ewl_window_pointer_grab_set(Ewl_Window *win, int grab);
00125 int ewl_window_pointer_grab_get(Ewl_Window *win);
00126 void ewl_window_override_set(Ewl_Window *win, int override);
00127 int ewl_window_override_get(Ewl_Window *win);
00128
00129
00130
00131
00132 void ewl_window_cb_realize(Ewl_Widget *w, void *ev_data, void *user_data);
00133 void ewl_window_cb_postrealize(Ewl_Widget *w, void *ev_data, void *user_data);
00134 void ewl_window_cb_realize_parent(Ewl_Widget *w, void *ev_data,
00135 void *user_data);
00136 void ewl_window_cb_unrealize(Ewl_Widget *w, void *ev_data, void *user_data);
00137 void ewl_window_cb_show(Ewl_Widget *w, void *ev_data, void *user_data);
00138 void ewl_window_cb_expose(Ewl_Widget *w, void *ev, void *user_data);
00139 void ewl_window_cb_hide(Ewl_Widget *w, void *ev_data, void *user_data);
00140 void ewl_window_cb_destroy(Ewl_Widget *w, void *ev_data, void *user_data);
00141 void ewl_window_cb_configure(Ewl_Widget *w, void *ev_data, void *user_data);
00142
00147 #endif