AppleScript vraagje

Weet iemand of het misschien ook mogelijk is om m.b.v. een AppleScriptje vensters le laten maximaliseren/ minimaliseren. Ik heb nl een programmatje gevonden waar je AppleScript aan toetscombinaties kan plakken. Reuze handig want dan hoef je niet elke keer je muis te pakken. :wink: Het progje heet trouwens Key Xing en kost maar $7.

http://allmacintosh.xs4all.nl/adnload/259815_100185.html

kun je een applesceriptje niet via een F toets ofzo oproepen? anyway.. ken je de woordenboek functie van applescript? wellicht kun je via het woordenboek van de finder iets wijzer worden

(in appelscript vanuit het menu “open woordenboek” ofzo)

p.s. overigens kun je met command + m minimaliseren… maar goed… das maar 1 stap.

Ik heb Script Menu inderdaad geïnstalleerd, maar daar zit niets in over maximaliseren/ minimaliseren van vensters. Het enige dat ik kan vinden is bij Safari Scripts, maar dat is een AplleScriptje dat gebruik maakt van JavaScript. Dat F-toetsen verhaal is me niet helemaal duidelijk.

Zoiets?

[code:1:cf913794e2]
tell application "Finder"
activate
set bounds of Finder window 1 to {7, 99, 1020, 760}
end tell
[/code:1:cf913794e2]

Funktie toets kan je toewijzen in System Preferences → Keyboard & mouse → … shortcuts

Werkt perfect i.d.d. Maar is het ook mogelijk om het met één scriptje voor de vensters van alle applicaties te gebruiken? Iets in de richting van;

[code:1:d549f01660]tell application "Current"
activate
set bounds of Finder window 1 to {7, 99, 1020, 760}
end tell[/code:1:d549f01660]

Ik zeg maar wat hoor! Ik het nog geen kaas gegeten van AppleSctipt.

[quote:46f2b2fcc1="Skilip"]Werkt perfect i.d.d. Maar is het ook mogelijk om het met één scriptje voor de vensters van alle applicaties te gebruiken? Iets in de richting van;

[code:1:46f2b2fcc1]tell application "Current"
activate
set bounds of Finder window 1 to {7, 99, 1020, 760}
end tell[/code:1:46f2b2fcc1]

Ik zeg maar wat hoor! Ik het nog geen kaas gegeten van AppleSctipt.[/quote:46f2b2fcc1]

[code:1:46f2b2fcc1]

tell application "Finder"
activate
set bounds of every Finder window to {7, 99, 1020, 760}
end tell

[/code:1:46f2b2fcc1]

Sorry, ik was waarschijnlijk niet duidelijk. Ik boedoel dat ik ook de vensters van bijvoorbeel Mail kan maximaliseren met één code

Ik denk niet, dat dat gaat lukken. Alleen de apps die scriptable zijn en waarvan de bounds van een venster middels een script aan te passen zijn kunnen dit.

Zelfs veel Apple apps zijn niet scriptable, spijtig genoeg. :oops:

Domme vraag misschien, maar zit er achter het groene maximaliseer/ minimaliseer knopje dat je op alle vensters van alle programma's onder Mac Os X geen script dat te gebruiken is???????

Kort maar krachtig: nope!

Overigens geen domme vraag hoor. Ik zal je wel even wat extra info over scriptable applicaties geven als ik in de gelegenheid ben. Zal het dan waarschijnlijk hier posten, zodat een ieder z’n voordeel daar mee kan doen.

Okay om maar vast een beginnetje te maken...

Wanneer een programmeur besluit om zijn applicatie AppleSriptable te maken, doet hij ongeveer het volgende.
Hij maakt in de resource van zijn applicatie een zgn. AETe (Apple Event Terminology extension) resource aan. Hierin bepaald hij zelf welke AppleScript commando’s gekoppeld worden aan bepaalde funkties in zijn applicaties. Het is dus aan de programmeur om te bepalen wat er scriptable is in zijn applicatie en hoe dat mogelijk is. Voordeel hiervan is dat programmeurs zelf de controle hebben over wat ze wel of niet middels AppleScript bewerkbaar willen maken. Het nadeel is echter dat hierdoor nogal wat onlogische commando’s kunnen ontstaan, die in het ergste geval zelfs totaal de plank misslaan.

