{
  "name": "appletv",
  "kind": "registry",
  "title": "Apple TV",
  "description": "A remote for your Apple TV under the keys: the clickpad on the arrows, Now Playing in full with chapters, subtitles, Up Next and lyrics, links played on the TV in one key (copy a YouTube link and pal offers it), your apps a digit away, typing into the TV's search from the keyboard, sleep and wake, users, and the menu bar. Pairs in a guided setup, no other app or hub needed.",
  "version": "0.1.0",
  "icon": {
    "tile": {
      "svg": "M20.57 17.735h-1.815l-3.34-9.203h1.633l2.02 5.987c.075.231.273.9.586 2.012l.297-.997.33-1.006 2.094-6.004H24zm-5.344-.066a5.76 5.76 0 0 1-1.55.207c-1.23 0-1.84-.693-1.84-2.087V9.646h-1.063V8.532h1.121V7.081l1.476-.602v2.062h1.707v1.113H13.38v5.805c0 .446.074.75.214.932.14.182.396.264.75.264.207 0 .495-.041.883-.115zm-7.29-5.343c.017 1.764 1.55 2.358 1.567 2.366-.017.042-.248.842-.808 1.658-.487.71-.99 1.418-1.79 1.435-.783.016-1.03-.462-1.93-.462-.89 0-1.17.445-1.913.478-.758.025-1.344-.775-1.838-1.484-.998-1.451-1.765-4.098-.734-5.88.51-.89 1.426-1.451 2.416-1.46.75-.016 1.468.512 1.93.512.461 0 1.327-.627 2.234-.536.38.016 1.452.157 2.136 1.154-.058.033-1.278.743-1.27 2.219M6.468 7.988c.404-.495.685-1.18.61-1.864-.585.025-1.294.388-1.723.883-.38.437-.71 1.138-.619 1.806.652.05 1.328-.338 1.732-.825Z",
      "box": 24,
      "bg": "#000000"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/appletv@v0.17.4",
  "source": "https://github.com/zcag/pal-extensions/tree/HEAD/appletv",
  "commit": "4d2559cf9c04d0133c97d7c897f19a14acb9eace",
  "manifest": {
    "name": "appletv",
    "title": "Apple TV",
    "description": "A remote for your Apple TV under the keys: the clickpad on the arrows, Now Playing in full with chapters, subtitles, Up Next and lyrics, links played on the TV in one key (copy a YouTube link and pal offers it), your apps a digit away, typing into the TV's search from the keyboard, sleep and wake, users, and the menu bar. Pairs in a guided setup, no other app or hub needed.",
    "keywords": [
      "atv",
      "tv",
      "remote",
      "appletv"
    ],
    "version": "0.1.0",
    "icon": {
      "tile": {
        "svg": "M20.57 17.735h-1.815l-3.34-9.203h1.633l2.02 5.987c.075.231.273.9.586 2.012l.297-.997.33-1.006 2.094-6.004H24zm-5.344-.066a5.76 5.76 0 0 1-1.55.207c-1.23 0-1.84-.693-1.84-2.087V9.646h-1.063V8.532h1.121V7.081l1.476-.602v2.062h1.707v1.113H13.38v5.805c0 .446.074.75.214.932.14.182.396.264.75.264.207 0 .495-.041.883-.115zm-7.29-5.343c.017 1.764 1.55 2.358 1.567 2.366-.017.042-.248.842-.808 1.658-.487.71-.99 1.418-1.79 1.435-.783.016-1.03-.462-1.93-.462-.89 0-1.17.445-1.913.478-.758.025-1.344-.775-1.838-1.484-.998-1.451-1.765-4.098-.734-5.88.51-.89 1.426-1.451 2.416-1.46.75-.016 1.468.512 1.93.512.461 0 1.327-.627 2.234-.536.38.016 1.452.157 2.136 1.154-.058.033-1.278.743-1.27 2.219M6.468 7.988c.404-.495.685-1.18.61-1.864-.585.025-1.294.388-1.723.883-.38.437-.71 1.138-.619 1.806.652.05 1.328-.338 1.732-.825Z",
        "box": 24,
        "bg": "#000000"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "suggests": [
      "samsungtv"
    ],
    "settings": [
      {
        "kind": "text",
        "id": "device",
        "label": "Apple TV",
        "placeholder": "Living Room",
        "description": "Which paired Apple TV the remote, the root commands and the bar item control, by its name. Empty: the one paired last. d on the remote switches, and writes it here.",
        "default": ""
      },
      {
        "kind": "list",
        "id": "favorites",
        "label": "Dock",
        "placeholder": "An app's name (YouTube) or bundle id",
        "description": "The apps on the remote's dock, in order; each gets a digit, 1 to 8. Empty: the apps you open most. cmd+D in Apple TV Apps adds or removes one.",
        "default": []
      },
      {
        "kind": "number",
        "id": "skip",
        "label": "Skip",
        "description": "How far , and . (and Skip Back / Forward at the root) move what plays.",
        "min": 5,
        "max": 60,
        "step": 5,
        "unit": "s",
        "default": 10
      },
      {
        "kind": "boolean",
        "id": "wake",
        "label": "Wake",
        "text": "Wake the Apple TV when the remote opens",
        "description": "With HDMI-CEC on, the TV set comes on with it.",
        "default": true
      },
      {
        "kind": "boolean",
        "id": "stay",
        "label": "Stay connected",
        "text": "Keep the connection open in the background",
        "description": "So the menu bar item follows what plays and a key answers at once. Off, pal connects while the remote is open and lets go a minute and a half after.",
        "default": true
      }
    ],
    "palettes": {
      "remote": {
        "title": "Apple TV Remote",
        "description": "The clickpad on the arrows, Enter selects, Backspace goes back, the TV button on h; what is playing with its cover and a seek bar, the volume, your dock of apps on the digits, and a field that types into the TV.",
        "kind": "view",
        "keywords": [
          "clickpad",
          "control"
        ],
        "refresh": 15,
        "on": [
          "wake",
          "network",
          "show"
        ],
        "keys": [
          {
            "keys": "up, down, left, right",
            "title": "Move (the clickpad)"
          },
          {
            "keys": "shift+up, shift+down, shift+left, shift+right",
            "title": "Swipe"
          },
          {
            "keys": "enter",
            "title": "Select"
          },
          {
            "keys": "shift+enter",
            "title": "Hold Select: more options"
          },
          {
            "keys": "backspace",
            "title": "Back"
          },
          {
            "keys": "h",
            "title": "Home, the TV button"
          },
          {
            "keys": "tab",
            "title": "App switcher"
          },
          {
            "keys": "c",
            "title": "Control Center"
          },
          {
            "keys": "space",
            "title": "Play or pause"
          },
          {
            "keys": ", .",
            "title": "Skip back or forward"
          },
          {
            "keys": "cmd+left, cmd+right",
            "title": "Previous or next (chapter, track)"
          },
          {
            "keys": "- =",
            "title": "Volume down or up"
          },
          {
            "keys": "1-8",
            "title": "Open a dock app"
          },
          {
            "keys": "n",
            "title": "Now Playing"
          },
          {
            "keys": "l",
            "title": "Play the link just copied (or pick one)"
          },
          {
            "keys": "a",
            "title": "All apps"
          },
          {
            "keys": "t",
            "title": "Type into the field the TV shows"
          },
          {
            "keys": "p",
            "title": "Sleep or wake"
          },
          {
            "keys": "s",
            "title": "Screen saver"
          },
          {
            "keys": "u",
            "title": "Switch user"
          },
          {
            "keys": "d",
            "title": "Switch Apple TV (with several paired)"
          },
          {
            "keys": "b",
            "title": "Next sound output (when the group's TV serves them)"
          },
          {
            "keys": "shift+s",
            "title": "Reconnect sound (when the group's TV offers it)"
          },
          {
            "keys": "cmd+c",
            "title": "Copy what is playing"
          },
          {
            "keys": "r",
            "title": "Reconnect"
          }
        ]
      },
      "now": {
        "title": "Now Playing on Apple TV",
        "description": "What plays on the Apple TV in full: the cover with its colour behind it, the show, season and episode or the artist, the synopsis, a position bar split at the chapters, hold-to-scrub, speed, subtitles and audio, and a panel for Up Next, Chapters, Audio, Subtitles, Lyrics and Info.",
        "kind": "view",
        "keywords": [
          "playing",
          "up next",
          "queue",
          "chapters",
          "subtitles",
          "lyrics"
        ],
        "refresh": 15,
        "on": [
          "wake",
          "network",
          "show"
        ],
        "keys": [
          {
            "keys": "space",
            "title": "Play or pause"
          },
          {
            "keys": "left, right",
            "title": "Scrub: hold to go faster, one seek when you let go"
          },
          {
            "keys": "shift+left, shift+right",
            "title": "Scrub by the minute"
          },
          {
            "keys": ", .",
            "title": "Skip back or forward"
          },
          {
            "keys": "cmd+left, cmd+right",
            "title": "Previous or next (chapter, episode, track)"
          },
          {
            "keys": "tab",
            "title": "Next panel: Up Next, Chapters, Audio, Subtitles, Lyrics, Info"
          },
          {
            "keys": "q c a s y i",
            "title": "Open a panel"
          },
          {
            "keys": "up, down, enter",
            "title": "Walk the panel; play, jump or choose"
          },
          {
            "keys": "[ ]",
            "title": "Slower or faster"
          },
          {
            "keys": "l",
            "title": "Like (music)"
          },
          {
            "keys": "cmd+s, cmd+r",
            "title": "Shuffle, repeat"
          },
          {
            "keys": "- =",
            "title": "Volume"
          },
          {
            "keys": "o",
            "title": "The remote"
          },
          {
            "keys": "cmd+c",
            "title": "Copy what is playing"
          }
        ]
      },
      "play": {
        "title": "Play on Apple TV",
        "description": "Send a link to the TV in one key: a YouTube video (at its start time), a Netflix title or an Apple TV+ page. Lists the link just copied, the browser tab in front (a YouTube video from where it is in the tab, which pauses as the TV takes over), every link in the clipboard history and what was played before; a link typed or pasted at the root is offered there too.",
        "kind": "input",
        "keywords": [
          "youtube",
          "netflix",
          "link",
          "url",
          "cast",
          "send"
        ],
        "match": "https?://\\S*(youtu\\.?be|netflix\\.com/(title|watch)|tv\\.apple\\.com)",
        "inline": true,
        "keys": [
          {
            "keys": "enter",
            "title": "Play on the TV"
          },
          {
            "keys": "cmd+enter",
            "title": "Play from the start (a link with a start time)"
          },
          {
            "keys": "cmd+o",
            "title": "Open in the browser"
          },
          {
            "keys": "cmd+c",
            "title": "Copy the link"
          }
        ]
      },
      "apps": {
        "title": "Apple TV Apps",
        "description": "Every app on the Apple TV with its icon; Enter opens it on the TV.",
        "kind": "list",
        "lazy": true,
        "keys": [
          {
            "keys": "enter",
            "title": "Open on the TV"
          },
          {
            "keys": "cmd+enter",
            "title": "Open, then show the remote"
          },
          {
            "keys": "cmd+d",
            "title": "Add to or remove from the dock"
          },
          {
            "keys": "cmd+c",
            "title": "Copy the bundle id"
          }
        ]
      },
      "commands": {
        "title": "Apple TV",
        "description": "Play or pause, sleep, wake, home, Control Center, the screen saver, skip, volume, typing and switching users or Apple TVs, as root results.",
        "kind": "list",
        "tier": "primary",
        "keys": [
          {
            "keys": "enter",
            "title": "Run"
          },
          {
            "keys": "tab",
            "title": "On Type on Apple TV: the text to type"
          }
        ]
      },
      "users": {
        "title": "Apple TV Users",
        "description": "The people signed in on the Apple TV; Enter switches to one.",
        "kind": "list",
        "lazy": true,
        "keys": [
          {
            "keys": "enter",
            "title": "Switch to this user"
          }
        ]
      },
      "setup": {
        "title": "Set Up Apple TV",
        "description": "Finds the Apple TVs on the network and pairs one in two codes: the remote, then what is playing (skippable); ends with a check of what works.",
        "kind": "view",
        "keywords": [
          "pair"
        ],
        "keys": [
          {
            "keys": "1-9",
            "title": "Pair with that Apple TV"
          },
          {
            "keys": "enter",
            "title": "Send the code"
          },
          {
            "keys": "n",
            "title": "Show a new code"
          },
          {
            "keys": "s",
            "title": "Skip the now playing step"
          },
          {
            "keys": "i",
            "title": "Type an address"
          },
          {
            "keys": "r",
            "title": "Look again"
          },
          {
            "keys": "x",
            "title": "Forget an Apple TV"
          }
        ]
      }
    },
    "bar": {
      "playing": {
        "title": "Apple TV",
        "description": "What plays on the Apple TV, hidden while nothing does; a link just copied brings it up for a minute and a half to offer it. The popover is the remote: what plays, the clickpad and the buttons, the dock on the digits, the copied link on l.",
        "refresh": {
          "every": 60,
          "on": [
            "show",
            "wake",
            "network"
          ]
        },
        "keys": [
          {
            "keys": "up, down, left, right",
            "title": "Move"
          },
          {
            "keys": "enter",
            "title": "Select"
          },
          {
            "keys": "backspace",
            "title": "Back"
          },
          {
            "keys": "h",
            "title": "Home"
          },
          {
            "keys": "space",
            "title": "Play or pause"
          },
          {
            "keys": ", .",
            "title": "Skip back or forward"
          },
          {
            "keys": "- =",
            "title": "Volume"
          },
          {
            "keys": "1-6",
            "title": "Open a dock app"
          },
          {
            "keys": "t",
            "title": "Type into the TV"
          },
          {
            "keys": "p",
            "title": "Sleep or wake"
          },
          {
            "keys": "l",
            "title": "Play the copied link"
          },
          {
            "keys": "n",
            "title": "Now Playing"
          }
        ],
        "rules": [
          {
            "id": "paused",
            "when": "appletv.power == 'on' and not appletv.playing and appletv.title",
            "description": "Something is loaded but paused: muted on the strip.",
            "color": "muted"
          }
        ],
        "settings": [
          {
            "kind": "select",
            "id": "when",
            "label": "Show",
            "description": "While something plays (paused counts), or whenever the Apple TV is awake (the app in front then).",
            "options": [
              {
                "id": "playing",
                "title": "While something plays"
              },
              {
                "id": "awake",
                "title": "While the Apple TV is awake"
              }
            ],
            "default": "playing"
          },
          {
            "kind": "boolean",
            "id": "artwork",
            "label": "Icon",
            "text": "The app's icon instead of the TV mark",
            "default": false,
            "description": "Off, the strip keeps the TV mark like the menu bar's other glyphs; on, the App Store icon with rounded corners."
          }
        ],
        "mocks": {
          "playing": {
            "title": "A film playing",
            "item": {
              "icon": "󰔂",
              "title": "The Long Quiet",
              "tooltip": "The Long Quiet · TV on Living Room"
            }
          },
          "paused": {
            "title": "Paused",
            "item": {
              "icon": "󰔂",
              "title": "The Long Quiet",
              "color": "muted",
              "tooltip": "The Long Quiet · TV on Living Room, paused"
            }
          },
          "asleep": {
            "title": "Asleep or nothing playing",
            "item": {
              "hidden": true,
              "empty": {
                "icon": "󰔂",
                "tooltip": "Living Room is asleep"
              }
            }
          }
        }
      }
    },
    "states": {
      "power": {
        "description": "The Apple TV's power: on, off, screensaver, unknown",
        "kind": "string"
      },
      "playing": {
        "description": "Something is playing on the Apple TV",
        "kind": "boolean"
      },
      "app": {
        "description": "The app in front on the Apple TV",
        "kind": "string"
      },
      "title": {
        "description": "The title of what plays on the Apple TV",
        "kind": "string"
      }
    },
    "links": {
      "key": {
        "description": "Press a remote button",
        "params": {
          "name": {
            "description": "up, down, left, right, select, menu, home, play_pause, volume_up, volume_down, sleep, wake, screensaver",
            "required": true
          },
          "press": {
            "description": "tap (default), double or hold"
          }
        }
      },
      "launch": {
        "description": "Open an app on the Apple TV",
        "params": {
          "app": {
            "description": "Its name (YouTube), bundle id, or a url the app handles",
            "required": true
          }
        }
      },
      "power": {
        "description": "Wake the Apple TV or put it to sleep",
        "params": {
          "to": {
            "description": "on, off or toggle (default)"
          }
        }
      },
      "type": {
        "description": "Type into the text field the Apple TV shows",
        "params": {
          "text": {
            "description": "The text",
            "required": true
          },
          "append": {
            "description": "Add to what is there instead of replacing it",
            "type": "boolean"
          }
        }
      },
      "media": {
        "description": "A transport command",
        "params": {
          "command": {
            "description": "play_pause, play, pause, next, previous, skip_forward, skip_backward, seek",
            "required": true
          },
          "value": {
            "description": "Seconds: how far to skip, or where to seek",
            "type": "number"
          }
        }
      },
      "volume": {
        "description": "The volume, as the TV set reports it over HDMI-CEC",
        "params": {
          "level": {
            "description": "up, down, or 0 to 100",
            "required": true
          }
        }
      },
      "play": {
        "description": "Play a link on the Apple TV: the url given, else the link just copied, else the browser tab in front",
        "params": {
          "url": {
            "description": "A YouTube or Netflix link, or an Apple TV+ page"
          }
        }
      }
    },
    "store": {
      "tagline": "Your Apple TV's remote, Now Playing and links, from the keyboard",
      "category": "media",
      "features": [
        "The clickpad on the arrows, Enter selects, Backspace goes back, h is the TV button; swipes on shift and the arrows",
        "Now Playing in full: the cover's colour behind it, chapters on the position bar, hold-to-scrub, speed, subtitles and audio, Up Next, lyrics",
        "Play a link on the TV in one key: copy a YouTube link and pal offers it, or paste one at the root",
        "The YouTube video in your browser carries on on the TV from where you were, and the tab pauses (Chrome with its DevTools port on; Browser Tabs' rows offer it too)",
        "Your dock of apps on the digits, drawn as the TV's own tvOS icons; every app at the root: type `youtube`, press Enter",
        "Type into the TV's search from the keyboard instead of hunting letters on screen",
        "Sleep and wake, Control Center, the app switcher, the screen saver, switching users",
        "A menu bar item with what plays; its popover is the remote",
        "Guided setup: finds the Apple TV, takes the code it shows, and checks what works",
        "In a group with your TV (Settings › Groups), the remote sets the TV's volume, switches its inputs, moves its sound (b, shift+S reconnects a soundbar) and wakes both",
        "With Samsung TV installed too, o opens the TV's own remote over this one (its settings, its sound) and Escape comes back"
      ],
      "permissions": [
        "network"
      ],
      "platforms": [
        "macos",
        "linux"
      ],
      "screenshots": [
        {
          "file": "1-now.png",
          "caption": "Now Playing: the episode on its own colour, the chapters on the position bar, speed, subtitles and audio, Up Next with its stills"
        },
        {
          "file": "2-remote.png",
          "caption": "The remote: the clickpad and the buttons, what plays, your apps as the TV draws them on the digits, the volume"
        },
        {
          "file": "3-play.png",
          "caption": "Play on Apple TV: the link just copied, the browser tab in front and every link copied before; Enter plays it on the TV"
        },
        {
          "file": "4-offer.png",
          "caption": "Copy a YouTube link and the remote offers it: l plays it on the TV, at its start time"
        },
        {
          "file": "5-lyrics.png",
          "caption": "A song with its lyrics, the line playing lit; hold an arrow to scrub, one seek when you let go"
        },
        {
          "file": "6-setup.png",
          "caption": "Guided setup: type the code the TV shows; a second code adds what is playing"
        },
        {
          "file": "bar-menubar.png",
          "caption": "On the menu bar: what plays on the Apple TV",
          "kind": "bar"
        },
        {
          "file": "bar-popover.png",
          "caption": "A click opens the remote: what plays with its seek bar, the clickpad and the buttons, the dock on the digits",
          "kind": "bar",
          "box": [
            352,
            64,
            840,
            934
          ]
        },
        {
          "file": "bar-sketchybar.png",
          "caption": "On sketchybar: the TV mark and the title",
          "kind": "bar"
        }
      ]
    },
    "controls": [
      "volume",
      "power",
      "player"
    ]
  },
  "playable": false,
  "updated_at": "2026-11-02T04:38:11Z",
  "url": "https://pal.cagdas.io/extensions/appletv",
  "tagline": "Your Apple TV's remote, Now Playing and links, from the keyboard",
  "category": "media",
  "screenshots": [
    "https://pal.cagdas.io/extensions/appletv/screenshots/1-now-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/1-now.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/2-remote-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/2-remote.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/3-play-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/3-play.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/4-offer-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/4-offer.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/5-lyrics-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/5-lyrics.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/6-setup-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/6-setup.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-menubar-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-menubar.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-popover-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-popover.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-sketchybar-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-sketchybar.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/appletv/screenshots/1-now.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/2-remote.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/3-play.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/4-offer.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/5-lyrics.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/6-setup.png"
  ],
  "bar_screenshots": [
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-menubar.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-popover.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-sketchybar.png"
  ],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/appletv/screenshots/1-now-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/2-remote-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/3-play-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/4-offer-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/5-lyrics-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/6-setup-dark.png"
  ],
  "bar_screenshots_dark": [
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-menubar-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-popover-dark.png",
    "https://pal.cagdas.io/extensions/appletv/screenshots/bar-sketchybar-dark.png"
  ],
  "has_bar": true,
  "bar_items": [
    {
      "id": "playing",
      "title": "Apple TV",
      "description": "What plays on the Apple TV, hidden while nothing does; a link just copied brings it up for a minute and a half to offer it. The popover is the remote: what plays, the clickpad and the buttons, the dock on the digits, the copied link on l.",
      "refresh": {
        "every": 60,
        "on": [
          "show",
          "wake",
          "network"
        ]
      },
      "refresh_words": "every 1 min, when the panel shows, on wake, when the network is back"
    }
  ],
  "has_links": true,
  "links": [
    {
      "route": "key",
      "url": "pal://appletv/key?name=\u003cname\u003e",
      "cli": "pal call appletv/key name=\u003cname\u003e",
      "description": "Press a remote button",
      "params": [
        {
          "name": "name",
          "description": "up, down, left, right, select, menu, home, play_pause, volume_up, volume_down, sleep, wake, screensaver",
          "required": true
        },
        {
          "name": "press",
          "description": "tap (default), double or hold"
        }
      ]
    },
    {
      "route": "launch",
      "url": "pal://appletv/launch?app=\u003capp\u003e",
      "cli": "pal call appletv/launch app=\u003capp\u003e",
      "description": "Open an app on the Apple TV",
      "params": [
        {
          "name": "app",
          "description": "Its name (YouTube), bundle id, or a url the app handles",
          "required": true
        }
      ]
    },
    {
      "route": "power",
      "url": "pal://appletv/power",
      "cli": "pal call appletv/power",
      "description": "Wake the Apple TV or put it to sleep",
      "params": [
        {
          "name": "to",
          "description": "on, off or toggle (default)"
        }
      ]
    },
    {
      "route": "type",
      "url": "pal://appletv/type?text=\u003ctext\u003e",
      "cli": "pal call appletv/type text=\u003ctext\u003e",
      "description": "Type into the text field the Apple TV shows",
      "params": [
        {
          "name": "text",
          "description": "The text",
          "required": true
        },
        {
          "name": "append",
          "description": "Add to what is there instead of replacing it",
          "type": "boolean"
        }
      ]
    },
    {
      "route": "media",
      "url": "pal://appletv/media?command=\u003ccommand\u003e",
      "cli": "pal call appletv/media command=\u003ccommand\u003e",
      "description": "A transport command",
      "params": [
        {
          "name": "command",
          "description": "play_pause, play, pause, next, previous, skip_forward, skip_backward, seek",
          "required": true
        },
        {
          "name": "value",
          "description": "Seconds: how far to skip, or where to seek",
          "type": "number"
        }
      ]
    },
    {
      "route": "volume",
      "url": "pal://appletv/volume?level=\u003clevel\u003e",
      "cli": "pal call appletv/volume level=\u003clevel\u003e",
      "description": "The volume, as the TV set reports it over HDMI-CEC",
      "params": [
        {
          "name": "level",
          "description": "up, down, or 0 to 100",
          "required": true
        }
      ]
    },
    {
      "route": "play",
      "url": "pal://appletv/play",
      "cli": "pal call appletv/play",
      "description": "Play a link on the Apple TV: the url given, else the link just copied, else the browser tab in front",
      "params": [
        {
          "name": "url",
          "description": "A YouTube or Netflix link, or an Apple TV+ page"
        }
      ]
    }
  ],
  "multi": false,
  "has_readme": true
}
