Mở cửa sổ thiết bị đầu cuối mới trong không gian hiện tại, bất kể các thiết bị đầu cuối mở khác trong không gian khác


14

Khi sử dụng Spaces trên Mac OS X, cố gắng mở phiên bản thiết bị đầu cuối mới, kết quả là tiêu điểm sẽ bị kéo vào bất kỳ không gian nào có cửa sổ thiết bị đầu cuối được truy cập gần đây nhất. Với Finder tôi có thể nhấp vào Desktop và sau đó sử dụng - Nđể tạo cửa sổ Finder mới. Những gì tôi đang tìm kiếm là một phương thức để thực hiện chức năng tương tự cho các cửa sổ Terminal.

Làm cách nào tôi có thể tạo một phiên bản Terminal mới trong không gian hiện tại, bất kể có tồn tại một phiên bản Terminal khác trong một hoặc nhiều không gian khác hay không.

Cảm ơn.


Tôi thích câu hỏi, nhưng nghĩ rằng nó nên dành cho siêu người dùng.

Câu trả lời:


4

Bạn có thể tạo một dịch vụ mới bằng trình tự động hóa (từ thư mục ứng dụng). Ở đầu cửa sổ tự động hóa, nhập: Dịch vụ nhận 'không có đầu vào' trong 'bất kỳ ứng dụng nào'. Sau đó, trong quy trình làm việc, thêm 'Chạy applescript'. Tạo các applescript chứa như sau:

on run {input, parameters}

    tell application "Terminal"
        do script ""
        activate
    end tell

    return input
end run

