Safari "Cerca schede" Scorciatoie da tastiera

11

La nuova funzionalità "Cerca schede" di Safari 8 è molto carina. Quando è attivato "Mostra tutte le schede", puoi digitare del testo per filtrare le schede in base a quello desiderato. Tuttavia, una volta che ho una singola scheda visibile, sarebbe molto bello essere in grado di attivare quella scheda. Ciò consentirebbe la funzionalità di tipo "spotlight" per le schede.

Tuttavia, non sembra che ci sia una scorciatoia da tastiera per attivare la scheda dopo averla cercata, quindi sono costretto a fare clic sulla scheda con il mouse! Sembra una svista, non posso credere che Apple aggiungerebbe un buon modo per filtrare le schede, ma non c'è modo di selezionarne una!

Cattura schermo:

    
posta SamBeran 07.11.2014 - 23:05
fonte

5 risposte

3

Ho provato le seguenti combinazioni di tasti nel tentativo di farlo, senza alcun effetto:

  • Comando + Ritorna ... + Spazio
  • Opzione + Ritorna ... + Spazio
  • Controllo + Ritorno ... + Spazio
  • Comando + Maiusc + \ (Il comando "Mostra tutte le schede" sul mio Macbook)

Questo mi porta a credere che sia davvero una svista da parte di Apple.

Kludge: crea un comando Automator per simulare un clic del mouse

Ho usato il codice che ho trovato al link per mettere insieme i seguenti AppleScript:

Tentativo 1: non ha funzionato Ho eseguito questo codice in un oggetto Applescript avvolto in un servizio di automazione mappato a "Comando + Maiusc + Opzione + Controllo + Spazio", utilizzando i numeri che ottengo premendo "Comando + Ctrl + Maiusc + 4" per ottenere l'indirizzo per l'area ( 600 pixel orizzontali da sinistra, 300 pixel verticali dall'alto), e funzionerebbe nel normale Safari (premendo la combinazione di tasti si farebbe il clic del mouse a quell'indirizzo pixel), ma non ha avuto effetto quando è stato eseguito lo stesso comando chiave nel Modalità "Mostra tutte le schede" in Safari!

on run {input, parameters}
    tell application "System Events"
            tell process "Safari"
                click at {600, 300}
            end tell
        end tell

        return input
    end run

Tentativo n. 2: lavorato, ma non fattibile

Ho ottenuto un comando chiave che funzionava con il seguente oggetto Applescript avvolto in un servizio di automazione, ma ci sono voluti 5,125 secondi per completare :(

    on run {input, parameters}

    set x to 600
    set y to 150

    do shell script "
/usr/bin/python <<END
import sys
import time
from Quartz.CoreGraphics import *
def mouseEvent(type, posx, posy):
          theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft)
          CGEventPost(kCGHIDEventTap, theEvent)
def mousemove(posx,posy):
          mouseEvent(kCGEventMouseMoved, posx,posy);
def mouseclick(posx,posy):
          mouseEvent(kCGEventLeftMouseDown, posx,posy);
          mouseEvent(kCGEventLeftMouseUp, posx,posy);
ourEvent = CGEventCreate(None);
currentpos=CGEventGetLocation(ourEvent);             # Save current mouse position
mouseclick(" & x & "," & y & ");
mousemove(int(currentpos.x),int(currentpos.y));      # Restore mouse position
END"
    return input
end run
    
risposta data 02.12.2014 - 05:06
fonte
3

Penso di avere la tua risposta. Ho passato tutto il giorno a cercarlo. Io uso una fantastica app gratuita chiamata BetterTouchTool (usando OS X 10.10) per aggiungere gesti e scorciatoie adizionali a tutti i dispositivi Apple, e funziona istantaneamente! Nessun ritardo!

