i3
include/workspace.h
Go to the documentation of this file.
00001 /*
00002  * vim:ts=4:sw=4:expandtab
00003  *
00004  * i3 - an improved dynamic tiling window manager
00005  * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
00006  *
00007  * workspace.c: Modifying workspaces, accessing them, moving containers to
00008  *              workspaces.
00009  *
00010  */
00011 #ifndef _WORKSPACE_H
00012 #define _WORKSPACE_H
00013 
00014 #include "data.h"
00015 #include "tree.h"
00016 #include "randr.h"
00017 
00027 Con *workspace_get(const char *num, bool *created);
00028 
00029 /*
00030  * Returns a pointer to a new workspace in the given output. The workspace
00031  * is created attached to the tree hierarchy through the given content
00032  * container.
00033  *
00034  */
00035 Con *create_workspace_on_output(Output *output, Con *content);
00036 
00037 #if 0
00038 
00045 void workspace_set_name(Workspace *ws, const char *name);
00046 #endif
00047 
00054 bool workspace_is_visible(Con *ws);
00055 
00060 void workspace_show(Con *ws);
00061 
00066 void workspace_show_by_name(const char *num);
00067 
00072 Con* workspace_next(void);
00073 
00078 Con* workspace_prev(void);
00079 
00084 Con* workspace_next_on_output(void);
00085 
00090 Con* workspace_prev_on_output(void);
00091 
00096 void workspace_back_and_forth(void);
00097 
00098 
00099 #if 0
00100 
00109 void workspace_assign_to(Workspace *ws, Output *screen, bool hide_it);
00110 
00118 void workspace_initialize(Workspace *ws, Output *screen, bool recheck);
00119 
00125 Workspace *get_first_workspace_for_output(Output *screen);
00126 
00135 void workspace_unmap_clients(xcb_connection_t *conn, Workspace *u_ws);
00136 
00141 void workspace_map_clients(xcb_connection_t *conn, Workspace *ws);
00142 #endif
00143 
00149 void workspace_update_urgent_flag(Con *ws);
00150 
00157 void ws_force_orientation(Con *ws, orientation_t orientation);
00158 
00169 Con *workspace_attach_to(Con *ws);
00170 
00171 #endif