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.

EdgeInsets

Padding and margin specification

Padding and margins. Uniform, symmetric, or one side at a time.

Properties

topNumber

Top inset

leadingNumber

Leading (left) inset

bottomNumber

Bottom inset

trailingNumber

Trailing (right) inset

Methods

EdgeInsets.all(value)EdgeInsets ›

Same inset on all sides.

  • value Number required
EdgeInsets.symmetric(horizontal?, vertical?)EdgeInsets ›

Symmetric horizontal and vertical insets.

  • horizontal Number
  • vertical Number
EdgeInsets.only(options)EdgeInsets ›

Individual side insets: { top, leading, bottom, trailing }. left and right are accepted too.

  • options Any required
    • top Number

      Points.

    • leading Number

      Points. left also works.

    • bottom Number

      Points.

    • trailing Number

      Points. right also works.

EdgeInsets.zero()EdgeInsets ›

Zero insets on all sides.

Examples

Padding examples

const pad = EdgeInsets.all(16);
const hv = EdgeInsets.symmetric({
  horizontal: 20, vertical: 10
});
const custom = EdgeInsets.only({
  top: 8, bottom: 16
});