[GastForen Programmierung/Entwicklung AppleScript ändern von Fenstereigenschaften raise lower floating

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

ändern von Fenstereigenschaften raise lower floating

Anonym
Beiträge gesamt: 22827

11. Sep 2007, 13:37
Beitrag # 1 von 11
Bewertung:
(3122 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich bin ein absoluter AppleScript Neuling und muss zu meiner Schande gestehen,
dass ich es noch nicht einmal geschafft habe, ein "Hello World"  zu komplieren und zu starten.
Finde auch keinen  AppleScript compiler auf diesem OSX  PPC im Computer Saal.
Im /usr/bin ist nichts was sich wie ein compiler für applescript anhört.

Ich glaube aber, dass sich mit Applescript meine Java Probleme elegant lösen lassen.
Die code Beispiele, die ich mit google gefunden lassen das erahnen.

Erstes Problem:
Ich möchte das Fenster "Downloads" und "Geladene Dateien" vom Web Browser ikonifiizieren.

Zweites Problem:
Ich möchte ein Fenster meiner Applikation ganz nach vorne bringen. Am liebsten floating (immer oben).
Java kann nämlich seine Fenster nicht über die nativen Fenster bringen.

Für  MS-Windows und Linux X11 habe  ich jeweils ein kleines Utility in C geschrieben um Fenstereigenschaften zu verändern.
Dabei werden Fenster durch den Titeltext gefunden und identifiziert.

Um drei gegebene Fenster nach vorne "T" zu bringen ruft mein Java Programm mit Runtime.exec das selbstgeschriebene C-Programm auf:
linux386 T window-titel1 window-titel2 window-titel3...
In einem  Bash script kann ich das natürlich auch verwenden.

Um die Fenster zum Ikon "I" zu verkleinern ruft es auf:

linux386 I window-titel1 window-titel2 window-titel3...

Sollte ich das mit AppleScript versuchen?
Soll ich das Script mit TextEdit schreiben?
Wie kompiliere ich das?
Kann man ein kompiliertes AppleScript dann direkt auf jedem Mac starten oder braucht man eine spezielle umgebung in Analogie zum Perl interpreter oder Python Interpreter ?

Ich bin natürlich nicht auf  AppleScript fixiert denke nur, das das ein bequemer und eleganter Weg wäre.
Falls es eine schnelle Anleitung für die MacOSX API in C gibt, wäre das eine Alternative.
Auf dem Mac hier habe ich gcc.

Vielen Dank

Christoph
X

ändern von Fenstereigenschaften raise lower floating

Hans Haesler
  
Beiträge gesamt: 5791

11. Sep 2007, 14:53
Beitrag # 2 von 11
Beitrag ID: #421974
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

herzlich willkommen in Page-Forum! :-)

Mit der Installation von Mac OS X wird auch das Programm
zum Schreiben und Kompilieren von AppleScripts installiert.

Öffne bitte den Ordner "Programme". Dieser sollte den
Ordner "AppleScript" enthalten. Und darin findest Du
Skripteditor.app.

Nach dem Starten dieses Programms wird ein Fenster geöffnet.
Da kannst Du gleich loslegen:
---
display dialog "Hello World!"
---
Nach dem Klick auf den Button "Übersetzen" wird der Code
ungefähr so aussehen:
---
display dialog "Hello World!"
---
Und jetzt noch auf den Button "Ausführen" geklickt – und
der Dialog wird angezeigt.

Anstelle der Klicks kann auch die Tastatur benutzt werden.
Enter zum Übersetzen, Befehl+R zum Ausführen.

Mit dieser ersten Lektion sind schon ein paar Deiner
Fragen beantwortet ...

Doch ich glaube nicht, dass ich Dir bei Deinen Problemen
behilflich sein kann. Ich habe zwar auch schon Programme
in C entwickelt. Aber das ist lange her (unter Mac OS 7.x).

Vielleicht kann ein versierterer Mitleser aushelfen.

Gruss, Hans


als Antwort auf: [#421973]

ändern von Fenstereigenschaften raise lower floating

Anonym
Beiträge gesamt: 22827

12. Sep 2007, 19:51
Beitrag # 3 von 11
Beitrag ID: #421975
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Schade, habe mich den ganzen Abend durch applescript Beispiele gearbeitet und habe es dennoch nicht
geschafft das Fenster "Downloads" vom Firefox oder Safari zu minimieren.

Ich habe es auch nicht geschafft, ein Fenster mit einem bestimmten Namen nach vorne
zu bringen.

Christoph


als Antwort auf: [#421973]

ändern von Fenstereigenschaften raise lower floating

Hans Haesler
  
Beiträge gesamt: 5791

12. Sep 2007, 21:15
Beitrag # 4 von 11
Beitrag ID: #421976
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

aber hat es wenigstens mit dem Kompilieren geklappt?
Und die Hallo-Welt-Message? ;-)))

