I was recently asked to help with the annoying XtraFinder’s message “XtraFinder Beta has expired!” and make it disappear without user input. As what was suggested in the official support page did not work I went to see what is available online, Google is your friend, right!? 🙂
Well unfortunately I found only one good and interesting blog post on the subject involving Hopper Disassembler, but that did not worked for me, whatever I tried I did not manage to produce an executable file which will actually work. The tutorial is for XtraFinder version 0.25 where mine was 0.25.8 and though the assembler instructions and the function looked the same I think that matters.
As I am not an assembler guru I went back to the good old applescript to make a few clicks on behalf of a human 🙂 Please check the script below and change it if you need to. The script app has to be in your log in items and will/should work fine even after you upgrade to the latest version of XtraFinder, currently 0.25.9 /which by the way fixes the nag messages, until the time for the next update probably, which if not on time will probably start the receiving of the expire message again.. or may be not… :-)/.
So here we go:
delay 3
tell application “XtraFinder” to activate
delay 1
tell application “System Events”
if exists (window 1 of process “XtraFinder”) then
tell process “XtraFinder”
set XfinderMess to the value of static text 1 of window 1 of application process “XtraFinder” of application “System Events”
if XfinderMess = “System Integrity Protection is enabled.” then
click button “OK” of window 1 of application process “XtraFinder” of application “System Events”
delay 10
tell application “System Events”
if exists (window 1 of process “Finder”) then
tell process “Finder”
set finderMess1 to the value of static text 1 of window 1 of application process “Finder” of application “System Events”
if finderMess1 = “XtraFinder Beta has expired!” then
click button “OK” of window 1 of application process “Finder” of application “System Events”
delay 6
tell application “System Events”
if exists (window 1 of process “Finder”) then
tell process “Finder”
set finderMess2 to the value of static text 1 of window 1 of application process “Finder” of application “System Events”
if finderMess2 = “You’re up-to-date!” then
click button “OK” of window 1 of application process “Finder” of application “System Events”
end if
end tell
else
quit
end if
end tell
end if
end tell
else
quit
end if
end tell
end if
end tell
else
quit
end if
end tell
Enjoy 🙂
Mar 31st, 2018 at 9:47 am
Good day. I live in Hennef in Germany. Thanks for this script, which should automate this annoying message “XtraFinder Beta has expired!”. Unfortunately, it does not work for me, but since I’m not fit with Apple Scripts, I can not find the mistake. Would you like to write the script without the addition “System Integrity Protection is enabled”? Because I work with Yosemite. They would give me, but certainly others, a great pleasure. Sincerely, Michael
LikeLike
Mar 31st, 2018 at 10:42 am
Hi Michael, thanks for your comment. I will check if I still have Yosemite installed somewhere and will get back to you.
LikeLike
Mar 31st, 2018 at 4:20 pm
Cool…thank you very much for your fast reply.
LikeLike
Apr 2nd, 2018 at 10:57 am
Hi Like. One small thing I should still note. Your script stops automatically at 2 places and you have to repeat it 2 more times. Namely in the place “if finderMess1 =” XtraFinder Beta has expired! “Then” and in the place “if finderMess2 =” You’re up-to-date! “Then”. And since the window with the settings appears in the end, it would be advantageous, if this window would also close automatically. Best regards Michael
LikeLike
Apr 2nd, 2018 at 7:39 pm
Hi Michael, this is the script without the System Integrity Protection, which worked fine and without any interruption on Yosemite and High Sierra here. XtraFinder indeed popped up with its preference window, but I had no time to figure out how to “click” on the red button of the window, as this seems to be the only way to close it leaving XtraFinder process alive…
delay 3
tell application “System Events”
if exists (window 1 of process “Finder”) then
tell process “Finder”
set finderMess1 to the value of static text 1 of window 1 of application process “Finder” of application “System Events”
if finderMess1 = “XtraFinder Beta has expired!” then
click button “OK” of window 1 of application process “Finder” of application “System Events”
delay 6
tell application “System Events”
if exists (window 1 of process “Finder”) then
tell process “Finder”
set finderMess2 to the value of static text 1 of window 1 of application process “Finder” of application “System Events”
if finderMess2 = “You’re up-to-date!” then
click button “OK” of window 1 of application process “Finder” of application “System Events”
end if
end tell
else
quit
end if
end tell
end if
end tell
else
quit
end if
end tell
Hope this helps,
Vess
LikeLike
Apr 3rd, 2018 at 12:04 pm
Hi – I’m really surprised now. That was fast now. Since I can not really write Apple scripts, I’m also really curious if your new script works. Here, at this point, I would like to express my thanks for your help and commitment. Best regards, Michael
LikeLike