Apple zelf is altijd terughoudend geweest in het standariseren van commano’s en structuur m.b.t. AppleScript. Ook richting de grote software ontwikkelaars is hierin altijd terughoudendheid geweest met als gevolg dat enkele zeer grote applicaties (zoals Illustrator en Photoshop) slecht zeer beperkt scriptable zijn, terwijl juist bij dergelijke programma’s de behoefte hieraan zeer groot zou zijn.

Voorbeelden van goede scriptable applicaties zijn: Quark XPress, Filemaker Pro en Microsoft Word. Bekijk hiervan met ScriptMaker maar eens het woordenboek en je zal versteld staan van de mogelijkheden.

Ook heeft een programmeur nog de mogelijkheid om zijn applicatie recordable te maken. Dit houdt grofweg in dat je in ScriptMaker op de “record” knop drukt, de gewenste handelingen uitvoert in de applicatie, in ScriptMaker op “stop” drukt en de scriptstappen plus parameters verschijnen keurig in code in het venster van ScriptMaker. Helaas zijn er steeds minder applicaties recordable en weet ik ook, los van de Finder, geen voorbeeld te noemen hiervan.

Meer info volgt…

Alvast hartstikke bedankt! Duidelijk zo. Ik zal voor de programma's waar het wel mogelijk is voor elk apart een scriptje proberen te maken. Nogmaals bedankt. :wink:

Ach bekijk het in ieder geval zo: Mocht het niet lukken, dan heb je toch weer flink wat AppleScript ervaring opgedaan. Ik ben zelf ook letterlijk door schade en schande wijs geworden.

Het loont echter wel de moeite om je beetje in AppleScript te verdiepen. Ik heb zelf ooit een compleet kassasysteem (inclusief facturatie, BTW-aangiften, looanadministratie etc.) gemaakt in FileMaker Pro. Niet omdat FileMaker Pro de allerbeste oplossing was voor het maken van een dergelijk systeem, maar puur omdat de zaken die niet rechtssteeks vanuit FileMaker te doen waren, wel via AppleScript te bewerkstelligen waren. Ongeveer de helft van de scripts in mijn FileMaker database bevat AppleScripts. Een perfect duo…

Happy Scripting :slight_smile:

Toch nog leuk om even te vermelden hoe ik het heb opgelost......

[code:1:35996cfae8]tell application "Mail"
activate
set bounds of window 1 to {0, 0, 1152, 850}
end tell[/code:1:35996cfae8]

Mail kun je natuurlijk vervangen met een andere applicatie. De integers zijn ook variabel.

Met Key Xing heb ik het AppleScript onder F4 gezet. Bij ‘filters’ heb ik ervoor gezorgd dat dit script alleen werkt als Mail het voorste programma is.

AppleScript is gewoon moeilijk omdat het te makkelijk is!

Maar dan blijft, zoals gezegd de beperking liggen bij het feit dat een programma scriptable moet zijn en middels AppleScript het wijzigen van de bounds van een venster ondersteunt. Ook moet je op deze manier iedere applicatie apart gaan scripten.

Probeer het eens met: [code:1:aaa448cf9f]tell frontmost application [/code:1:aaa448cf9f] of iets dergelijks. Ik heb even geen tijd om dit uit te proberen.

Bij mij werkt dat helaas niet, bij jou wel?

@ roborob Photoshop is al vanaf versie 7 heel erg scriptable. Zie ook: http://www.adobe.com/support/techdocs/2bf56.htmhttp://partners.adobe.com/asn/photoshop/scripting/docs/AppleScriptReferenceGuide.pdf