Nudge launchagent

Asifahmed
New Contributor III

Hi All,

 

I just wanted to know if I want to customize the nudge agent in every after 3 Hrs then in my composer can I open the launchagent package(downloading it from github) and put the value accordingly in the plist and save it or still I need to create a new launch agent and build the package to deploy it?

 

Second question, if I get the Nudge popup and set it for tomorrow after selecting Defer button then where this settings gets stored to popup tomorrow? If I want to reset this settings what should I do now?

8 REPLIES 8

Tribruin
Valued Contributor II

If you want to modify the LaunchAgent, you will need to extract the plist from the package, updated it, and then create a new installer package. 

The deferrals are stored in "~/Library/Preferences/com.github.macadmins.Nudge.plist". You can delete this file to reset Nudge and force a prompt the next time Nudge launches. 

Asifahmed
New Contributor III

Hello, second one is clear I mean worked fine.

 

but I am not understanding for the first one. I opened the launchagent package in my composer and converted into source file and I can see the plist but I cant change the value from 30 mins to other value. 

Please see the below screenshot to understand what I am doing. 

Asifahmed_0-1675848127894.png

Please let me know if I am on wrong track and guide me accordingly. Thanks in advance.

 

Asifahmed
New Contributor III

If I use BBedit app to modify the plist for launchagent and min set to 50 mins instead of 30 then my Nudge is poping up in every min. Any idea why?

TechSpecialist
Contributor

@Asifahmed I think you're halfway there. You've found the plist file. Extract that from the package. Then change the settings as you please, and then you'll have to 'replace' the newer plist file you just created with the one that was in the original package. Once you've done that, you would need to re-build the package (assume you're using Composer). Then you're done and you can re-distribute this package.

My question is what value I need to put to prompt the Nudge every after 3 Hrs instead of 30 mins?

Replace the bit
 
<key>RunAtLoad</key> 

<true/>

<key>StartCalendarInterval</key>

<array> 

<dict> 

<key>Minute</key>

<integer>0</integer>

</dict> 

<dict> 

<key>Minute</key>

<integer>30</integer>

</dict>

</array>
 
With
 
<key>RunAtLoad</key>

<true/>

<key>StartInterval</key>

<integer>10800</integer>  

 

That took me a while too to find.

Essentially you're switching the system from a 'launch at a specific time' (one at the top of the hour, one at the bottom'. Into a 'start counting 10800 seconds between the two launches.

I thought I wanted that too, as it is nicer... But then I reconsider... Cause I am actually giving my user the options to defer per hour, per day and even let them defer to a custom time/date. These deferrals will prevent Nudge from showing up anyway... I actually want them/encourage them to defer, If i make it too easy for them but giving them less reminders, then I reduce the incentive to start installing and/or deferring.

The whole purpose of Nudge is to make them a bit annoyed but just not enough for them to seriously complain.

I guess that's why it is called "Nudge" eh? 😏

Unit is min or sec?

sec