.. rst3: filename: html/slides/scripting-leo/slide-003.html Official ivars ============== The c, g and p objects give Leo scripts access to all parts of Leo and Leo outlines. There are many official ivars (instance variables) that scripts may use. Here are a few: **c.frame** is an object representing the actual parts of Leo screen. For any frame, frame.c is the frame’s commander, so c.frame.c is always c. **g.app** is the object representing the entire Leo application. The ivars of g.app represent Leo’s global variables. **p.v** is the **vnode** at position p. A vnode represents an outline node. Vnodes hold most of the data in Leo outlines. For any vnode v, v.h is the node’s headline, and v.b is the node’s body text. **p.h** and **p.b** are synonyms for p.v.h and p.v.b. Because of clones, a *vnode may appear in several positions in a traversal*.