Skip to content

Add Scheduled type support in New Service #4

@chenwei791129

Description

@chenwei791129

Feature Request

Summary

Add support for Scheduled type (using StartCalendarInterval or StartInterval) when creating a new service, in addition to the currently supported RunAtLoad type.

Problem

Currently, the New Service feature only supports creating services with the RunAtLoad type. Users who need to create scheduled/periodic launchd services must manually edit the plist file after creation, which defeats the purpose of having a GUI tool.

Proposed Solution

Add a Scheduled type option in the New Service creation flow that allows users to:

  • Choose between RunAtLoad and Scheduled as the service type
  • Configure schedule parameters when Scheduled is selected:
    • StartCalendarInterval: Set specific calendar-based schedules (e.g., every day at 3:00 AM, every Monday, etc.)
      • Minute, Hour, Day, Weekday, Month fields
    • StartInterval: Set a simple interval in seconds (e.g., run every 3600 seconds)

Expected Behavior

  1. In the New Service form, a type selector should allow choosing between RunAtLoad and Scheduled
  2. When Scheduled is selected, additional schedule configuration fields should appear
  3. The generated plist should include the appropriate StartCalendarInterval or StartInterval keys instead of (or in addition to) RunAtLoad

Additional Context

launchd supports multiple scheduling mechanisms as documented in Apple's launchd.plist man page. Supporting these in the GUI would make LaunchPal a more complete tool for managing macOS services.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions