_MetaStack Struct Reference

A sorted list of windows bearing some level of resemblance to the stack of windows on the X server. More...


Data Fields

MetaScreenscreen
 The MetaScreen containing this stack.
GArray * windows
 A sequence of all the Windows (X handles, not MetaWindows) of the windows we manage, sorted in order.
GList * sorted
 The MetaWindows of the windows we manage, sorted in order.
GList * added
 MetaWindows waiting to be added to the "sorted" and "windows" list, after being added by meta_stack_add() and before being assimilated by stack_ensure_sorted().
GList * removed
 Windows (X handles, not MetaWindows) waiting to be removed from the "windows" list, after being removed by meta_stack_remove() and before being assimilated by stack_ensure_sorted().
int freeze_count
 If this is zero, the local stack oughtn't to be brought up to date with the X server's stack, because it is in the middle of being updated.
GArray * last_root_children_stacked
 The last-known stack of all windows, bottom to top.
gint n_positions
 Number of stack positions; same as the length of added, but kept for quick reference.
unsigned int need_resort: 1
 Is the stack in need of re-sorting?
unsigned int need_relayer: 1
 Are the windows in the stack in need of having their layers recalculated?
unsigned int need_constrain: 1
 Are the windows in the stack in need of having their positions recalculated with respect to transiency (parent and child windows)?


Detailed Description

A sorted list of windows bearing some level of resemblance to the stack of windows on the X server.

(This is only used as a field within a MetaScreen; we treat it as a separate class for simplicity.)

Definition at line 69 of file stack.h.


Field Documentation

The MetaScreen containing this stack.

Definition at line 72 of file stack.h.

Referenced by meta_stack_new(), and stack_sync_to_server().

A sequence of all the Windows (X handles, not MetaWindows) of the windows we manage, sorted in order.

Suitable to be passed into _NET_CLIENT_LIST.

Definition at line 78 of file stack.h.

Referenced by meta_stack_free(), meta_stack_new(), stack_do_window_additions(), stack_do_window_deletions(), and stack_sync_to_server().

MetaWindows waiting to be added to the "sorted" and "windows" list, after being added by meta_stack_add() and before being assimilated by stack_ensure_sorted().

The order of the elements in this list is not important; what is important is the stack_position element of each window.

Definition at line 91 of file stack.h.

Referenced by meta_stack_add(), meta_stack_free(), meta_stack_new(), meta_stack_remove(), and stack_do_window_additions().

Windows (X handles, not MetaWindows) waiting to be removed from the "windows" list, after being removed by meta_stack_remove() and before being assimilated by stack_ensure_sorted().

(We already removed them from the "sorted" list.)

The order of the elements in this list is not important.

Definition at line 101 of file stack.h.

Referenced by meta_stack_free(), meta_stack_new(), meta_stack_remove(), and stack_do_window_deletions().

If this is zero, the local stack oughtn't to be brought up to date with the X server's stack, because it is in the middle of being updated.

If it is positive, the local stack is said to be "frozen", and will need to be thawed that many times before the stack can be brought up to date again. You may freeze the stack with meta_stack_freeze() and thaw it with meta_stack_thaw().

Definition at line 111 of file stack.h.

Referenced by meta_stack_freeze(), meta_stack_new(), meta_stack_thaw(), and stack_sync_to_server().

The last-known stack of all windows, bottom to top.

We cache it here so that subsequent times we'll be able to do incremental moves.

Definition at line 117 of file stack.h.

Referenced by meta_stack_free(), meta_stack_new(), and stack_sync_to_server().

Number of stack positions; same as the length of added, but kept for quick reference.

Definition at line 123 of file stack.h.

Referenced by meta_stack_add(), meta_stack_new(), meta_stack_raise(), meta_stack_remove(), and stack_do_constrain().

Are the windows in the stack in need of having their layers recalculated?

Definition at line 132 of file stack.h.

Referenced by meta_stack_new(), meta_stack_update_layer(), stack_do_relayer(), and stack_do_window_additions().

Are the windows in the stack in need of having their positions recalculated with respect to transiency (parent and child windows)?

Definition at line 138 of file stack.h.

Referenced by meta_stack_new(), meta_stack_set_positions(), meta_stack_update_transient(), meta_window_set_stack_position_no_sync(), stack_do_constrain(), stack_do_relayer(), and stack_do_window_additions().


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

Generated on Sat Aug 23 22:04:25 2008 for metacity by  doxygen 1.5.5