# ZChassis (filter)

A handy setup for a standard, titled, draggable subwindow (a non-background child of a ZSplit). The top of the subwindow contains a banner with a close button, a title that can be used to drag the window, and a grow button.

At
  (List, `0.5 0.5`)
  This determines the initial position of the subwindow. See ZChild.
Open
  (Boolean, `FALSE`)
  If true, the subwindow is initially visible. See ZChild.
Title
  (Sx, `(Text "<Unnamed>")`)
  This is the text inside the draggable part of the title bar.
NoClose
  (Boolean, `FALSE`)
  If true, the close button is omitted.

Shape
  Shape of its child plus borders, frames, and the title bar.
See Also
  ZSplit and ZChild

Except for some details of the feedback and the handling of keywords, ZChassis could be defined by a macro:

      (Macro ZChassis ((Open   FALSE)
                       (At     (0.5 0.5))
                       (Title  "<Untitled>")
                       child)
        `(ZChild
           (Open ,Open)
           (At ,@At)
           (Stable
             (Border
               (VBox
                 (HBox
                   (CloseButton "C")
                   Bar
                   (Shape (Width + Inf) (ZMove ,Title))
                   Bar
                   (ZGrow "G"))
                 Bar
                 (Frame ,child))))))