00001 /* 00002 * vim:ts=8:expandtab 00003 * 00004 * i3 - an improved dynamic tiling window manager 00005 * 00006 * © 2009-2010 Michael Stapelberg and contributors 00007 * 00008 * See file LICENSE for license information. 00009 * 00010 */ 00011 #include <xcb/xcb.h> 00012 00013 #include "data.h" 00014 #include "randr.h" 00015 00016 #ifndef _WORKSPACE_H 00017 #define _WORKSPACE_H 00018 00025 Workspace *workspace_get(int number); 00026 00034 void workspace_set_name(Workspace *ws, const char *name); 00035 00042 bool workspace_is_visible(Workspace *ws); 00043 00045 void workspace_show(xcb_connection_t *conn, int workspace); 00046 00056 void workspace_assign_to(Workspace *ws, Output *screen, bool hide_it); 00057 00065 void workspace_initialize(Workspace *ws, Output *screen, bool recheck); 00066 00072 Workspace *get_first_workspace_for_output(Output *screen); 00073 00082 void workspace_unmap_clients(xcb_connection_t *conn, Workspace *u_ws); 00083 00088 void workspace_map_clients(xcb_connection_t *conn, Workspace *ws); 00089 00095 void workspace_update_urgent_flag(Workspace *ws); 00096 00097 /* 00098 * Returns the width of the workspace. 00099 * 00100 */ 00101 int workspace_width(Workspace *ws); 00102 00103 /* 00104 * Returns the effective height of the workspace (without the internal bar and 00105 * without dock clients). 00106 * 00107 */ 00108 int workspace_height(Workspace *ws); 00109 00110 #endif