i3

include/workspace.h

Go to the documentation of this file.
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