X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fwm.h;h=140a3b0ade2d3e2b8f342ec151481bc09171ba27;hb=15e07ead145a859762b48ac9062a07cddf826151;hp=162121bb9f83e177ed95a0a1f4598b103da2ff40;hpb=4047a2dc058e7e54e4ff95311fb556ae8eeeedb9;p=winnie diff --git a/src/wm.h b/src/wm.h index 162121b..140a3b0 100644 --- a/src/wm.h +++ b/src/wm.h @@ -8,6 +8,9 @@ class Window; +bool init_window_manager(); +void destroy_window_manager(); + class WindowManager { private: std::list windows; @@ -22,6 +25,7 @@ private: Window *root_win; Window *focused_win; + Window *grab_win; Pixmap mouse_cursor; @@ -43,6 +47,24 @@ public: Window *get_focused_window(); Window *get_window_at_pos(int pointer_x, int pointer_y); + Window *get_root_window() const; + + void set_focused_frame_color(int r, int g, int b); + void get_focused_frame_color(int *r, int *g, int *b) const; + + void set_unfocused_frame_color(int r, int g, int b); + void get_unfocused_frame_color(int *r, int *g, int *b) const; + + Window *get_grab_window() const; + + void grab_mouse(Window *win); + void release_mouse(); + + void raise_window(Window *win); + void sink_window(Window *win); + + void maximize_window(Window *win); + void unmaximize_window(Window *win); }; extern WindowManager *wm;