Gå till innehåll
Just nu i M3-nätverket

Hjälp med applescript


Barbapappa_86

Rekommendera Poster

Barbapappa_86

Hej!

 

Försöker göra en superenkel applikation i xcode med applescript. Jag har en NSButton som kör nedan skript, men det är en av/på knapp, hur får jag den att köra samma script fast med ändelsen "true"?

 

[font=Menlo][size=2]script TestAppDelegate[/size][/font]	property parent : class "NSObject"



on applicationWillFinishLaunching_(aNotification)

       tell application "Terminal"

           activate

           do script with command "defaults write -g ApplePressAndHoldEnabled -bool false"

       end tell

end applicationWillFinishLaunching_



on applicationShouldTerminate_(sender)

	-- Insert code here to do any housekeeping before your application quits 

	return current application's NSTerminateNow

end applicationShouldTerminate_




[color=#BF2E9D][font=Menlo][size=2]end script[/size][/font][/color]

 

 

Sedan har jag inte kommit runt saken att den öppnar terminalen för att köra skriptet, men ni har kanske några idéer?

Länk till kommentar
Dela på andra webbplatser

Är inte så insatt i AppleScript men vad gäller att Terminalen öppnas så kan du ju använda

do shell script "defaults write -g ApplePressAndHoldEnabled -bool false"

istället (och ta bort biten med "tell application...") så kommer din app inte att öppna terminalen.

Länk till kommentar
Dela på andra webbplatser

Ska verkligen det där köras varje gång man startar applikationen?

 

applicationWillFinishLaunching_ körs precis innan appen kommit igång helt.

 

 

Länk till kommentar
Dela på andra webbplatser

Barbapappa_86

Ska verkligen det där köras varje gång man startar applikationen?

 

applicationWillFinishLaunching_ körs precis innan appen kommit igång helt.

 

 

 

Men vad fasen.. :) Det ska den inte. Testade igen och du har väldigt rätt.

 

EDIT: Verkar inte kunna toggla funktionen med knappen. Verkar inte fungera alls faktiskt..

 

<span class="Apple-style-span" style="font-family: Courier; "> script LionTweekAppDelegate</span><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="Content-Style-Type" content="text/css"><title></title><meta name="Generator" content="Cocoa HTML Writer"><meta name="CocoaVersion" content="1138"><style type="text/css">p.p1 {margin: 0.0px 0.0px 0.0px 28.8px; text-indent: -28.9px; font: 12.0px Courier}p.p2 {margin: 0.0px 0.0px 0.0px 57.6px; text-indent: -57.7px; font: 12.0px Courier}p.p3 {margin: 0.0px 0.0px 0.0px 86.4px; text-indent: -86.4px; font: 12.0px Courier}p.p4 {margin: 0.0px 0.0px 0.0px 115.2px; text-indent: -115.2px; font: 12.0px Courier}span.Apple-tab-span {white-space:pre}</style><p class="p2"><span class="Apple-tab-span">	</span>property parent : class "NSObject"</p><p class="p3">        tell application "Terminal"</p><p class="p4">            do script with command "defaults write -g ApplePressAndHoldEnabled -bool false"</p><p class="p3">        end tell</p><span class="Apple-style-span" style="font-family: Courier; ">end script</span>

Länk till kommentar
Dela på andra webbplatser

  • 2 weeks later...
on clicked theObject
  if the name of theObject is equal to "MinKnapp" then
      if the value of theObject is equal to TRUE then
          do shell script "defaults write -g ApplePressAndHoldEnabled -bool true"
      else
          do shell script "defaults write -g ApplePressAndHoldEnabled -bool false"
      end if
  end if
end clicked

Länk till kommentar
Dela på andra webbplatser

Barbapappa_86

on clicked theObject
  if the name of theObject is equal to "MinKnapp" then
  	if the value of theObject is equal to TRUE then
  		do shell script "defaults write -g ApplePressAndHoldEnabled -bool true"
  	else
  		do shell script "defaults write -g ApplePressAndHoldEnabled -bool false"
  	end if
  end if
end clicked

 

Tack! Gick dock inte att kompilera i xcode:

 

Test/TestAppDelegate.applescript:9: error: Expected "given", "into", "with", "without" or other parameter name but found identifier. (-2741)

 

 

Får samma i Apple script

Länk till kommentar
Dela på andra webbplatser

Applescript funkar typ bara att köra i Xcode 3.0. Går inte att binda outlets annars.

Sedan kanske value inte finns som property på NSButton. Implementera själv eller använd annan typ av interface object.

 

Du blir gladare i längden av att lära dig Objective C.

Länk till kommentar
Dela på andra webbplatser

Barbapappa_86

Applescript funkar typ bara att köra i Xcode 3.0. Går inte att binda outlets annars.

Sedan kanske value inte finns som property på NSButton. Implementera själv eller använd annan typ av interface object.

 

Du blir gladare i längden av att lära dig Objective C.

 

Ok, konstigt dock att jag får samma fel i Apple script.. men men :)

 

Du har så rätt!

Länk till kommentar
Dela på andra webbplatser

Barbapappa_86

Man kan inte hantera outlets i Applescript-redigeraren. (on clicked theObject)

 

Då är jag med!

Länk till kommentar
Dela på andra webbplatser

Du blir gladare i längden av att lära dig Objective C.

 

/me håller med :yeahbaby:

 

Samma sak går att åstakomma med NSUserDefaults och 2-3 rader kod. :ninja:

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...