แป้นพิมพ์ลัด "ค้นหาแท็บ" ของ Safari


12

คุณลักษณะ "แท็บการค้นหา" ใหม่ของ Safari 8 นั้นค่อนข้างดี เมื่อเปิดใช้งาน "แสดงแท็บทั้งหมด" คุณสามารถพิมพ์ข้อความเพื่อกรองแท็บไปยังแท็บที่คุณต้องการ อย่างไรก็ตามเมื่อฉันเห็นแท็บเดียวมันจะดีมากที่สามารถเปิดใช้งานแท็บนั้นได้ สิ่งนี้จะช่วยให้การทำงานประเภท "สปอตไลท์" สำหรับแท็บ

อย่างไรก็ตามดูเหมือนว่าจะไม่มีแป้นพิมพ์ลัดเพื่อเปิดใช้งานแท็บเมื่อฉันค้นหาแล้วฉันจึงจำเป็นต้องคลิกแท็บด้วยเมาส์ของฉัน! ดูเหมือนว่าเป็นการกำกับดูแลฉันไม่อยากจะเชื่อเลยว่า Apple จะเพิ่มวิธีที่ดีในการกรองแท็บ แต่ไม่มีทางเลือก!

ภาพหน้าจอ:

ป้อนคำอธิบายรูปภาพที่นี่


ฉันรู้ว่านี่ไม่ได้ช่วยเหลืออย่างสมบูรณ์ แต่ฉันเชื่อได้ว่าพวกเขาจะทำเช่นนั้น โดยเฉพาะอย่างยิ่งวิธี ... หยาบขอบบางส่วนของโยเซมิตีโดยทั่วไป
tubedogg

