LilyPond Internals Reference: 3.2.61 hara-kiri-group-spanner-interface

### 3.2.61 `hara-kiri-group-spanner-interface`

A group spanner that keeps track of interesting items. If it doesn’t contain any after line breaking, it removes itself and all its children. Greater control can be exercised via `remove-layer` which can prioritize layers so only the lowest-numbered non-empty layer is retained; make the layer independent of the group; or make it dependent on any other member of the group

#### User settable properties:

`remove-empty` (boolean)

  If set, remove group if it contains no interesting items.

`remove-first` (boolean)

  Remove the first staff of an orchestral score?

`remove-layer` (index or symbol)

  When set as a positive integer, the `Keep_alive_together_engraver` removes all `VerticalAxisGroup` grobs with a `remove-layer` larger than the smallest retained `remove-layer`. Set to `#f` to make a layer independent of the `Keep_alive_together_engraver`. Set to `'()`, the layer does not participate in the layering decisions. The property can also be set as a symbol for common behaviors: `#'any` to keep the layer alive with any other layer in the group; `#'above` or `#'below` to keep the layer alive with the context immediately before or after it, respectively.

#### Internal properties:

`important-column-ranks` (vector)

  A cache of columns that contain `items-worth-living` data.

`items-worth-living` (array of grobs)

  An array of interesting items. If empty in a particular staff, then that staff is erased.

`keep-alive-with` (array of grobs)

  An array of other `VerticalAxisGroup`s. If any of them are alive, then we will stay alive.

`make-dead-when` (array of grobs)

  An array of other `VerticalAxisGroup`s. If any of them are alive, then we will turn dead.

This grob interface is used in the following graphical object(s): `VerticalAxisGroup`.

#### LilyPond – Internals Reference v2.24.4 (stable-branch).