Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Fenster-Koordinaten (bounds/position) in AS lesen

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> Pool
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 26.10.2006 - 21:33    Titel: Fenster-Koordinaten (bounds/position) in AS lesen Antworten mit Zitat

EDIT: jetzt kann jedes Frontmost-Fenster gelesen werden: 14.8.07

Idee: Ein SCRIPT, welches ein Apple-SCRIPT herstellt:
dieses beinhaltet AS-codes für "bounds {1,2,3,4}" des window 1 des im Vordergrund befindlichen Programmes. Das so erzeugte Skript kann dann zu beliebigem Zeitpunkt das Frontfenster eines Programms wieder nach den einmal gelesenen Angaben "richten". Dabei kann das erzeugte Skript entweder ein "window 1" ansprechen oder auch ein Fenster mit konkretem Namen (setzt dann allerdings das Vorhandensein voraus, bei Finder-windows am besten mit "target" einmal den Pfad des windows einlesen und damit jeweils öffnen.)

Funktions-Voraussetzung:
• das Script muss:
als Script gespeichert (nicht als Programm) werden
Am besten im Ordner Scripts aufbewahren (oder ein Alias des Skriptes im Ordner Scripts deponiert, tut auch seinen Dienst.)
Pfad zum Ordner Scripts:
tell application "Finder" to select (path to "scrƒ" as string)
-- "HP:Users:UsersOrdner:Library:Scripts:"

• das Skript sollte:
jeweils aus dem Script-Menu (= link dazu--> Apples Seite) aufgerufen werden.(sonst werden nur Editor-Fenster gelesen)

Nun das Script::

Zitat:
--DATEN des Fenster 1 der Frontapplication LESEN--------
set FindProc to "Finder"
set ScrEdit to "Script Editor"
set SysEv to "system events"
set FrontProgr to (path to frontmost application as text)
tell application "Finder"
   open alias FrontProgr
   set NaFrontProcess to (name of every process whose visible is true and frontmost is true and name is not FindProc) as text
   if NaFrontProcess = SysEv then
      set NaFrontProcess to "Finder"
   end if
end tell
set ButtList to {FindProc:FindProc, NaFrontProcess:NaFrontProcess, ABBRUCH:"ABBRUCH"}
activate current application
set ButtKlick to button returned of ¬
   (display dialog "Programm anwählen dessen Fenster-Koordinaten gelesen werden sollen" buttons ¬
      ButtList as list default button 1 with icon 1 giving up after 0)
set ButtList to {FindProc:FindProc, NaFrontProcess:NaFrontProcess, ABBRUCH:"ABBRUCH"}
if the ButtKlick is FindProc of ButtList then set NaFrontProcess to FindProc of ButtList
if the ButtKlick is ABBRUCH of ButtList then return
tell application NaFrontProcess
   set W2 to name of window 1
   set BoundOSX to the bounds of window W2
   set Links to (item 1 of BoundOSX) as string
   set Oben to (item 2 of BoundOSX) as string
   set Breit to (item 3 of BoundOSX) as string
   set Hoch to (item 4 of BoundOSX) as string
   activate me
end tell
tell application "Script Editor"
   activate me
   set SkriptInhalt to ¬
      "set bLIST to ¬
{Links:" & Links & ", Oben:" & Oben & " , Breit:" & Breit & " , Hoch:" & Hoch & "}¬
as list --<-sehr wichtig!
--------------------------------------------------------------------
tell application \"" & NaFrontProcess & "\"
activate
   delay 1
   set the bounds of window 1 to bLIST --window \"" & W2 & "\"
activate
   delay 1
end tell
activate me"
   activate
   set NeuesScript to make new document with properties ¬
      {name:"Window 1 bounds"}
   set text of NeuesScript to SkriptInhalt as text
end tell
check syntax NeuesScript

_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 18.08.2007 - 19:54, insgesamt 8-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 24.06.2007 - 16:41    Titel: Pfad und bounds/position für OS9 Finder-Fenster Antworten mit Zitat

Das ganze läuft wie geölt auf OS9(musste allerdings Hacken und Ösen bereinigen:)
OS9-gängige Version
hat Folgendes geschrieben:
--DATEN EINES GEÖFFNETEN Finder-ORDNERS LESEN--------
tell application "Finder"
   
set w1 to window 1
   
set TargetOfWin to container of w1 as alias
   
set PosOS9 to position of window 1
   
set SizeOS9 to size of window 1
   
set BoundOS9 to PosOS9 & SizeOS9
   
set Links to (item 1 of BoundOS9) as string
   
set Oben to (item 2 of BoundOS9) as string
   
set Breit to (item 3 of BoundOS9) as string
   
set Hoch to (item 4 of BoundOS9) as string
end tell
--
In Script Editor: SCRIPT MIT GELESENEN DATEN HERSTELLEN
set SkriptInhalt to ¬
   ("
set bLIST to ¬
{Links:
" & Links & ", Oben:" & Oben & " , Breit:" & Breit & " , Hoch:" & Hoch & "}--as list NICHT! auf OS9.
set TargetOfWin to ¬
\"
" & TargetOfWin) & "\" as alias
tell application \"Finder\" to activate (open TargetOfWin)
--------------------------------------------------------------------
tell application \"Finder\"
   set position of container window of ¬
      folder TargetOfWin to {Links of bLIST, Oben of bLIST}
   --set position of window 1 to {Links of bLIST, Oben of bLIST}
   set size of container window of ¬
      folder TargetOfWin to {Breit of bLIST, Hoch of bLIST}
   --set size of window 1 to {Breit of bLIST, Hoch of bLIST}
end tell
"
set NeuPfadName to "Pfad/Bounds Finder Fenster"
set NameCurrentApplication to current application
tell application "Finder"
   
activate
   
set the clipboard to SkriptInhalt
   
display dialog SkriptInhalt default answer ¬
      "
Das obige AS ist im Zwischenspeicher. Man kann`s in einen Editor abladen"
end tell
set NameCurrentApplication to activate
(*

tell application "Smile" --<--für smile user gelangt in neues Fenster
   tell application "Smile" to (make new script window with properties ¬
      {name:NeuPfadName, line width:800, bounds:{269, 60, 829, 478}})
   set contents of window NeuPfadName to SkriptInhalt
   activate
end tell
*)



So sieht das resultierende Skript des OS9 aus
hat Folgendes geschrieben:
set bLIST to ¬
   {
Links:676, Oben:501, Breit:341, Hoch:259} --as list NICHT! auf OS9.
set TargetOfWin to ¬
   "
mcchef:" as alias
tell application "Finder" to activate (open TargetOfWin)
--
------------------------------------------------------------------
tell application "Finder"
   
set position of container window of ¬
      
folder TargetOfWin to {Links of bLIST, Oben of bLIST}
   --
set position of window 1 to {Links of bLIST, Oben of bLIST}
   
set size of container window of ¬
      
folder TargetOfWin to {Breit of bLIST, Hoch of bLIST}
   --
set size of window 1 to {Breit of bLIST, Hoch of bLIST}
end tell

_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> Pool Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter