Pintasan Keyboard Safari “Search Tabs”


12

Fitur "Search Tabs" baru dari Safari 8 cukup bagus. Saat "tampilkan semua tab" diaktifkan, Anda dapat mengetik beberapa teks untuk memfilter tab ke tab yang Anda inginkan. Namun, begitu saya memiliki satu tab yang terlihat, akan sangat bagus untuk dapat mengaktifkan tab itu. Ini akan memungkinkan fungsionalitas tipe "sorotan" untuk tab.

Namun, sepertinya tidak ada pintasan keyboard untuk mengaktifkan tab setelah saya mencarinya, jadi saya terpaksa mengklik tab dengan mouse saya! Sepertinya ini kelalaian, saya tidak percaya Apple akan menambahkan cara yang bagus untuk memfilter tab, tetapi tidak ada cara untuk memilihnya!

Tangkapan layar:

masukkan deskripsi gambar di sini


Saya tahu ini sama sekali tidak membantu, tetapi saya percaya mereka akan melakukannya. : P Terutama mengingat bagaimana ... kasar beberapa tepi Yosemite secara umum.
tubedogg

Adakah yang baru tentang itu? Sudah beberapa bulan dan masalah ini tampaknya masih berlanjut :(
dvcrn

Tampilan "Tampilkan semua tab" dengan pencarian sekarang tersedia untuk semua aplikasi yang menggunakan tab asli di High Sierra.
Steve Moser

Jawaban:


3

Saya telah mencoba kombinasi tombol berikut dalam upaya melakukan ini, tanpa efek:

  • Command + Return ... + Space
  • Opsi + Kembali ... + Spasi
  • Kontrol + Kembali ... + Spasi
  • Command + Shift + \ (Perintah "Tampilkan Semua Tab" di Macbook saya)

Ini membuat saya percaya bahwa ini adalah kekeliruan dari pihak Apple.

Kludge: Buat Perintah Automator untuk Mensimulasikan Klik Mouse

Saya menggunakan kode yang saya temukan di https://discussions.apple.com/thread/3708948 untuk mengumpulkan AppleScripts berikut:

Percobaan 1: Tidak Bekerja, saya menjalankan kode ini dalam Applescript yang dibungkus dengan Layanan Automator yang dipetakan ke "Command + Shift + Option + Control + Space", menggunakan angka yang saya dapat dari menekan "Command + Control + Shift + 4" untuk dapatkan alamat untuk area (600 piksel horizontal dari kiri, 300 piksel vertikal dari atas), dan itu akan berfungsi di Safari normal (menekan kombinasi tombol akan membuat klik mouse pada alamat piksel itu), tetapi itu tidak berpengaruh ketika perintah kunci yang sama dijalankan dalam mode "Tampilkan Semua Tab" di Safari!

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

        return input
    end run

Percobaan # 2: Berhasil, tetapi Tidak Layak

Saya memang mendapatkan perintah kunci yang bekerja dengan Applescript berikut dibungkus dengan Layanan Automator, tetapi butuh 5,125 detik untuk menyelesaikan :(

    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

Saya akan menandai ini sebagai "jawaban terbaik" untuk saat ini, karena ini merupakan perawatan yang cukup menyeluruh pada masalah ini, dan menunjukkan bahwa itu sangat tidak mungkin. Terima kasih.
SamBeran

Solusi yang agak kikuk adalah menggunakan Shortcat untuk memilih tab.
Adam Lindberg

3

Saya pikir saya mendapat jawaban Anda. Saya menghabiskan sepanjang hari mencari ini. Saya menggunakan aplikasi gratis hebat bernama BetterTouchTool (menggunakan OS X 10.10) untuk menambahkan gerakan tambahan dan pintasan ke semua perangkat apel, dan itu bekerja secara instan! Tidak ada penundaan!

Saya akan membuat tangkapan layar dengan setiap langkah yang perlu Anda konfigurasi. CATATAN: Ini akan mengikat posisi mouse sebagai pintasan keyboard pilihan Anda saat Anda menggunakan safari. Kelemahan: Anda tidak dapat mengubah posisi jendela safari, dan posisi mouse akan berbeda dari monitor dari notebook Anda. Solusi: Saya sarankan memetakan posisi mouse menggunakannya dalam layar penuh dengan layar yang paling sering Anda gunakan (atau hanya memetakan dua pintasan untuk setiap layar)

  • 1 Unduh aplikasi http://www.bettertouchtool.net

  • 2 Buka aplikasi, pilih keyboard, tambahkan aplikasi ke daftar ke pintasan yang akan Anda tambahkan (dalam hal ini Safari), pilih pintasan Anda (saya memetakan "Opsi + 1" di tangkapan layar ini), lalu, di dalam Trigger pilih menu, pilih " Pindahkan Mouse ke Posisi " di "Tindakan Mouser Lainnya". Saya menandai opsi yang salah pada tangkapan layar, itu opsi di atas. BUKAN "Simpan posisi mouse". Maaf saya terlalu lelah, jam 3 pagi dan saya harus bekerja besok masukkan deskripsi gambar di sini

  • 3 Pilih di mana Anda ingin kursor pergi (Posisi di kotak input akan memeriksa hasil pertama ketika UI ditampilkan ~ 3 hasil)

masukkan deskripsi gambar di sini

  • 4 Tambahkan acara berikut: Acara klik kiri. Dan itu dia! masukkan deskripsi gambar di sini

Lakukan hal yang sama dengan posisi mouse yang berbeda untuk mendapatkan hasil 2, 3 .. tetapi perlu diingat ui akan berubah jika hasil yang lebih besar, kadang-kadang bahkan menyembunyikan hasil pertama.


Saya telah memetakan kembali shift+command+\ ke command+d. Jadi Anda hanya perlu command+d command+f mengirim pesan teks di sini command+d.
Dzh

2

Saya telah menggunakan Applescript untuk melakukan ini sejak sebelum mereka menambahkan fitur ini:

http://hea-www.harvard.edu/~fine/OSX/safari-tabs.html

Ini memunculkan dialog pencarian, Anda memasukkan pencarian Anda, dan segera mengaktifkan satu tab yang cocok, atau memberi Anda dialog untuk memilih dari daftar tab yang cocok. Ini membawa jendela ke depan dan menjadikannya tab aktif di jendela.

(Saya memiliki skrip yang mirip untuk menemukan jendela Terminal.)


Sangat keren; Saya pikir saya akan mencoba ini. Jika saya memahaminya, sepertinya skrip Anda juga mencari semua jendela yang terbuka, bukan hanya yang saat ini. Apakah itu benar? Ini adalah fitur yang saya inginkan yang tidak dimiliki pencarian normal.
krs013

0

Saya agak terlambat ke pesta, tapi saya pikir Shortcat akan melakukan fungsi yang diperlukan.

Dengan bonus tambahan sehingga dapat digunakan dengan Mail, dll.


0

Gunakan Automator dan rekatkan AppleScript dengan melampirkannya pada pintasan keyboard seperti dijelaskan dalam:

Bagaimana cara menetapkan pintasan keyboard ke AppleScript yang saya tulis?

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.