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;
00074 extern unsigned int EWL_CALLBACK_DELETE_WINDOW;
00076 Ewl_Widget *ewl_window_new(void);
00077 int ewl_window_init(Ewl_Window *win);
00078 Ewl_Window *ewl_window_window_find(void *window);
00079 void ewl_window_title_set(Ewl_Window *win, const char *title);
00080 const char *ewl_window_title_get(Ewl_Window *win);
00081 void ewl_window_name_set(Ewl_Window *win, const char *name);
00082 const char *ewl_window_name_get(Ewl_Window *win);
00083 void ewl_window_class_set(Ewl_Window *win, const char *classname);
00084 const char *ewl_window_class_get(Ewl_Window *win);
00085 void ewl_window_borderless_set(Ewl_Window *win, unsigned int border);
00086 unsigned int ewl_window_borderless_get(Ewl_Window *win);
00087 void ewl_window_dialog_set(Ewl_Window *win, int dialog);
00088 int ewl_window_dialog_get(Ewl_Window *win);
00089 void ewl_window_fullscreen_set(Ewl_Window *win,
00090 unsigned int fullscreen);
00091 unsigned int ewl_window_fullscreen_get(Ewl_Window *win);
00092 void ewl_window_skip_taskbar_set(Ewl_Window *win,
00093 unsigned int skip);
00094 unsigned int ewl_window_skip_taskbar_get(Ewl_Window *win);
00095 void ewl_window_skip_pager_set(Ewl_Window *win,
00096 unsigned int skip);
00097 unsigned int ewl_window_skip_pager_get(Ewl_Window *win);
00098 void ewl_window_attention_demand(Ewl_Window *win);
00099 void ewl_window_urgent_set(Ewl_Window *win, unsigned int urgent);
00100 unsigned int ewl_window_urgent_get(Ewl_Window *win);
00101 void ewl_window_move(Ewl_Window *win, int x, int y);
00102 void ewl_window_raise(Ewl_Window *win);
00103 void ewl_window_lower(Ewl_Window *win);
00104 void ewl_window_transient_for(Ewl_Window *win, Ewl_Window *forwin);
00105 void ewl_window_transient_for_foreign(Ewl_Window *win,
00106 Ewl_Embed_Window *forwin);
00107 void ewl_window_leader_set(Ewl_Window *win, Ewl_Window *leader);
00108 void ewl_window_leader_foreign_set(Ewl_Window *win,
00109 Ewl_Embed_Window *leader);
00110 Ewl_Window *ewl_window_leader_get(Ewl_Window *win);
00111 Ewl_Embed_Window *ewl_window_leader_foreign_get(Ewl_Window *win);
00112 int ewl_window_modal_get(Ewl_Window *win);
00113 void ewl_window_modal_set(Ewl_Window *win, int modal);
00114 void ewl_window_keyboard_grab_set(Ewl_Window *win, int grab);
00115 int ewl_window_keyboard_grab_get(Ewl_Window *win);
00116 void ewl_window_pointer_grab_set(Ewl_Window *win, int grab);
00117 int ewl_window_pointer_grab_get(Ewl_Window *win);
00118 void ewl_window_override_set(Ewl_Window *win, int override);
00119 int ewl_window_override_get(Ewl_Window *win);
00120
00121
00122
00123
00124 void ewl_window_cb_realize(Ewl_Widget *w, void *ev_data, void *user_data);
00125 void ewl_window_cb_postrealize(Ewl_Widget *w, void *ev_data, void *user_data);
00126 void ewl_window_cb_realize_parent(Ewl_Widget *w, void *ev_data,
00127 void *user_data);
00128 void ewl_window_cb_unrealize(Ewl_Widget *w, void *ev_data, void *user_data);
00129 void ewl_window_cb_show(Ewl_Widget *w, void *ev_data, void *user_data);
00130 void ewl_window_cb_expose(Ewl_Widget *w, void *ev, void *user_data);
00131 void ewl_window_cb_hide(Ewl_Widget *w, void *ev_data, void *user_data);
00132 void ewl_window_cb_destroy(Ewl_Widget *w, void *ev_data, void *user_data);
00133 void ewl_window_cb_configure(Ewl_Widget *w, void *ev_data, void *user_data);
00134
00139 #endif