All Projects → JeffersonQin → MahiruLauncher

JeffersonQin / MahiruLauncher

Licence: MIT license
🍢 Cross-platform modular launcher

Programming Languages

C#
18002 projects
shell
77523 projects

Projects that are alternatives of or similar to MahiruLauncher

osx-statusbar-countdown
⏳📅 A utility to count down to a date from your macOS menubar, written in Swift
Stars: ✭ 40 (+185.71%)
Mutual labels:  osx
ULogViewer
Cross-Platform Universal Log Viewer.
Stars: ✭ 64 (+357.14%)
Mutual labels:  osx
outspline
Extensible outliner and personal time organizer to manage todo lists, schedule tasks, remind events.
Stars: ✭ 41 (+192.86%)
Mutual labels:  task-scheduler
osx-callhistory-decryptor
macOS (incl big sur) call history decryptor/converter to CSV format.
Stars: ✭ 19 (+35.71%)
Mutual labels:  osx
brewfile
🍎 Brewfile to install softwares in macOS for engineers
Stars: ✭ 37 (+164.29%)
Mutual labels:  osx
Dropbox-Paper-Desktop
Unofficial Dropbox Paper app for OS X
Stars: ✭ 22 (+57.14%)
Mutual labels:  osx
WoWDatabaseEditor
Integrated development environment (IDE), an editor for Smart Scripts (SAI/smart_scripts) for TrinityCore based servers. Featuring a 3D view built with OpenGL and custom ECS framework
Stars: ✭ 155 (+1007.14%)
Mutual labels:  avaloniaui
dotFiles
My config files that I use
Stars: ✭ 12 (-14.29%)
Mutual labels:  osx
psutil
Cross-platform lib for process and system monitoring in Python
Stars: ✭ 8,488 (+60528.57%)
Mutual labels:  osx
onepile
Playground for the future of private notes and document management
Stars: ✭ 41 (+192.86%)
Mutual labels:  osx
MacForensics
Scripts to process macOS forensic artifacts
Stars: ✭ 118 (+742.86%)
Mutual labels:  osx
dw-thread-pool
A simple, header-only, dependency-free, C++ 11 based ThreadPool library.
Stars: ✭ 26 (+85.71%)
Mutual labels:  task-scheduler
mmap-io
Clean straight forward mmap-bindings for node.js
Stars: ✭ 62 (+342.86%)
Mutual labels:  osx
osx-cli
A collection of command line shortcuts for common OS X operations.
Stars: ✭ 21 (+50%)
Mutual labels:  osx
osxapp vers
Get product name, exact product version and build version from an Apple Install [Mac OS X|OS X|macOS]*.app or from a mounted Mac OS X Install CD/DVD image
Stars: ✭ 12 (-14.29%)
Mutual labels:  osx
libdigidocpp
Libdigidocpp library offers creating, signing and verification of digitally signed documents, according to XAdES and XML-DSIG standards. Documentation http://open-eid.github.io/libdigidocpp
Stars: ✭ 80 (+471.43%)
Mutual labels:  osx
MacOS-Developers-Excuses
A macOS screen saver that shows a random developer excuse over a beautiful photo background. Made with ❤
Stars: ✭ 53 (+278.57%)
Mutual labels:  osx
ManDrake
Native Mac man page editor with syntax coloring, mandoc syntax checking & live preview.
Stars: ✭ 130 (+828.57%)
Mutual labels:  osx
stackit
Cross-platform CloudFormation CLI tool for easy synchronous and idempotent stack updates
Stars: ✭ 37 (+164.29%)
Mutual labels:  osx
lldbg
A lightweight native GUI for LLDB.
Stars: ✭ 83 (+492.86%)
Mutual labels:  osx

MahiruLauncher

跨平台脚本管理启动器

Introduction

首先介绍这个工具里的两个概念:

  • Script: 配置的脚本
  • Task: 运行的任务

Task 可以由 Script 点击 Run 直接新建并运行,也可以由发送 POST 请求到 Server 产生,参见 Server API Section

Script

配置字段:

  • Name: 脚本名称
  • Identifier: 脚本 ID
  • Description: 脚本简介
  • Process Name (File Name): 进程名 / (二进制)文件路径。如果是 Working Directory 的相对路径,在路径前加上 * 即可。例如: *.\venv\Scripts\python.exe
  • Working Directory: 工作目录,相对目录可以在 settings 里的 Relative Working Directory 里设置,也可以直接填写绝对目录
  • Redirect Stream to File (启用本选项则无法 Use Shell to Execute): 是否重定向 stdout 和 stderr 到文件
  • Use Shell Execute: 使用 Shell 执行
  • Create No Window: 产生窗口
  • Starts when App Starts: 工具启动时自动创建任务执行 (适用于 server 类的脚本)
  • Default Argument List 默认参数列表
    • Name / Var: 参数名称 / 描述,或者调用程序提供的变量 (如活动任务的 uuid)
    • Value: 参数值
  • Drag and Drop Argument Name: 将拖拽到 script 上的内容当作参数的参数名称(支持文本和文件列表)

Task

每个 Task 由多种状态:

  • Success [Green]: 脚本像服务器汇报成功执行
  • Waiting [White]: 没有开始执行 (常见于任务创建失败时)
  • Error [Red]: 没有汇报成功便终止了进程
  • Running [Blue]: 执行中
  • Killed [Orange]: 用户手动终止

Special Var

  • $[SCHEDULE_UUID]: 当前任务的 uuid

Server API

GET /finish/{id}

  • 说明:汇报 uuid 为 {id} 的任务已经成功完成,如果汇报但是脚本运行结束了就会把 task 判定为失败
  • 参数:
    • {id}: 任务的 uuid
  • 返回值格式: json
  • 返回值字段:
    • Status: 状态, "success"|"error"
    • Message: 信息
  • 返回值示例:
    {
        "Status": "success",
        "Message": ""
    }
    {
        "Status": "error",
        "Message": "task not found"
    }

POST /start

  • 说明:开始新的任务
  • 表单参数:
    • id: 要启动的 Script 的 ID
    • arguments: json 格式的自定义参数列表(用于替换 Default Argument List 中的某些字段)
  • 返回值格式: json
  • 返回值字段:
    • Status: 状态, "success"|"error"
    • Message: 信息
  • 返回值示例:
    {
        "Status": "success",
        "Message": ""
    }

Build

  • Windows: 正常 build 即可
  • OSX:
    ./build-app.sh <short-version-string>

Screenshots

TODO

  • Drag & drop to run
  • Email notification when failed
  • Import & export xml files
  • Settings
  • Scheduler (cron)
  • Python library
  • Python script template

Technology Used

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].