มีอะไรใหม่ที่? ไม่กี่เดือนที่ผ่านมาและปัญหานี้ยังคงมีอยู่ :(
dvcrn

ขณะนี้มุมมอง "แสดงแท็บทั้งหมด" พร้อมการค้นหาพร้อมใช้งานแล้วสำหรับแอปทั้งหมดที่ใช้แท็บดั้งเดิมใน High Sierra
Steve Moser

คำตอบ:


3

ฉันได้ลองชุดคีย์ต่อไปนี้เพื่อพยายามทำสิ่งนี้โดยไม่มีผลกระทบ:

  • Command + Return ... + Space
  • ตัวเลือก + Return ... + Space
  • Control + Return ... + Space
  • Command + Shift + \ (คำสั่ง "แสดงแท็บทั้งหมด" บน Macbook ของฉัน)

สิ่งนี้ทำให้ฉันเชื่อว่านี่เป็นการกำกับดูแลของ Apple จริงๆ

Kludge: สร้างคำสั่ง Automator เพื่อจำลองการคลิกเมาส์

ฉันใช้รหัสที่พบในhttps://discussions.apple.com/thread/3708948เพื่อรวม AppleScripts ต่อไปนี้:

ความพยายามที่ 1: ไม่ทำงาน ฉันเรียกใช้รหัสนี้ใน Applescript ที่ห่อด้วย Automator Service ที่จับคู่กับ "Command + Shift + Option + Control + Space" โดยใช้ตัวเลขที่ฉันได้รับจากการกด "Command + Control + Shift + 4" เพื่อ รับที่อยู่สำหรับพื้นที่ (แนวนอน 600 พิกเซลจากด้านซ้ายแนวตั้ง 300 พิกเซลจากด้านบน) และมันจะทำงานใน Safari ปกติ (การกดปุ่มผสมจะทำให้การคลิกเมาส์ที่ที่อยู่พิกเซลนั้น) แต่จะไม่มีผลเมื่อ คำสั่งคีย์เดียวกันทำงานในโหมด "แสดงแท็บทั้งหมด" ใน Safari!

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

        return input
    end run

ลอง # 2: ใช้งานได้ แต่ไม่สามารถทำได้

ฉันได้รับคำสั่งที่สำคัญในการทำงานกับ Applescript ต่อไปนี้ซึ่งอยู่ใน Automator Service แต่ใช้เวลา 5.125 วินาทีในการดำเนินการให้เสร็จสมบูรณ์ :(

    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

ฉันจะทำเครื่องหมายสิ่งนี้ว่า "คำตอบที่ดีที่สุด" ในตอนนี้เนื่องจากเป็นการรักษาอย่างละเอียดในเรื่องและแสดงให้เห็นว่ามันเป็นไปไม่ได้ ขอบคุณ.
SamBeran

วิธีแก้ปัญหาบิต clunky คือการใช้Shortcatเพื่อเลือกแท็บ
Adam Lindberg

3

ฉันคิดว่าฉันได้รับคำตอบจากคุณ ฉันใช้เวลาทั้งวันเพื่อค้นหาสิ่งนี้ ฉันใช้แอพฟรีที่เรียกว่า BetterTouchTool (ใช้ OS X 10.10) เพื่อเพิ่มท่าทางและทางลัดไปยังอุปกรณ์แอปเปิ้ลทั้งหมดและใช้งานได้ทันที! ไม่ล่าช้า!

ฉันจะสร้างภาพหน้าจอในแต่ละขั้นตอนที่คุณต้องกำหนดค่า หมายเหตุ: มันจะผูกตำแหน่งเมาส์เป็นแป้นพิมพ์ลัดที่คุณเลือกเมื่อคุณใช้ซาฟารี ข้อเสีย: คุณไม่สามารถเปลี่ยนตำแหน่งหน้าต่างของซาฟารีและตำแหน่งของเมาส์จะแตกต่างจากจอภาพจากโน้ตบุ๊กของคุณ วิธีแก้ปัญหา: ฉันแนะนำแผนที่ตำแหน่งเมาส์โดยใช้แบบเต็มหน้าจอกับหน้าจอที่คุณใช้งานบ่อยที่สุด (หรือเพียงแมปปุ่มลัดสองปุ่มสำหรับแต่ละหน้าจอ)

  • 1 ดาวน์โหลดแอปhttp://www.bettertouchtool.net

  • 2 เปิดแอพเลือกแป้นพิมพ์เพิ่มแอพลงในรายการทางลัดที่คุณจะเพิ่ม (ในกรณีนี้ Safari) เลือกทางลัดของคุณ (ฉันกำลังจับคู่ "ตัวเลือก + 1" ในภาพหน้าจอนี้) จากนั้นเลือก Trigger เมนูเลือก " เลื่อนเมาส์ไปที่ตำแหน่ง " ใน "การทำงานของ Mouser อื่น ๆ " ฉันทำเครื่องหมายตัวเลือกผิดในภาพหน้าจอเป็นตัวเลือกด้านบน ไม่ใช่ "บันทึกตำแหน่งเมาส์" ขออภัยฉันเหนื่อยเกินไปมันเป็นตี 3 และฉันต้องทำงานพรุ่งนี้ ป้อนคำอธิบายรูปภาพที่นี่

  • 3 เลือกตำแหน่งที่คุณต้องการให้เคอร์เซอร์ไป (ตำแหน่งในกล่องป้อนข้อมูลจะตรวจสอบผลลัพธ์แรกเมื่อ UI แสดงผล ~ 3)

ป้อนคำอธิบายรูปภาพที่นี่

  • 4 เพิ่มเหตุการณ์ต่อไปนี้: เหตุการณ์คลิกซ้าย และนั่นมัน! ป้อนคำอธิบายรูปภาพที่นี่

ทำเช่นเดียวกันกับตำแหน่งเมาส์ที่แตกต่างกันเพื่อให้ได้ผลลัพธ์อันดับ 2, 3 .. แต่โปรดจำไว้ว่า UI จะเปลี่ยนหากผลลัพธ์ที่ใหญ่กว่าบางครั้งอาจซ่อนผลลัพธ์แรก


ฉันได้ remapped ไปshift+command+\ command+dดังนั้นแล้วคุณก็ทำข้อความที่นี่command+d command+f command+d
Dzh

2

ฉันใช้ Applescript ทำสิ่งนี้ตั้งแต่ก่อนที่พวกเขาจะเพิ่มคุณสมบัตินี้:

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

มันปรากฏขึ้นกล่องโต้ตอบการค้นหาคุณป้อนการค้นหาของคุณและมันเปิดใช้งานแท็บการจับคู่เดียวทันทีหรือให้กล่องโต้ตอบให้คุณเลือกจากรายการของแท็บที่ตรงกัน มันนำหน้าต่างไปข้างหน้าและทำให้แท็บที่ใช้งานอยู่ในหน้าต่าง

(ฉันมีสคริปต์ที่คล้ายกันสำหรับการค้นหา windows Terminal)


เจ๋งมาก; ฉันคิดว่าฉันจะลองสิ่งนี้ หากฉันเข้าใจดูเหมือนว่าสคริปต์ของคุณจะค้นหาหน้าต่างที่เปิดอยู่ทั้งหมดแทนที่จะเป็นหน้าต่างปัจจุบัน ถูกต้องหรือไม่ นี่เป็นคุณลักษณะที่ฉันต้องการให้ไม่มีการค้นหาตามปกติ
krs013

0

ฉันมาช้าไปงานปาร์ตี้ แต่ฉันคิดว่าShortcatจะทำหน้าที่การใช้งานที่จำเป็น

ด้วยโบนัสที่เพิ่มเข้ามานั้นสามารถใช้กับ Mail และอื่น ๆ ได้


0

ใช้ Automator และวาง AppleScript ติดกับแป้นพิมพ์ลัดตามที่อธิบายไว้ใน:

ฉันจะกำหนดแป้นพิมพ์ลัดให้กับ AppleScript ที่ฉันเขียนได้อย่างไร

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.