Script per ottenere finestre da oltre il bordo del display

6

Ho un problema con il mio nuovo monitor. Spesso quando sblocco lo schermo, ci sono finestre che si trovano oltre il bordo del desktop. È piuttosto irritante dover trascinarli di nuovo al centro della finestra manualmente.

Fortunatamente, ho trovato uno script che può farlo per me: link

Sfortunatamente, funziona solo dalla finestra dell'editor di script. Quando provo a eseguirlo facendo clic sul suo nome nella barra dei menu di script, non fa nulla. Ho provato a salvarlo come applicazione e ad eseguirlo, con lo stesso effetto.

Chiunque può aiutarmi con quello?

    
posta autoencoder 24.04.2017 - 13:45
fonte

2 risposte

5

Sono andato all'URL nella tua domanda, fai clic sul pulsante Raw , copiato il codice e incollato in Script Editor , dove l'ho salvata come applicazione chiamata: Raccogli fuori schermo Windows.app

Poi sono entrato in Preferenze di sistema > Sicurezza e amp; Privacy > Accessibilità , come mostrato nell'immagine sottostante e aggiunto il Raccogli fuori schermo Windows.app .

Ho spostato alcune finestre fuori dallo schermo, quindi ho eseguito il Gather Off-Screen Windows.app , completato senza errori e spostato completamente le finestre fuori dallo schermo.

OrahoaggiuntoGatherOff-ScreenWindows.appaPreferenzedisistema>Sicurezzaeamp;Privacy>Accessibilitàdopoaverlosalvato,senonl'avessifatto,misareiaspettatodivedereleseguentifinestredidialogoquandohoeseguitol'app,(cheavolteunooentrambipotrebberononapparire):

Detto questo, lasciatemi dire che, anche se non ho studiato approfonditamente lo script per comprenderne la meccanica, tuttavia, vedo ciò che considero un codice errato in questo caso nel iniziando e cambierebbe la seguente riga di code da:

repeat with proc in application processes

A:

repeat with proc in (application processes whose visible is equal to true)

La ragione per cui questo cambiamento ha senso per me è, ad esempio, al momento ho 38 processi applicativi in esecuzione di cui solo 10 sono visibili e quindi sembra inutile interrogare ulteriormente i 28 processi applicativi che non sono nemmeno visibili .

Nota anche che ho anche ridotto a icona alcune delle finestre fuori schermo prima di eseguire l'app e quando le ho eliminate, erano completamente sullo schermo. Pertanto, la proprietà visible in questa istanza riguarda il processo non ha minimizzato le finestre fuori schermo che, sebbene minimizzate, non sono visibili.

    
risposta data 24.04.2017 - 15:19
fonte
3

Vorrei utilizzare Automator per creare un servizio che esegua Apple Script. E, come bonus, potresti anche utilizzare le Preferenze di Sistema per assegnare una scorciatoia da tastiera al servizio.

Di seguito sono riportati i passaggi per ciascuno.

1. Crea un servizio utilizzando Automator

  1. Avvia Automator (di solito si trova nella cartella Applicazioni)
  2. Vai a File > Nuovo
  3. Seleziona servizio e fai clic su Scegli
  4. Nella parte in alto a destra della finestra visualizzata, assicurati che "Nessun input" sia selezionato dall'elenco a discesa Servizio ricevuto
  5. Assicurati che l'elenco a discesa In mostri "Qualsiasi applicazione"
  6. Nella seconda colonna contenente l'elenco lungo, trova "Esegui AppleScript" e fai doppio clic su di esso
  7. Questo aggiungerà la finestra Esegui AppleScript sulla destra
  8. Ora sostituisci (* Il tuo script va qui *) con lo script che vuoi
  9. Salva il servizio utilizzando un nome significativo (ad esempio, Raccogli finestre).
  10. Esci da Automator

Ora testerei il servizio spostando un paio di finestre dallo schermo. Puoi eseguire il servizio da qualsiasi applicazione andando all'elenco dei servizi all'interno di qualsiasi menu dell'applicazione (ad esempio Finder > Servizi, Safari > Servizi, TextEdit > Servizi, ecc.) E seleziona il servizio che hai appena creato.

Supponendo che funzioni, puoi anche creare una scorciatoia da tastiera per eseguirla.

2. Creazione del collegamento

  1. Vai a Preferenze di Sistema > Tastiera > Tasti di scelta rapida
  2. Seleziona servizi dalla barra laterale
  3. Trova il tuo servizio (sarà nella lista sul lato destro)
  4. Aggiungi un collegamento facendo doppio clic sul nome del servizio
  5. Ora vai su Preferenze di Sistema > Sicurezza e amp; Privacy > Privacy
  6. Seleziona Accessibilità nella barra laterale
  7. Fai clic sul segno + (potrebbe essere necessario sbloccare il lucchetto se è bloccato)
  8. Aggiungi Automator.
  9. Aggiungi Finder (per trovarlo dovrai navigare su /System/Library/CoreServices/Finder.app ).
  10. Esci dalle Preferenze di Sistema.

Ora dovresti essere in grado di utilizzare la scorciatoia da tastiera per eseguire il servizio.

NOTA: sono consapevole che per le alcune scorciatoie da tastiera degli utenti non sembrano funzionare anche se sono state assegnate a un servizio. Questo è un altro argomento, ma se ciò accade nel tuo caso, almeno puoi eseguire il servizio da qualsiasi applicazione che stai utilizzando.

Fammi sapere come va.

    
risposta data 24.04.2017 - 15:25
fonte

Leggi altre domande sui tag