Tạo một lệnh để tập trung một cửa sổ cụ thể từ bất cứ đâu trong HĐH


10

Trong khi phát triển cho web, tôi có xu hướng nhảy qua lại giữa trình soạn thảo văn bản và trình duyệt rất nhiều. Tôi muốn đặt một phím tắt ở cấp độ HĐH cho phép tôi nhảy đến một cửa sổ cụ thể, có thể xác định được mỗi lần. Thậm chí tốt hơn là khả năng đưa ra một thông báo cho ứng dụng đó thực thi một cái gì đó, nhưng tôi sẽ lưu nó để sử dụng sau.

Có công nghệ có sẵn sẽ cho phép tôi làm điều này? Phải có một cái gì đó giữa C và AppleScript để tôi tạo ra loại tương tác này. Có ai biết bắt đầu từ đâu không?

Cảm ơn.

Câu trả lời:


2

Bạn nên thử Automator. Bạn có thể "Ghi lại" một dịch vụ mới (sau này bạn có thể xuất bản cho tất cả Ứng dụng và gán Phím tắt bàn phím), nhấp vào ứng dụng từ Dock. Trên thực tế, bạn có thể thêm nhiều hành động và thực hiện "yêu cầu ứng dụng đó thực thi một cái gì đó".

Tôi đã thử tạo một cái (tương đối vô dụng nhưng hoạt động) nhấp vào Mail trong Dock của tôi, sau đó nhấp vào biểu tượng nhận thư mới trên thanh công cụ. Vui vẻ ;)

Kèm theo là ảnh chụp kết quả của Automator:

Máy tự động

Tôi đã sử dụng nút Ghi ở góc trên cùng bên phải và sau đó tự thực hiện các hành động (nhấp vào biểu tượng dock của Mail, sau đó nhấp vào biểu tượng Nhận thư mới trên thanh công cụ, sau đó nhấp vào "Dừng ghi âm"). Vui lòng lưu ý rằng tôi đã chọn "Dịch vụ nhận [không có đầu vào]" trong hộp kết hợp đầu tiên, vì tôi không quan tâm đến bất kỳ đầu vào nào.

Điều này cung cấp cho bạn nhiều khả năng để có một vài dịch vụ qua lại TextEditor và Trình duyệt của bạn.

Automator được định vị bằng cách sử dụng Spotlight và gõ Automator (cũng nằm trong /Appluggest/Automator.app)

Trong trường hợp này, tôi đã tạo một "Dịch vụ" mới nhưng có lẽ bạn có thể thoát khỏi bằng cách tạo "tập lệnh". Không chắc cái nào sẽ nhanh hơn tho. Thí nghiệm. Máy tự động là bạn của bạn.


5

Bạn có thể làm một cái gì đó như thế này với AppleScript:

tell application "Terminal"
    activate
    windows where name contains "bash"
    if result is not {} then set index of item 1 of result to 1
end tell

Hoặc sử dụng Sự kiện hệ thống:

tell application "System Events" to tell process "Terminal"
    set frontmost to true
    windows where title contains "bash"
    if result is not {} then perform action "AXRaise" of item 1 of result
end tell

1

Tôi sử dụng BetterTouchTool để cài đặt các phím tắt hoặc cử chỉ bàn phím khác nhau trên Mac OS X. Một trong những hành động mà nó có thể khởi chạy là Thực thi Lệnh Terminal

Vì vậy, trong các cài đặt của lệnh tôi cung cấp như sau:

osascript -e 'tell application "NameOfTheApplicationHere" to activate'

Dưới đây là một ví dụ từ các tùy chọn BetterTouchTool:

nhập mô tả hình ảnh ở đây


1

Tôi đã gặp rất nhiều khó khăn khi làm việc này với iTerm2. Đây là giải pháp lệnh đơn:

  osascript -e 'tell application "System Events" to tell process "iTerm2"' \
            -e 'set frontmost to true' \
            -e 'if windows is not {} then perform action "AXRaise" of item 1 of windows' \
            -e 'end tell'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.