Mit diesen Snippet wird das Fenster "Geladene Dateien" minimiert:
---
tell application "Safari"
   tell window "Geladene Dateien"
      set miniaturized to true
   end tell
end tell
---
Noch nie gemacht, aber so gefunden: Skripteditor gestartet,
dann Menü >Fenster >Bibliothek. Den Artikel "Safari" aktiviert
und oben auf das Buchsymbol geklickt. Das Fenster "Safari.sdef"
wurde geöffnet. In der Öffnung oben links die Zeile "Standard
Suite" aktiviert und in der Mitte bis zum letzten Eintrag – die
Class "window" – gescrollt.

In der grossen Öffnung erschienen die Properties. Dort stach
'miniaturized' hervor. Die obigen Zeilen getippt, übersetzt und
ausgeführt – und das Fenster verschwand ins Dock.

Immer noch mit Safari ein zweites Fenster geöffnet und dann
mit 'index' versucht, die Schichtung zu ändern.
So wird das zweite Fenster in den Vordergrund geholt:
---
tell application "Safari"
   set index of window 2 to 1
end tell
---

Und so wird das hinterste Fenster in den Vordergrund gestellt:
---
tell application "Safari"
   set index of window -1 to 1
end tell
---

Ich hoffe, das alles hilft Dir etwas weiter.

Gruss, Hans


