Uma ferramenta de linha de comando flexível para implantar instantaneamente interfaces de usuário para comandos e scripts simples.
A mala é uma ferramenta de linha de comando que pode ser "programada" para exibir uma interface Swiftui que pode acionar comandos e scripts.
? Download direto da mala
É semelhante aos atalhos, mas para macOS e impulsionado pela linha de comando.

Devido ao seu traseiro Swiftui, a mala é um cidadão de primeira classe. Com suporte para fora da caixa para, Modo Dark, Menubars e arraste e solte.
Seu poder e flexibilidade vêm formando a linha de comando UNIX comprovada e confiável. Qualquer coisa que você possa fazer no terminal que você pode fazer na mala, mas com uma interface do usuário e exportar o comando como um arquivo .command , para verificar com um projeto ou compartilhar com o mundo.
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 Um processo basic da mala possui um menu principal e um ícone no dock ao ser executado.
Veja a documentação completa.
Um processo de mala utility não possui um ícone de dock ou menu principal. Consiste em apenas uma janela principal.
Veja a documentação completa.
Esses exemplos são muito básicos, mas devem dar uma boa idéia de como você pode usar a mala. Mais detalhes podem ser encontrados no bazar. Se você tiver alguma dúvida, crie um problema. Se você criar um comando e gostaria de compartilhá -lo, abra um PR no bazar.

Um exemplo simples consistindo de um botão que, quando clicado, chama o comando say . Assista ao vídeo deste exemplo em ação, há um say detalhado no Bazaar da mala.
$ 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 " 
Um exemplo mais avançado usando os botões e passando parâmetros para o comando say . Uma explicação detalhada dos jogos de guerra pode ser encontrada no bazar da mala.
$ 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 " 
Este exemplo mostra como criar menus e submenus. As ações podem ser anexadas a qualquer item de menu da mesma maneira que button s. Assista ao vídeo deste exemplo em ação.
Os itens do menu também podem receber um atalho de teclado. Veja a documentação completa para obter mais detalhes.
$ 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 " 
Este é um exemplo mais envolvido que usa defaults para ler o sistema MacOS User Padrates e usar sed para definir um label de estado. Assista ao vídeo deste exemplo em ação.
$ 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 "É assim que o comando seria executado no terminal.
$ defaults read com.apple.finder AppleShowAllFiles | sed ' s/1/Visible/g;s/0/Hidden/g ' O botão usa & para executar dois comandos, um para escrever nos padrões do usuário e o segundo para relançar o Finder:
$ defaults write com.apple.finder AppleShowAllFiles -bool TRUEMate o Finder e relançar:
$ killall Finder.command Qualquer comando de mala pode ser exportado como um arquivo .command auto -executado. Você pode clicar duas vezes neste arquivo para iniciar a mala ou compartilhar o arquivo (é apenas um texto simples).

Por favor, crie um problema.
Lançamentos e notícias (@suitcasecli) Richard Stelling (@rjstelling)