Creerò screenshot con ogni passaggio che devi configurare. NOTA: legherà la posizione del mouse come scorciatoia da tastiera di tua scelta quando utilizzi il safari. Aspetti negativi: non è possibile modificare la posizione della finestra di Safari e la posizione del mouse sarà diversa dal monitor del notebook. Soluzione: raccomando di mappare la posizione del mouse usandola a schermo intero con lo schermo che usi maggiormente la maggior parte delle volte (o semplicemente mappare due scorciatoie per ogni schermata)

  • 1 Scarica l'app link

  • 2 Apri l'app, seleziona la tastiera, aggiungi un'app da elencare alle scorciatoie da aggiungere (in questo caso Safari), scegli il tuo collegamento (sto mappando "Opzione + 1" in questo screenshot), quindi, all'interno del menu di selezione Trigger, seleziona " Sposta il mouse nella posizione " in "Altre azioni di Mouser". Ho contrassegnato l'opzione errata nello screenshot, è l'opzione sopra. NON è "Salva posizione del mouse". Scusa, sono troppo stanco, sono le 3 del mattino e devo lavorare domani

  • 3Sceglidovevuoiposizionareilcursore(Laposizionenellacaselladiinputcontrollailprimorisultatoquandol'interfacciautentemostrarisultati~3)

  • 4 Aggiungi un evento seguente: Un evento clic sinistro. E questo è tutto!

Fai lo stesso con una posizione del mouse diversa per ottenere il 2 °, 3 ° .. risultato, ma tieni presente che l'interfaccia utente cambierà se i risultati sono maggiori, a volte nascondendo anche il primo risultato.

    
risposta data 17.06.2015 - 07:56
fonte
2

Ho usato Applescript per farlo sin da prima che aggiungessero questa funzione:

link

Si apre una finestra di ricerca, si inserisce la ricerca, si attiva immediatamente una singola scheda di corrispondenza o si apre una finestra di dialogo per selezionare da un elenco di schede corrispondenti. Porta la finestra in primo piano e rende questa la scheda attiva nella finestra.

(Ho uno script simile per trovare le finestre di Terminale.)

    
risposta data 07.07.2015 - 19:26
fonte
0

Sono un po 'in ritardo per la festa, ma penso che Shortcat eseguirà la funzionalità necessaria.

Con il bonus aggiuntivo tale da poter essere utilizzato con Mail, ecc.

    
risposta data 23.03.2017 - 23:00
fonte
0

Utilizza Automator e incolla l'AppleScript collegandolo a una scorciatoia da tastiera come descritto in:

Come faccio assegnare una scorciatoia da tastiera ad un AppleScript che ho scritto?

set question to display dialog ("Find Safari tab:") default answer ""
set searchpat to text returned of question

tell application "Safari"
    set winlist to every window
    set winmatchlist to {}
    set tabmatchlist to {}
    set tabnamematchlist to {}
    repeat with win in winlist
        set ok to true
        try
            set tablist to every tab of win
        on error errmsg
            --display dialog name of win as string
            set ok to false
        end try
        if ok then
            repeat with t in tablist
                if searchpat is in (name of t as string) then
                    set end of winmatchlist to win
                    set end of tabmatchlist to t
                    set end of tabnamematchlist to (id of win as string) & "." & (index of t as string) & ".  " & (name of t as string)
                    --display dialog name of t as string
                else if searchpat is in (URL of t as string) then
                    set end of winmatchlist to win
                    set end of tabmatchlist to t
                    set end of tabnamematchlist to (id of win as string) & "." & (index of t as string) & ".  " & (name of t as string)
                    --display dialog name of t as string
                end if
            end repeat
        end if
    end repeat
    if (count of tabmatchlist) = 1 then
        --display dialog "one!"
        set w to item 1 of winmatchlist
        set t to item 1 of tabmatchlist
        set current tab of w to t
        set index of w to 1
    else if (count of tabmatchlist) = 0 then
        display dialog "No matches"
    else
        set whichtab to choose from list of tabnamematchlist with prompt "The following tabs match, please select one:"
        set AppleScript's text item delimiters to "."
        if whichtab is not equal to false then
            set tmp to text items of (whichtab as string)
            set w to (item 1 of tmp) as integer
            set t to (item 2 of tmp) as integer
            set current tab of window id w to tab t of window id w
            set index of window id w to 1
        end if
    end if
end tell
    
risposta data 05.04.2018 - 15:13
fonte

Leggi altre domande sui tag