uhlhorn
Aktives Mitglied
Thread Starter
- Dabei seit
- 24.05.2005
- Beiträge
- 2.474
- Reaktionspunkte
- 129
Ich hätte da mal eine Frage (weiter unten):
Ich kann Preferences-Einstellungen per AppleScript auf zweierlei Weise ändern: Entweder dass ich die Systempreferences fern steuere mit
oder dass ich Terminal-Befehle erzeuge mit
Wenn ich nun die Werte mit default write … ändere, und die Systemeinstellungen neu öffne, sind sie geändert. Aber sie kommen noch nicht zur Anwendung.
Wenn ich per Maus die Einstellungen in den Systemeinstellungen ändere, kommen sie sofort zur Anwendung und werden auch in der entsprechenden plist geändert.
Nun meine Frage:
Wie kann ich erreichen, dass die geänderte plist, welche ich mit default write … geändert habe, aktiviert wird? Gibt es dafür einen Befehl?
Ich habe folgendes Programm was nicht funktioniert (ich habe übrigens eine deutsche Sprachsynthese installiert):
Wenn ich es konventionell schreibe, dann funktioniert es. Aber es startet dann immer unnötigerweise die Systemeinstellungen. Hier ein funktionierendes Script:
Ich kann Preferences-Einstellungen per AppleScript auf zweierlei Weise ändern: Entweder dass ich die Systempreferences fern steuere mit
Code:
tell application "System Preferences“
…
end tell
oder dass ich Terminal-Befehle erzeuge mit
Code:
do shell script "defaults write …“
Wenn ich nun die Werte mit default write … ändere, und die Systemeinstellungen neu öffne, sind sie geändert. Aber sie kommen noch nicht zur Anwendung.
Wenn ich per Maus die Einstellungen in den Systemeinstellungen ändere, kommen sie sofort zur Anwendung und werden auch in der entsprechenden plist geändert.
Nun meine Frage:
Wie kann ich erreichen, dass die geänderte plist, welche ich mit default write … geändert habe, aktiviert wird? Gibt es dafür einen Befehl?
Ich habe folgendes Programm was nicht funktioniert (ich habe übrigens eine deutsche Sprachsynthese installiert):
Code:
SchalteMausScrollen(1) -- 1 schaltet Mausscrollen aus, 0 schaltet es ein
on SchalteMausScrollen(Zustand)
if Zustand is 1 then
say "Mausscrollen ausschalten"
do shell script "defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseHorizontalScroll -bool NO"
do shell script "defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseVerticalScroll -bool NO"
else
say "Mausscrollen einschalten"
do shell script "defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseVerticalScroll -bool YES"
do shell script "defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseHorizontalScroll -bool YES"
end if
end SchalteMausScrollen
Wenn ich es konventionell schreibe, dann funktioniert es. Aber es startet dann immer unnötigerweise die Systemeinstellungen. Hier ein funktionierendes Script:
Code:
SchalteMausScrollen(1) -- 1 schaltet Mausscrollen aus, 0 schaltet es ein
on SchalteMausScrollen(Zustand)
tell application "System Preferences"
activate
set current pane to pane "Maus"
end tell
tell application "System Events"
tell application process "System Preferences"
--get entire contents of window "Maus"
if Zustand is 1 then
say "Mausscrollen ausschalten"
--say "magic mouse scrolling off,"
else
say "Mausscrollen einschalten"
--say "magic mouse scrolling on,"
end if
try
repeat until value of checkbox "Scrollen" of group 1 of window "Maus" of application process "System Preferences" of application "System Events" is not Zustand
click checkbox "Scrollen" of group 1 of window "Maus" of application process "System Preferences" of application "System Events"
end repeat
end try
try
repeat until value of checkbox "Bildschirmzoom" of group 1 of window "Maus" of application process "System Preferences" of application "System Events" is not Zustand
click checkbox "Bildschirmzoom" of group 1 of window "Maus" of application process "System Preferences" of application "System Events"
delay 1
end repeat
end try
end tell
end tell
end SchalteMausScrollen