X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fwm.h;h=0ba8a04506e3c77ab7d80ecd6c3b7ab79ccdfbc5;hb=32869d8ffb64be82541f48166c5e73a6c4336135;hp=fb60b245f1fef62c3ca7a3a3c80370219e86ef56;hpb=65eda3d5a8e4ad8d28bda12cace044628c1a69be;p=winnie diff --git a/src/wm.h b/src/wm.h index fb60b24..0ba8a04 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; @@ -25,6 +28,7 @@ private: Window *grab_win; Pixmap mouse_cursor; + Pixmap *background; void create_frame(Window *win); void destroy_frame(Window *win); @@ -44,16 +48,27 @@ 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); + 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; + + void set_background(const Pixmap *pixmap); + const Pixmap *get_background() 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;