Sử dụng Autokey Scripts để tự động hóa Desktop Linux của bạn
Autokey, được đề cập trước đây trên Make Tech Easier, là nơi tuyệt vời để lưu trữ văn bản thường được sử dụng. Nhưng một trong những tính năng cao cấp hơn của Autokey là khả năng viết kịch bản để làm những việc khác. Chúng ta sẽ xem xét hai cách để gõ Autokey cho kịch bản máy tính để bàn nâng cao.
Lưu ý : Trong khi tập lệnh bên dưới hoạt động trên cả 12.10 và 13.04 bằng cách sử dụng "autokey-qt", có vẻ như có một số vấn đề với phiên bản "autokey-gtk" trong kho tiêu chuẩn. Nếu bạn đang sử dụng Ubuntu (Unity-based) thông thường, bạn nên cân nhắc việc cài đặt từ PPA, trong đó có một phiên bản mới hơn của Autokey.
Khái niệm cơ bản về Autokey Scripting
Autokey scripting được thực hiện bằng Python, một ngôn ngữ lập trình phổ biến được sử dụng trong mọi thứ từ trình cài đặt Ubiquity của Ubuntu cho Google Maps. Mặc dù bạn có thể thực hiện một số việc hữu ích chỉ với các chức năng cụ thể cho Autokey, bạn cũng có thể sử dụng các tính năng Autokey trong các chương trình Python chung để làm bất cứ thứ gì bạn muốn.
Autokey Wiki chứa một số chủ đề hữu ích như Cài đặt và Câu hỏi thường gặp. Tham chiếu API, được ẩn dưới dạng liên kết ở đầu trang Mẫu tập lệnh, là nơi có nội dung hay. Nhìn xung quanh trang:
1. Ở đầu trang là tất cả các phương thức hoặc chức năng của mô-đun hiện tại mà bạn đang xem được giải thích chi tiết hơn bên dưới.
2. Trong cột bên tay trái là kiểu trả về hoặc những gì bạn lấy lại nếu bạn sử dụng phương thức đó.
3. Trong danh sách chi tiết hơn cho từng phương pháp, bạn sẽ có tên phương thức được liệt kê lại.
4. Bên cạnh tên, trong dấu ngoặc đơn, là các đối số, hoặc những thứ bạn cần để cung cấp phương thức để nó thực hiện công việc của nó.
5. Cuối cùng, có một ví dụ về cách sử dụng cho phương thức.
Hãy dành một chút thời gian để xem qua tham chiếu API - bạn sẽ không đi xa nếu không có nó. Sau đây là một bước đi của việc tạo ra một kịch bản từ đầu đến cuối.
Tạo tập lệnh Autokey
Tự động viết kịch bản rất giống với kịch bản lệnh shell, trong đó bạn xây dựng chúng một dòng tại một thời điểm, sử dụng các biến và hàm (hoặc trong phương thức này) để có được kết quả mong muốn. Trong trường hợp của tôi, tôi muốn để có thể làm nổi bật một số văn bản và stash nó đi trong một tập tin văn bản cho sau này. Bước đầu tiên là tạo một tập lệnh mới trong Autokey… bạn có thể thực hiện việc này bằng cách nhấp chuột phải vào một trong các thư mục và chọn “Tập lệnh mới” như hình dưới đây.
Đặt tên cho nó, sau đó vùng văn bản trống bên phải là tất cả của bạn - đây là nơi bạn sẽ nhập tập lệnh. Trong trường hợp này, hãy nhìn vào những gì chúng tôi muốn làm từng bước:
Lấy văn bản hiện đang được chọn
Autokey là tất cả về tự động hóa, vì vậy không có lý do gì để chúng tôi sao chép văn bản này, vào khay nhớ tạm hoặc bằng cách khác. Chúng tôi muốn nhấn phím nóng và đi, biết văn bản được giấu đi một cách an toàn cho sau này. May mắn thay, các tham chiếu API cho thấy có một phương pháp chỉ cho điều này: phương pháp QtClipboard. Dòng mã sau đây sẽ lấy văn bản hiện đang được chọn cho chúng tôi, như thể chúng tôi đã thực hiện “Chỉnh sửa & Sao chép” hoặc Ctrl-C . Thay vì clipboard của hệ thống, chúng ta sẽ lưu trữ nó trong biến “notecontent”:
notecontent = clipboard.get_selection ()
Chỉ định đường dẫn đầy đủ cho tệp
Tiếp theo, chúng tôi muốn lưu trữ một nơi nào đó. Chúng tôi sẽ cần phải chỉ định một địa điểm cho nó. Hãy thêm một dòng cho thấy thư mục chúng ta muốn sử dụng, gán cho biến “notepath”:
notecontent = clipboard.get_selection () notepath = "/ home / aaron / clip /"
Đối với tên tập tin, tôi muốn bao gồm một dấu ngày và thời gian khi nó được chụp. Một Googling nhỏ cho thấy có một chức năng trong mô-đun " thời gian " của Python sẽ cho tôi ngày hiện tại, theo định dạng YYYY-MM-DD-HH-mm-ss trên lệnh, chúng ta sẽ kết hợp với tiền tố "note" và hậu tố ".txt" và gán cho biến "notename". Chúng ta sẽ cần import module thời gian để chúng ta có thể sử dụng nó (vì nó quay ra, chúng ta cần điều này, vì các diễn đàn khuyên bạn nên thêm dòng thứ hai để tránh xung đột giữa kịch bản và bàn phím / chuột). Điều này làm cho kịch bản trông như thế này:
thời gian nhập time.sleep (0.25) notecontent = clipboard.get_selection () notepath = "/ home / aaron / clips /" notename = "note" + timestrftime ("% Y% m% d% H% M% S") + ".txt"
Tạo tệp
Điều này tương đối dễ làm theo:
- Nhập mô-đun thời gian
- Lấy lựa chọn hiện tại, gán cho “không tự tin”
- Gán thư mục đích cho “notepath”
- Gán văn bản "ghi chú", sau đó là ngày / giờ hiện tại, theo sau là ".txt" vào biến "notename".
Tất cả những gì chúng ta cần làm bây giờ là tạo tệp. May mắn thay, Autokey cũng cung cấp một phương thức cho điều đó, trong mô-đun Hệ thống:
thời gian nhập time.sleep (0.25) notecontent = clipboard.get_selection () notepath = "/ home / aaron / clips /" notename = "note" + timestrftime ("% Y% m% d% H% M% S") + ".txt" system.create_file (notepath + notename, content = notecontent)
Đó là nó! Gán một phím nóng, sao chép một số văn bản và xem điều gì sẽ xảy ra. Với các chức năng chính Autokey cung cấp cho bạn, và một số sức mạnh của Google, bạn có thể sử dụng Autokey cho kịch bản máy tính để bàn nâng cao.
1. Chọn văn bản
2. Nhấn phím nóng, và một tập tin văn bản mới xuất hiện
3. Và có văn bản đã chọn của chúng tôi, được hiển thị ở đầu ra ít hơn của tệp văn bản.
Bạn sử dụng Autokey cho mục đích nào khác?