Инструмент гибкой командной строки для мгновенного развертывания пользовательских интерфейсов для простых команд и сценариев.
Чутекал - это инструмент командной строки, который можно «запрограммировать» для отображения интерфейса Swiftui, который может запускать команды и сценарии.
? Чемодан прямой скачивание
Это похоже на ярлыки, но для macOS и управляется командной строкой.

Из -за его Swiftui, подкрепленного чемоданом, является гражданином MAC первого класса. Благодаря поддержке коробки для темного режима, менубаров и перетаскивания.
Его мощность и гибкость приходят с проверенной и надежной командной строкой Unix. Все, что вы можете сделать в терминале, вы можете сделать в чемодане, но с пользовательским интерфейсом и экспортировать команду в виде файла .command , чтобы проверить с проектом или поделиться с миром.
OVERVIEW: A flexible command line tool for instantly deploying user interfaces
for simple commands and scripts.
USAGE: Suitcase <subcommand>
OPTIONS:
--version Show the version.
-h, --help Show help information.
SUBCOMMANDS:
basic Launch a basic Suitcase process, that has a main menu
and an icon in the Dock when running.
utility Launch a utility Suitcase process, without a Dock
icon or main menu.
basic basic процесс чемодана имеет основное меню и значок в доке при запуске.
Смотрите полную документацию.
Процесс utility чемодана не имеет значка дока или главного меню. Он состоит только из главного окна.
Смотрите полную документацию.
Эти примеры очень простые, но должны дать вам хорошее представление о том, как вы можете использовать чемодан. Более подробную информацию можно найти на базаре. Если у вас есть какие -либо вопросы, пожалуйста, создайте проблему. Если вы создаете команду и хотели бы поделиться ею, откройте пиар на базаре.

Простой пример, состоящий из одной кнопки, которая при нажатии вызывает команду say . Посмотрите видео этого примера в действии, на базаре Suitcase Bazaar есть подробный say .
$ Suitcase --name= " Demo App " --window-title= " Hello World "
--window-width= " 200 " --window-height= " 200 "
--control-type= " label " --control-title= " Give a face to every voice… "
--control-type= " button "
--control-title= " ? Say hello "
--control-action= " /usr/bin/say Hello World " 
Более продвинутый пример с использованием кнопок и передачи параметров в команду say . Подробное объяснение военных игр может быть найдено на Bazaar Suitcoman.
$ Suitcase --name= " War Games "
--control-title= " Shall we play a game? "
--control-type= " text-field "
--control-identifier= " say.textfield "
--control-title= " Daniel "
--control-type= " button "
--control-group-identifier= " g.btns "
--control-action= " /usr/bin/say "
--control-action-parameter= " -v,Daniel,say.textfield "
--control-title= " Samantha "
--control-type= " button "
--control-group-identifier= " g.btns "
--control-action= " /usr/bin/say "
--control-action-parameter= " -v,Samantha,say.textfield "
--control-title= " Veena "
--control-type= " button "
--control-group-identifier= " g.btns "
--control-action= " /usr/bin/say "
--control-action-parameter= " -v,Veena,say.textfield " 
Этот пример показывает, как создать меню и подменю. Действия могут быть прикреплены к любому пункту меню так же, как button . Посмотрите видео этого примера в действии.
В пунктах меню также можно назначить сочетание клавиатуры. Смотрите полную документацию для более подробной информации.
$ Suitcase --name= " Demo App " --window-title= " Menus "
--control-title= " UUID "
--control-type= " label " --control-identifier= " com.label.uuid "
--menu-title= " Action>Generate>UUID "
--menu-action= " /usr/bin/uuidgen "
--menu-action-destination= " com.label.uuid "
--menu-title= " Action>Copy UUID "
--menu-shortcut= " k "
--menu-action= " /usr/bin/printenv com.label.uuid | /usr/bin/pbcopy " 
Это более вовлеченный пример, который использует defaults для чтения системы по умолчанию MacOS и использования sed для установки label состояния. Посмотрите видео этого примера в действии.
$ Suitcase --name= " Hidden Finder Settings "
--control-title= " Hidden Files & Folders: "
--control-group-identifier= " com.finder.hidden "
--control-type= " label "
--control-title= " unknown "
--control-group-identifier= " com.finder.hidden "
--control-type= " label "
--control-identifier= " com.label.hidden.state "
--control-title= " Refresh "
--control-group-identifier= " com.finder.hidden "
--control-type= " button "
--control-action= " /usr/bin/defaults read com.apple.finder AppleShowAllFiles | /usr/bin/sed s/1/Visible/g;s/0/Hidden/g "
--control-action-destination= " com.label.hidden.state "
--control-title= " Enable "
--control-type= " button "
--control-group-identifier= " com.finder.hidden.buttons "
--control-action= " /usr/bin/defaults write com.apple.finder AppleShowAllFiles -bool TRUE & /usr/bin/killall Finder "
--control-title= " Disable "
--control-type= " button "
--control-group-identifier= " com.finder.hidden.buttons "
--control-action= " /usr/bin/defaults write com.apple.finder AppleShowAllFiles -bool FALSE & /usr/bin/killall Finder "Вот как команда будет запущена в терминале.
$ defaults read com.apple.finder AppleShowAllFiles | sed ' s/1/Visible/g;s/0/Hidden/g ' Кнопка использует & запустить две команды: одна для записи по умолчанию пользователя, а второе - повторный запуск Finder:
$ defaults write com.apple.finder AppleShowAllFiles -bool TRUEУбейте искателя и перезапускайте:
$ killall Finder.command Любая команда чемодана может быть экспортирована как самостоятельный файл .command . Вы можете дважды щелкнуть этот файл, чтобы запустить чемодан или поделиться файлом (это просто простой текст).

Пожалуйста, создайте проблему.
Релизы и новости (@suitcasecli) Ричард Стеллинг (@rjstelling)