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

Objekte auf überfülltem Schreibtisch markieren

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


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

BeitragVerfasst am: 17.06.2007 - 10:28    Titel: Objekte auf überfülltem Schreibtisch markieren Antworten mit Zitat

Objekte auf überfülltem Schreibtisch markieren aus einem Index der aufgelisteten Schreibtisch-Objekte:
Dies Problem wurde auf OSX mit dem Desktop-Folder Alias "an-"gelöst.
Das für OS9 entwickelte Skript macht, dass ich auch dort per Index-Auswahl ein Schreibtischobjekt markieren kann unter freier Sicht.(noch konfortabler wenn ich es mit Dialog Director kopple). Dies Skript ist aber wesentlich effektiver als die Lösung von OSX.
Ich zeige die OS9 entwickelte Version
hat Folgendes geschrieben:
tell application "Finder"
try
activate (close every window)
end try
try
set visible of every process whose name is not "Finder" to false
end try
tell application "Finder" to (select ¬
(
folder (path to desktop folder) as text) & ¬
(
first item of (choose from list (list folder (path to desktop folder)))) ¬
as alias)
end tell


Nun: Das Skript läuft auch OSX, erfüllt aber dort nicht letztlich seinen Zweck!

Die Index-Auswahl von Schreibtisch-Objekten auf OSX erwirkt leider, dass die Markierung immer in einem Ordner namens "Schreibtisch" bleibt ( und nicht wie erwünscht: auf dem Schreibtisch)
Als Abhilfe fand ich als OSX-Analogon des obigen Skriptes eine Lösung mit kleinen Hacken, die ich lösen möchte:

Bauplan des OSX-Analogons mit allen Nachteilen aufgezählt:
hat Folgendes geschrieben:
• ich muss eigens ein Alias des zu markierenden Objekts erzeugen
• dann wird wie erwünscht von diesem ausgehend das im Index auserwählte Objekt auf dem Schreibtisch markiert
(gelingt mir nur mit 1x GUI-Skripting-Befehl: [APFEL+R])
• Wenn das Schreibtisch-Objekt selbst ein Alias ist, kann ich leider nur seinen Pfad ermitteln statt es selbst zu markieren
• das Alias wird wieder in den Papierkorb geschmissen(delete)


Problem: wie lösche ich auf OSX mit AS den Papierkorb:
und zwar unter "Abfrage-Option", die ja immer dann entsteht, wenn ich auf dem Finder
[ APFEL+SHIFT+DELETE] drücke?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 17.06.2007 - 12:27    Titel: Re: Objekte auf überfülltem Schreibtisch markieren Antworten mit Zitat

spirigwi hat Folgendes geschrieben:
Problem: wie lösche ich auf OSX mit AS den Papierkorb:
und zwar unter "Abfrage-Option", die ja immer dann entsteht, wenn ich auf dem Finder
[ APFEL+SHIFT+DELETE] drücke?

Indem du dem Befehl zum Entleeren des Papierkorbs ein "display dialog" vorausschickst! Du kannst auch 10 mal vorher noch einen Dialog anzeigen lassen oder einen Dialog in einer Endlosschleife - dann hast du die Aufnahmeprüfung in der Programmierabteilung bei Microsoft bestanden.

Was hast du denn mit der ausgewählten Datei vor?
Was stört dich daran, dass sie innerhalb des Schreibtisch-Ordners angezeigt wird?
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
spirigwi
•----->
•----->


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

BeitragVerfasst am: 17.06.2007 - 12:54    Titel: Re: Objekte auf überfülltem Schreibtisch markieren Antworten mit Zitat

Danke für die Antwort, perfekt. Behüte vor Mikrigsoft!
Snow hat Folgendes geschrieben:
Was hast du denn mit der ausgewählten Datei vor?
Genau das , was du uns auf OS9 mit deinem wunderbaren Schreibtisch-Ordnung-Skript freihaus geliefert hattest: das so gefundene Objekt wieder an den gewohnten Platz zu legen, nachdem einem der OSX-Finder wie im Mikado gerade mal alles "durcheinandergewürfelt" hat Rotz und Wasser heulen absolut wütend Oh no
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 17.06.2007 - 13:28    Titel: Antworten mit Zitat

Dann solltest du dich zuerst einmal mit dem Hauptproblem beschäftigen:
Ist es möglich, die Objekte auf dem Schreibtisch per Skript zu positionieren?
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
spirigwi
•----->
•----->


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

BeitragVerfasst am: 17.06.2007 - 13:47    Titel: Antworten mit Zitat

