Come posso aggiungere promemoria tramite la riga di comando?

18

Una volta ogni tanto può essere utile aggiungere alcuni promemoria a Reminders.app dalla riga di comando, specialmente perché sono sincronizzati con iCloud. C'è un modo per farlo?

Una soluzione che non si basa su AppleScript è preferita : a) per motivi di prestazioni (probabilmente stupide) eb) Le soluzioni AppleScript spesso mi sembrano goffe o eccessivamente prolisse.

    
posta myhd 11.10.2012 - 00:21
fonte

5 risposte

9
osascript - title <<END
on run a
tell app "Reminders"
tell list "Reminders" of default account
make new reminder with properties {name:item 1 of a}
end
end
end
END

Potresti anche creare un flusso di lavoro di Automator con solo un'azione New Reminders Item vuota e poi eseguirlo con automator -i title test.workflow .

Vedi anche questo post su Suggerimenti per Mac OS X .

    
risposta data 11.10.2012 - 02:26
fonte
13

Ecco un'altra versione che ti consente di impostare titolo, data di fine e ora tramite argomenti della riga di comando.

#!/usr/bin/env bash                                                                                                               
# Make a new reminder via terminal script                                                                                         
# args: remind <title> <date> <time>                                                                                                                                                                                 

osascript - "$1" "$2" "$3" <<END                                                                                                        
on run argv                                                                                                                       
    set stringedAll to date (item 2 of argv & " " & item 3 of argv)                                                               
    tell application "Reminders"                                                                                                  
        make new reminder with properties {name:item 1 of argv, due date:stringedAll}                                             
    end tell                                                                                                                      
end run                                                                                                                           
END    

Quindi, se dovessi nominare questo script "ricorda" e assegnargli i privilegi di esecuzione (chmod 755 ricorda), potresti fare questo:

$ ./remind "Go to grocery store" 12/15/2013 10:00:00PM                              
    
risposta data 07.12.2013 - 02:59
fonte
2
tell application "Reminders"
    activate
    show list "Reminders"
end tell
set stringedDate to "12/11/2015"
set stringedHour to "10:00:00PM"
set stringedAll to date (stringedDate & " " & stringedHour)
tell application "Reminders" to tell list "Reminders" of default account to make new reminder with properties {name:"this is just test remainder", remind me date:stringedAll, due date:stringedAll, priority:1}
    
risposta data 07.04.2015 - 11:54
fonte
2

Ecco la stessa funzionalità del precedente AppleScript; ma in JXA con ES6.

#!/usr/bin/env osascript -l JavaScript

const RemindersApp = Application('Reminders');

function run(argv) {
  [name, date, time] = argv;

  dueDate = new Date(date + " " + time);

  reminder = RemindersApp.Reminder({name: name, dueDate: dueDate});

  RemindersApp.defaultList.reminders.push(reminder);
}
    
risposta data 04.01.2018 - 16:23
fonte
0

Questo progetto github funziona alla grande e non usa AppleScript. È un'app XCode compilata.

link

    
risposta data 28.02.2018 - 17:54
fonte

Leggi altre domande sui tag