Window Management¶
Tools¶
window: Control Excel window visibility, position, state, and worksheet-specific views
Actions¶
| Action | Purpose | Parameters |
|---|---|---|
show | Make Excel visible and bring to front | (none) |
hide | Hide the Excel window | (none) |
bring-to-front | Bring Excel to foreground | (none) |
get-info | Get window state information | (none) |
set-state | Set window state | window_state (normal, minimized, maximized) |
set-position | Set position and size | left, top, width, height (all optional, in points) |
arrange | Apply preset layout | preset (left-half, right-half, top-half, bottom-half, center, full-screen) |
set-status-bar | Show text in Excel status bar | text (required — e.g. "Building PivotTable...") |
clear-status-bar | Restore default status bar | (none) |
get-view | Read panes, zoom, and display options | sheet_name |
freeze-panes | Freeze top rows and/or left columns | sheet_name, frozen_rows, frozen_columns |
unfreeze-panes | Remove frozen panes and splits | sheet_name |
set-split | Create movable pane splits | sheet_name, split_rows, split_columns |
set-zoom | Set worksheet zoom (10-400%) | sheet_name, zoom |
set-display-options | Show/hide gridlines, headings, outline symbols | sheet_name, optional display flags |
Worksheet View Controls¶
View settings belong to a workbook window and apply to the named active worksheet. Always pass sheet_name.
1. window(freeze-panes, sheet_name='Summary', frozen_rows=1, frozen_columns=1)
2. window(set-zoom, sheet_name='Summary', zoom=125)
3. window(set-display-options, sheet_name='Summary', show_gridlines=false)
4. window(get-view, sheet_name='Summary')
freeze-panes interprets values as the number of rows above and columns left of the boundary. At least one count must be greater than zero. set-split disables frozen panes; pass zero for both counts to remove splits.
Movable splits are stored by Excel as window geometry. Set zoom and display options before set-split when exact row or column counts must remain stable.
When to Use Window Management¶
Interactive "Agent Mode" — User Watches AI Work in Excel¶
1. window(show) → Excel becomes visible
2. window(arrange, preset='right-half') → Position Excel on right side of screen
3. ... perform Excel operations ... → User watches changes live
4. window(hide) → Hide when done (optional)
Side-by-Side Layout¶
1. window(show)
2. window(arrange, preset='left-half') → Excel takes left half of screen
→ User's AI assistant occupies the right half
Check Current State¶
Arrange Presets¶
| Preset | Position | Use Case |
|---|---|---|
left-half | Left 50% of screen | Side-by-side with AI assistant |
right-half | Right 50% of screen | Side-by-side with AI assistant |
top-half | Top 50% of screen | Stacked view |
bottom-half | Bottom 50% of screen | Stacked view |
center | Centered, 60% of screen | Focused work |
full-screen | Maximized | Full visibility |
Best Practices¶
- Show before operating visually: If the user wants to watch operations, call
show+arrangebefore starting the workflow - Visibility syncs with session: Show/hide updates session metadata —
file(list)reflects the current visibility state - Arrange makes visible:
arrangeautomatically shows Excel if it's hidden - set-state makes visible: Setting state to normal/maximized automatically shows Excel
- set-position ensures normal state: Setting position switches from maximized/minimized to normal automatically
- Use get-info to check state: Before positioning, check if Excel is already visible and where it is
Common Patterns¶
Demo Mode — Show User the Work¶
1. file(open, path='report.xlsx')
2. window(show)
3. window(arrange, preset='left-half')
4. ... create tables, charts, formatting ...
5. file(close, save=true)
→ Excel hidden automatically on close
Quick Peek — Show Result Then Hide¶
1. ... perform operations while hidden ...
2. window(show) → Show the result
3. screenshot(capture-sheet) → Also capture for chat
4. window(hide) → Hide again