Workspace Struct Reference

The concept of Workspaces is known from various other window managers. More...

#include <data.h>

Collaboration diagram for Workspace:
[legend]

Public Member Functions

 SLIST_HEAD (focus_stack_head, Client) focus_stack
 The focus stack contains the clients in the correct order of focus so that the focus can be reverted correctly when a client is closed.
 TAILQ_HEAD (floating_clients_head, Client) floating_clients
 This tail queue contains the floating clients in order of when they were first set to floating (new floating clients are just appended).
 TAILQ_ENTRY (Workspace) workspaces

Data Fields

int num
 Number of this workspace, starting from 0.
char * utf8_name
 Name of the workspace (in UTF-8).
char * name
 Name of the workspace (in UCS-2).
int name_len
 Length of the workspace’s name (in glyphs).
int text_width
 Width of the workspace’s name (in pixels) rendered in config.font.
Rect rect
 x, y, width, height
int cols
 table dimensions
int rows
 table dimensions
int current_row
 These are stored here only while this workspace is _not_ shown (see show_workspace()).
int current_col
 These are stored here only while this workspace is _not_ shown (see show_workspace()).
bool auto_float
 Should clients on this workspace be automatically floating?
bool floating_hidden
 Are the floating clients on this workspace currently hidden?
char * preferred_output
 The name of the RandR output this screen should be on.
bool urgent
 True if any client on this workspace has its urgent flag set.
Clientfullscreen_client
 the client who is started in fullscreen mode on this workspace, NULL if there is none
Outputoutput
 Backpointer to the output this workspace is on.
Container *** table
 This is a two-dimensional dynamic array of Container-pointers.
float * width_factor
 width_factor and height_factor contain the amount of space (percentage) a column/row has of all the space which is available for resized windows.
float * height_factor

Detailed Description

The concept of Workspaces is known from various other window managers.

Basically, a workspace is a specific set of windows, usually grouped thematically (irc, www, work, …). You can switch between these.

Definition at line 182 of file data.h.


Member Function Documentation

Workspace::SLIST_HEAD ( focus_stack_head  ,
Client   
)

The focus stack contains the clients in the correct order of focus so that the focus can be reverted correctly when a client is closed.

Workspace::TAILQ_ENTRY ( Workspace   ) 
Workspace::TAILQ_HEAD ( floating_clients_head  ,
Client   
)

This tail queue contains the floating clients in order of when they were first set to floating (new floating clients are just appended).


Field Documentation

Should clients on this workspace be automatically floating?

Definition at line 214 of file data.h.

Referenced by parse_command().

These are stored here only while this workspace is _not_ shown (see show_workspace()).

Definition at line 211 of file data.h.

Referenced by check_crossing_screen_boundary(), cleanup_table(), move_current_window_to_workspace(), reparent_window(), set_focus(), and workspace_show().

These are stored here only while this workspace is _not_ shown (see show_workspace()).

Definition at line 208 of file data.h.

Referenced by check_crossing_screen_boundary(), cleanup_table(), move_current_window_to_workspace(), reparent_window(), set_focus(), and workspace_show().

Are the floating clients on this workspace currently hidden?

Definition at line 216 of file data.h.

Referenced by floating_toggle_hide(), and workspace_map_clients().

Name of the workspace (in UCS-2).

Definition at line 190 of file data.h.

Referenced by load_configuration(), render_internal_bar(), and workspace_set_name().

Length of the workspace’s name (in glyphs).

Definition at line 193 of file data.h.

Referenced by load_configuration(), render_internal_bar(), and workspace_set_name().

The name of the RandR output this screen should be on.

Definition at line 219 of file data.h.

Referenced by get_first_workspace_for_output(), initialize_output(), workspace_initialize(), and yyparse().

Width of the workspace’s name (in pixels) rendered in config.font.

Definition at line 196 of file data.h.

Referenced by button_press_bar(), load_configuration(), render_internal_bar(), and workspace_set_name().

True if any client on this workspace has its urgent flag set.

Definition at line 222 of file data.h.

Referenced by IPC_HANDLER(), render_internal_bar(), reparent_window(), and workspace_update_urgent_flag().

Name of the workspace (in UTF-8).

Definition at line 187 of file data.h.

Referenced by IPC_HANDLER(), and workspace_set_name().

width_factor and height_factor contain the amount of space (percentage) a column/row has of all the space which is available for resized windows.

This ensures that non-resized windows (newly opened, for example) have the same size as always

Definition at line 250 of file data.h.

Referenced by expand_table_cols(), expand_table_cols_at_head(), get_unoccupied_x(), render_workspace(), resize_container(), and shrink_table_cols().


The documentation for this struct was generated from the following file:

Generated on 2 Jul 2010 for i3 by  doxygen 1.6.1