Rootless

Automate iOS, iPadOS, and macOS using plain JavaScript. Build custom widgets and interact directly with native APIs.

Download on the App Store
Rootless app interface

Plain JavaScript

Supports ES6. Scripts are stored as plain .js files on your disk.

Native APIs & Documentation

Integrate directly with iOS native APIs. Fully documented, available offline.

Siri Shortcuts

Trigger scripts via Siri. Present tables, websites, and custom HTML natively.

System Integration

Run from the Share Sheet, process inputs, and manage local files via Files.app.

x-callback-url

Communicate seamlessly and trigger workflows with other apps on your device.

Customizable & Ready

Tailor the code editor to your liking. Includes several example scripts to start immediately.

Documentation

Also inside the app, or as rootless.json.

Container

Box container with styling

A box: background colour or gradient, padding, margin, corner radius, alignment and explicit size.

Methods

Container(options?)WidgetNode

A container with styling.

  • options Any
    • backgroundColor Color

      A flat fill.

    • backgroundGradient LinearGradient

      A gradient fill. Wins over backgroundColor.

    • padding EdgeInsets

      Space inside the border.

    • margin EdgeInsets

      Space outside it.

    • borderRadius Number

      Rounds all four corners.

    • alignment Alignment

      Where the child sits when the box is larger than it.

    • width Any

      A number of points, or a Size.

    • height Any

      A number of points, or a Size.

    • child WidgetNode

      The node inside.

Examples

Styled card

Container({
  backgroundColor: Color.hex("#1e1e1e"),
  padding: EdgeInsets.all(16),
  borderRadius: 12,
  child: Text("Card content", {
    color: Color.white()
  })
})