Snow hat Folgendes geschrieben:
Ist es möglich, die Objekte auf dem Schreibtisch per Skript zu positionieren?
Snow hat Folgendes geschrieben:
NEIN!
somit helfen nur Behelfe weiter, also ein nicht mehr durch ärztliches Auge auffindbares Schreibtischobjekt(ZB soeben vom OSX-Finder granat-zersplittertes Objekt ) finde ich problemlos wieder mit der Liste: es wird vom AS markiert, dann seh ich es, dann lege ich es wieder dahin wo ichs mir angewöhnt habe. Wenn es mir aber in einem Ordner markiert wird, nützt das nämlich einen Dreck, ich kanns ja dann immernoch nicht plazieren auf dem "Schreibtisch". (früher hab ich dann von Hand ein Alias erzeugt, dieses an sichtbaren Ort des Desktopes gezogen, dann APFEL+R, dann das Original richtig plaziert, dann Kaffee-Pause..) jetzt geht das elegant mit einem Tastatur-Kürzel : Alt_S(spirigwiDeutsch= Alternativ-Code für Schreibtischfragen...)
Das wäre somit die Beschreibung für den Eintritt ins MickroSchrott Kinderparadies?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 19.06.2007 - 13:09, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


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

BeitragVerfasst am: 17.06.2007 - 14:33    Titel: Antworten mit Zitat