(Bạn có thể thêm bất kỳ lệnh nào bạn thích vào dòng script do "" (ví dụ: một cái gì đó hữu ích để chạy khi thiết bị đầu tiên mở ra như thế nào uptimenếu bạn thích, hoặc chỉ để trống).

Lưu dịch vụ dưới dạng 'Open Terminal' hoặc bất kỳ tên nào bạn thích. Nó sẽ xuất hiện trong menu dịch vụ của bạn.

Sau đó, nếu bạn muốn thêm phím tắt, bạn chỉ cần truy cập Tùy chọn hệ thống -> Bàn phím -> tab Phím tắt, chọn dịch vụ trong menu bên trái và tìm dịch vụ mới của bạn (có thể ở gần phía dưới). Chỉ cần nhấp vào khoảng trắng ở bên phải tên dịch vụ của bạn và gán cho nó bất kỳ phím tắt nào bạn thích, và xin chào! tất cả nên hoạt động


1
Cần lưu ý rằng điều này thực sự cung cấp các chức năng được yêu cầu. Là một chỉnh sửa nhỏ, bạn cần do shell script " "dòng cho nó để mở một cửa sổ mới trong không gian hiện tại, nhưng không cần kịch bản shell là một khoảng trắng. Nếu đó là một khoảng trắng, nó sẽ khiến Terminal chạy không gian trống dưới dạng lệnh, dẫn đến độ trễ thực thi và một dòng không liên quan trong cửa sổ Terminal mới. Chỉ cần làm cho nó thành một chuỗi hoàn toàn trống rỗng: do shell script ""và sau đó nó sẽ mở một cửa sổ Terminal mới nhưng không đưa ra bất kỳ lệnh nào trong đó.
Dakota

Đúng, bạn đúng. Tôi đã cập nhật câu trả lời để xóa khoảng trắng từ giữa các trích dẫn. Tuy nhiên, để hoạt động, nó cần phải do script "", và không do shell script "", như @dakota đề xuất
tmdavison

3

Trong các bài tập ứng dụng trong Tùy chọn hệ thống -> Spaces, đặt Terminal thành "Every Space" hoặc xóa mục nhập. Sau đó, sẽ không có vấn đề gì khi mở cửa sổ Terminal mới bất cứ nơi nào bạn muốn, ví dụ: bằng cách nhấp vào menu ngữ cảnh dock "Cửa sổ mới" (hoạt động ngay cả khi bạn có "Khi chuyển sang ứng dụng, hãy chuyển sang không gian có cửa sổ mở từ đó tùy chọn ứng dụng "được bật).


Câu đầu tiên là không liên quan, theo như tôi có thể nói. Đặt nó thành "Mọi không gian" vẫn thay đổi Không gian khi mở một cửa sổ mới thông qua một cái gì đó như AppleScript hoặc keybinding, và menu ngữ cảnh dock không bao giờ thay đổi không gian bất kể cài đặt này. Một điều thú vị trong câu trả lời này là tùy chọn "Khi chuyển sang một ứng dụng, hãy chuyển sang không gian có cửa sổ mở từ ứng dụng đó". Vô hiệu hóa nó "sửa" trường hợp keybinding / AppleScript, nhưng không may "phá vỡ" tab lệnh. Nếu chỉ OS-X có ràng buộc phím "cửa sổ chu kỳ" thích hợp hoạt động trên tất cả các cửa sổ trong tất cả các ứng dụng trên tất cả các không gian.
Laurence Gonsalves

@LaurenceGonsalves, bạn có thể quay vòng qua tất cả các cửa sổ Terminal trên tất cả các Không gian bằng Mũi tên Trái / Phải. cái đó có giúp ích không?
Chris Trang

@Chris Đó là một bộ phím tắt thú vị, cảm ơn, nhưng chúng không giải quyết được vấn đề mà tôi đang đề cập. Nếu cài đặt "Khi chuyển sang ứng dụng ..." bị tắt và bạn đang ở trên một không gian không có cửa sổ Terminal và tab lệnh của bạn thành "Terminal" thì nó sẽ không chuyển sang không gian có cửa sổ Terminal và lệnh backtick sẽ không làm gì cả. Thật đáng ngạc nhiên, mũi tên trái / phải không làm gì trong trường hợp này (ít nhất là trên Snow Leopard). Các phím đó sẽ quay vòng giữa các cửa sổ trên các không gian nếu một cửa sổ trong ứng dụng hiện tại có tiêu điểm, nhưng nếu không có cửa sổ nào có tiêu điểm thì chúng không làm gì cả.
Laurence Gonsalves

2
tell application "Terminal"
    do script ""
    activate
end tell

Để thực hiện công việc này dưới Lion, hãy nhập phần trên vào cửa sổ AppleScript mới và lưu nó. Gọi tập lệnh thông qua một trình khởi chạy lệnh như QuickSilver hoặc gán nó cho một phím tắt. Điều này sẽ hoạt động, ngay cả khi bạn đã đặt cài đặt "Khi chuyển sang ứng dụng, hãy chuyển sang không gian có cửa sổ mở cho ứng dụng" được bật trong Điều khiển nhiệm vụ. Bí quyết là thực hiện lệnh kích hoạt lần cuối, thay vì ở đầu.


Hoặc, tạo Dịch vụ bằng Máy tự động và kích hoạt dịch vụ bằng phím tắt được đặt trong Tùy chọn hệ thống: apple.stackexchange.com/a/13655/36722
Dakota

0

Nếu bạn sử dụng menu dock để mở một cửa sổ mới, nó sẽ mở trong không gian hiện tại.


Có cách nào để làm điều này từ bàn phím?
Laurence Gonsalves

Control-F3 là "Di chuyển tiêu điểm đến Dock". Bạn có thể sử dụng các phím mũi tên để điều hướng qua menu biểu tượng Dock của Terminal. Bạn cũng có thể nhập để chọn các mục menu theo tên, ví dụ: nhập "N" hoặc "W mới". Xem Tùy chọn hệ thống> Bàn phím> Phím tắt> Nhập bàn phím & văn bản để xem tất cả các phím tắt để chọn và điều hướng qua giao diện người dùng.
Chris Trang

Có thể làm điều này. Bạn cần tạo một Dịch vụ đặc biệt bằng Automator, sau đó bạn có thể liên kết với một phím tắt từ Tùy chọn hệ thống: apple.stackexchange.com/a/13655/36722
Dakota

0

Bạn có thể tự động vô hiệu hóa không gian chuyển đổi OSX khi bạn chuyển đổi ứng dụng bằng các lệnh sau:

defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock

Hoạt động vào ngày 10.6.8


Cũng có cài đặt GUI cho điều này, đó là trong "Điều khiển nhiệm vụ".
SilverWolf - Phục hồi Monica
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.