als Antwort auf: [#421973]

ändern von Fenstereigenschaften raise lower floating

Anonym
Beiträge gesamt: 22827

12. Sep 2007, 22:05
Beitrag # 5 von 11
Beitrag ID: #421977
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans
Ja, viele Beispiele haben funktioniert und bestechen durch ihre Einfachheit.
Das wäre ja toll wenn das mit Safari und vielleicht sogar mit Firefox geht.
Probiere ich bei nächster Gelegenheit.
Wenn ich das Fenster meiner Applikation anspreche weiss ich erstmal nicht, wie meine Applikation heisst.
Ich hatte mal mit tell java versucht aber das kannte er nicht.
Kann man ein Fenster ansprechen, auch wenn man den Applikationsnamen nicht hat sondern nur den Titel des Fensters?

Ich muss mir irgendwie ein graphisches Login für den Mac auf meinem Linux-Display organisieren.
Gruss
Christoph


als Antwort auf: [#421973]

ändern von Fenstereigenschaften raise lower floating

Hans Haesler
  
Beiträge gesamt: 5791

13. Sep 2007, 07:28
Beitrag # 6 von 11
Beitrag ID: #421978
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

ja, mit Safari funktionieren meine drei Snippets.

Also ... in Deiner Java-Welt kenne ich mich nicht aus. Ich habe zwar
schon viele JavaScripts entwickelt, aber ausschliesslich für InDesign.

Es gibt viele Beispiele mit Fenstern. Aber die meisten betreffen
nur die X- und Y-Achse:
---
tell application "System Events"
   tell process "Safari"
      tell window "Ohne Titel"
         set position to {100, 60}
         set size to {500, 300}
      end tell
   end tell
end tell
---
---
tell application "Safari"
   tell window "Ohne Titel"
      set bounds to {0, 0, 600, 200}
   end tell
end tell
---

So wie ich das Problem mit dem Nach-vorne-Bringen verstehe,
muss die Applikation damit ausgerüstet sein ...
---
tell application "Safari"
   tell window "Ohne Titel"
      set index to 1
   end tell
end tell
---
... sonst wird es kaum gelingen.

Gruss, Hans


als Antwort auf: [#421973]

ändern von Fenstereigenschaften raise lower floating

Anonym
Beiträge gesamt: 22827

17. Sep 2007, 11:13
Beitrag # 7 von 11
Beitrag ID: #421979
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das funktioniert für Safari, aber nicht für Firefox.
tell application "Safari(Browser)"
try
tell window "Geladene Dateien"
set miniaturized to true
end tell
end try
try
tell window "Downloads"
set miniaturized to true
end tell
end try
end tell


Skripte in der folgenden Form gehen auch nicht:

tell application "System Events"
tell process "Firefox"
tell window 1
set position to {5, 50}
set size to {300, 500}
end tell
end tell
end tell

Ich kriege dann einen Laufzeitfehler  "NSReceiverEvaluationScriptError: 4"  ohne Angabe der Zeile.

Also denke ich, dass ich mich jetzt mit GUI scripting beschäftigen müsste, was mein Zeitkontingent jetzt erstmal nicht zulässt.
So wird es bei dem Hinweis in meinem Programm erstmal bleiben, dass für Mac einige Dinge noch  nicht implementiert sind.

Aber nochmal vielen Dank,

Christoph


als Antwort auf: [#421973]

ändern von Fenstereigenschaften raise lower floating

TMA
Beiträge gesamt: 362

18. Sep 2007, 06:37
Beitrag # 8 von 11
Beitrag ID: #421980
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,
schau dir bei Gelegenheit mal diesen Beitrag an:

[url=http://www.page-online.de/page/forum/viewthread/2969/]GUI-Scripting

Dort hab ich auch Links gepostet. Das hilft dir bestimmt weiter.

Gruß
TMA


als Antwort auf: [#421973]

ändern von Fenstereigenschaften raise lower floating

Anonym
Beiträge gesamt: 22827

18. Sep 2007, 10:20
Beitrag # 9 von 11
Beitrag ID: #421981
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das ist ja eine wichtige Info!
get UI elements enabled
liefert nämlich false.
Das erklärt dann auch die Miserfolge.

Systemeinstellungen ist auf diesem Mac  deaktiviert.
Kann ich das auch anders einschalten? Shell Kommando?

Ich möchte in meinem Porgramm auch nicht den Nuzter bitten etwas einzuschalten.
Das sollte automatisch passieren.

Christoph


als Antwort auf: [#421973]

ändern von Fenstereigenschaften raise lower floating

TMA
Beiträge gesamt: 362

18. Sep 2007, 11:19
Beitrag # 10 von 11
Beitrag ID: #421982
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Christoph,
sollte so gehen:
Code
tell application "System Events" 
set UI elements enabled to true
end tell


Was anderes weis ich zur Zeit nicht, obwohl es mit Sicherheit auch anders geht.

Gruß
TMA


als Antwort auf: [#421973]

ändern von Fenstereigenschaften raise lower floating

Anonym
Beiträge gesamt: 22827

18. Sep 2007, 12:33
Beitrag # 11 von 11
Beitrag ID: #421983
Bewertung:
(3121 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi TMA,

Jetzt fragt ein Dialog nach dem Admin passwd das ich nicht habe (morgen kommt der Administrator).

hm, da vermutet doch ein Nutzer meines Programmes gleich ein Trojanisches Pferd.

Ich würde mein admin passwd niemals in ein fremdes Programm eingeben.


Insgesamt scheinen zum Glück Mac Nutzer Sicherheitsaspekte recht lasch zu handhaben.
Z.B. werden Programme ja immer ohne Bedenken als Binary und nicht von Quellcode geladen was
Viren und Trojanern ja die Türen öffnet. 
Ein standard Mac kann ja auch noch gar kein C oder Fortran compilieren.

Wenn man jetzt die Mac-spezifischen Nutzergewohnheiten beachtet,
wie würde ein Nutzer darauf reagieren, dass er ein passwd eingeben soll ?


Vielleicht ist die Variante, bei der der Nutzer  selber zu Systemeinstellungen geht, und clicked akzeptabler.
Allerdings sind Mac Nutzer sehr verwöhnt,  und mit der Forderung eine Systemeinstellungen
per Hand zu tätigen, verliere ich bestimmt einige Nutzer.

Gruss
Christoph


als Antwort auf: [#421973]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
29.10.2020

Ortsunabhängig
Donnerstag, 29. Okt. 2020, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. 30-minütigen Webinar das neueste Produkt aus dem Hause Enfocus vor. Enfocus bringt mit BoardingPass eine pfiffige Lösung auf den Markt, welche eingehende Daten auf die wichtigsten druckrelevanten Kriterien hin gleich im Mail-Browser prüfen lässt. Mit BoardingPass sind auch Kundenberater und Avor-/Vertriebs-Mitarbeiter in der Lage, eingegangene Druckdaten innerhalb ihres Mail-Programmes sofort zu prüfen und dem Auftraggeber eine leicht verständliche Rückmeldung über diese zu geben. Die Druckdaten müssen also gar nicht erst über den internen Workflow des Druckdienstleisters laufen, sondern können direkt auf druckrelevante Kriterien geprüft und auch begutachtet werden.

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=292

Enfocus BoardingPass
Veranstaltungen
02.11.2020 - 03.11.2020

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Montag, 02. Nov. 2020, 08.30 Uhr - Dienstag, 03. Nov. 2020, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

Preis: CHF 1'400.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/adobe-indesign-cc/kurs-indesign-cc-basic

Neuste Foreneinträge


Indesign CC2021 verliert Speicherpfad von Dateien

bearbeitete jpg´s nicht mehr markiert

Pantone - reiner Buntaufbau

Suitcase von 3 Benutzern an 7 Rechnern?

Probleme mit dem Strukturbaum Acrobat Pro DC (barrierefrei)

PDF_RGB-AUSGABE

Suchescript um auf meinem webserver nach Namen oder nummern zu suchen

InDesign CC 2021: Neuerungen / New Features

Flächendeckung einer Datei

Bedingter Text
medienjobs