Mit der Hilfe Go-Snow`s hab ichs doch noch geschafft, mich um die Erklärung drücken zu können
hat Folgendes geschrieben:
tell application "Finder"
   
try
      
activate (close every window)
   
end try
   
try
      
set visible of every process whose name is not "Finder" to false
   
end try
   
try --EDIT pro AUSSTIEGS-Möglichkeit
      
set AliasVonSelect to ¬
         
select (make new alias of desktop to select ¬
            (
a reference to (folder (path to desktop folder) as text) & ¬
               
first item of (choose from list ¬
               (
list folder (path to desktop folder) ¬
                  ))
as alias) as alias)
   
on error
      
return
   
end try
   
tell application "System Events"
      (
activate (keystroke "r" using command down))
   
end tell
   
activate (close every window)
   
open (path to "trsh")
   
delete AliasVonSelect
   
tell application "Finder" to display dialog ¬
      "
Papierkorb lehren? " default answer ¬
      (
name of every item of trash as text)
   
empty the trash
   (
close every window)
   --
Endresultat: um alle Ecken herum also: nur noch 1 Objekt des Schreitisches bleibt markiert!
   --
es handelt sich um dasjenige, welches leichtens in der Liste aufgefunden werden konnte
   --
ich habe diesem Schnuckerchen das Tasten-Kürzel [ALT+S] verpasst
end tell

bei mir jedenfalls tut es seinen Dienst als Lückenbüsser für Schreibtisch-Verwaltung auf OSX (bis mal was besseres, ähnlich OS9, oder doch noch was besseres als dieses, daherkommt)
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 17.06.2007 - 15:32, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 17.06.2007 - 14:54    Titel: Antworten mit Zitat

Mich würde es stören, daß Du alle Fenster schließt. annst Du nicht einfach
Code:
tell application "System Events"
    key code 103
end tell

für OS X verwenden (Setzt Standard Tasten für Expose voraus). Damit werden alle Fenster zur Seite geschoben.[/code]
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


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

BeitragVerfasst am: 17.06.2007 - 16:18    Titel: Antworten mit Zitat

gute Idee!(bei mir sind zwar alle F-Tasten für sinnvolles Laughing vergeben, so auch die genannte F11(?12?) für "medizinische" Zwecke reserviert. Aber das liesse sich auch anders ansteuern, dieses sehr schöne Expose-tool, das mir kürzlich mein Sohn "aufgenötigt" hat, ansonsten ich nie mehr an seinem OSX4 herumdoktern darf!)

hab dir als Dank vielleicht eine Anregung für «class cfol», schau mal dort
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 19.06.2007 - 13:11, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
spirigwi
•----->
•----->


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

BeitragVerfasst am: 17.06.2007 - 21:06    Titel: Antworten mit Zitat

Skeeve, könntest du mit dieser Lösung etwas anfangen?
EDIT keine Fenster schliessen, mit Ausnahme der Skript-erzeugten
hat Folgendes geschrieben:
tell application "Finder"
   
try
      
set NamWinLIST to name of every window whose visible is true
      
activate
      
tell application "System Events"
         
repeat count NamWinLIST times
            (
keystroke "m" using command down) --<-Fenster im Dok ablegen
         
end repeat
      
end tell
   
end try
   
try
      
set visible of every process whose name is not "Finder" to false
   
end try
   
try -- AUSSTIEGS-Möglichkeit
      
set AliasVonSelect to ¬
         
select (make new alias of desktop to select ¬
            (
a reference to (folder (path to desktop folder) as text) & ¬
               
first item of (choose from list ¬
               (
list folder (path to desktop folder) ¬
                  ))
as alias) as alias)
   
on error
      
return
   
end try
   
tell application "System Events"
      (
activate (keystroke "r" using command down))
   
end tell
   
activate
   
open (path to "trsh")
   
delete AliasVonSelect
   
tell application "Finder" to display dialog ¬
      "
Papierkorb leeren? " default answer ¬
      (
name of every item of trash as text)
   
empty the trash
   
close window ".Trash"
   
try --für den Fall dass man ein Alias angewählt hat
      
close window "Desktop"
   
on error
      
activate (close window 1)
   
end try
   --
Endresultat: um alle Ecken herum also: nur noch 1 Objekt des Schreitisches bleibt markiert!
   --
es handelt sich um dasjenige, welches leichtens in der Liste aufgefunden werden konnte
   --
ich habe diesem Schnuckerchen das Tasten-Kürzel [ALT+S] verpasst
end tell


.. das wäre doch "fast schon" Expos€-like
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 18.06.2007 - 12:31    Titel: Antworten mit Zitat

Ich frage mich, warum Du so lange rumhampelst und unbedingt das Icon auf dem Desktop markieren willst?

Tut es nicht ein einfaches:
Zitat:
tell application "Finder"
   open (path to desktop folder)
   set desktop_name to displayed name of (path to desktop folder)
   set desktop_win to first window whose name is desktop_name
   set current view of desktop_win to list view
   return properties of desktop_win
end tell

_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


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

BeitragVerfasst am: 18.06.2007 - 12:54    Titel: Antworten mit Zitat

EDIT, da noch nicht beantwortet. Ekrlärung habe ich ja oben schon mal abzugeben versucht, warum mir dies ein vitales Bedürfnis erscheint:
Das neue Konzept sollte zeigen, was ich meine mit: "auf dem Schreibtisch markieren"
hat Folgendes geschrieben:
tell application "Finder"
   
try
      
set NamWinLIST to name of every window whose visible is true
      
activate
      
tell application "System Events"
         
repeat count NamWinLIST times
            (
keystroke "m" using command down) --<-Fenster im Dok ablegen
         
end repeat
      
end tell
   
end try
   
try
      
set visible of every process whose name is not "Finder" to false
   
end try --Danke Skeeve: Fenster nebeneinander mit Wahlmöglichkeit
   
open (path to desktop folder)
   
set desktop_name to displayed name of (path to desktop folder)
   
set desktop_win to first window whose name is desktop_name
   
set current view of desktop_win to list view
   set bounds of desktop_win to {41, 97, 432, 699}
 
try -- AUSSTIEGS-Möglichkeit
      
set AliasVonSelect to ¬
         
select (make new alias of desktop to select ¬
            (
a reference to (folder (path to desktop folder) as text) & ¬
               
first item of (choose from list ¬
               (
list folder (path to desktop folder)) with prompt ¬
               "
HIER anklicken, um es auf Schreibtisch zu markieren. Sonst ABBRECHEN") as alias) as alias)
   
on error
      
return
   
end try
   
tell application "System Events"
      (
activate (keystroke "r" using command down))
   
end tell
   
activate
   
open (path to "trsh")
   
delete AliasVonSelect
--nach dem Tipp von Snow vorgehend:
   
tell application "Finder" to display dialog ¬
      "
Papierkorb leeren? " default answer ¬
      (
name of every item of trash as text)
   
empty the trash
   
close window ".Trash"
end tell


• ich habe diesem "Vargang" das Tasten-Kürzel [ALT+S] verpasst

• Falls jemand noch Interesse hat zu helfen: was tun, falls man ein Alias angewählt hat?
• Skeeve: wolltest du nicht kürzlich [mit AS ein Alias lokalisieren] ? Das ist auf OS9 ein Kinderspiel. OSX: habe ich in obigem Skript dasselbe Problem!, wenn ichs auf Schreibtisch markieren lassen will mit select.
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 19.06.2007 - 13:00, insgesamt einmal bearbeitet
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 -> AppleScript X 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