Điểm:0

Sử dụng Xdotool để nhập Tài liệu Libreoffice

lá cờ us

Tôi thường tự hỏi làm thế nào để tự động hóa libreoffice bằng cách sử dụng xdotool. Tôi biết rằng cửa sổ phải được chọn ra khỏi ngăn xếp cửa sổ và tôi đã thử lập trình nó dưới dạng biến bash cửa sổ trong xdotool trong tập lệnh bash. Sau đó, tôi đã thử gửi lần nhấn phím tiếp theo tới cửa sổ nhưng không có kết quả. Ngay bây giờ tôi muốn chuyển lệnh ctrl+N tới cửa sổ văn phòng libre để mở một tài liệu mới.

#!/bin/bash
/usr/bin/libreoffice
mywindow=$(xdotool search --class libreoffice)
xdotool windowkích hoạt khóa $mywindow && xdotool --window $mywindow Tiếp theo
phím xdotool ctrl + n

Tôi nhận được một mã lỗi

Không có cửa sổ nào trong ngăn xếp.
Cửa sổ không hợp lệ '%1'
Cách sử dụng: windowactivate [tùy chọn] [window=%1]
--sync - chỉ thoát khi cửa sổ đang hoạt động (hiển thị + đang hoạt động)
Nếu không có cửa sổ nào được đưa ra, %1 được sử dụng. Xem WINDOW STACK trong xdotool(1)
Điểm:1
lá cờ cn
  • Để tìm cửa sổ LibreOffice Writer một cách có chọn lọc hơn (và chẳng hạn, không phải cửa sổ Calc), hãy sử dụng: mywindow=$(xdotool search --class libreoffice-writer). Bạn có thể xem lớp các cửa sổ đang mở bằng lệnh wmctrl -lx. Điều này liệt kê nhiều hơn tên lớp chung và lớp cụ thể hơn, cách nhau bởi dấu chấm. Đối với libreoffice, đó là libreoffice.libreoffice-nhà văn.
  • coi chừng: cái tìm kiếm xdotool lệnh sẽ lấy tất cả các cửa sổ của một lớp nhất định. Như vậy, với nhiều cửa sổ, biến sẽ chứa nhiều định danh cách nhau bởi dấu cách, vd. 66167017 65540686. kích hoạt cửa sổ, tuy nhiên, chỉ hỗ trợ một đối số duy nhất.
  • Sau khi thực hiện các thư viện lệnh, quá trình sẽ chuyển sang nền. Chưa có cửa sổ nào được tạo. Đó là lý do tại sao kích hoạt win thất bại. Sử dụng --đồng bộ hóa tùy chọn để có kích hoạt win lệnh đợi cửa sổ được tạo một cách hiệu quả: mywindow=$(xdotool search --sync --class libreoffice.writer)
CraigslistCesium avatar
lá cờ us
Nó hoạt động! Cảm ơn. Tôi cũng có thể sử dụng windowfocus không? Nó nằm trên cùng một màn hình ảo, vậy windowactivate có cần thiết không?
vanadium avatar
lá cờ cn
`man xdotool` khuyên bạn nên chọn `windowactivate` mặc dù `windowfocus` cũng có thể hoạt động trong trường hợp của bạn. Hai cái này liên quan đến các phương pháp khác nhau.
Điểm:1
lá cờ sd

Một cách giải quyết đơn giản là đặt LO ở chế độ nền, sau đó thêm độ trễ giữa xdotool chỉ huy.

#!/bin/bash
/usr/bin/libreoffice &
ngủ 10
mywindow=$(xdotool search --class libreoffice)
xdotool windowkích hoạt khóa $mywindow && xdotool --window $mywindow Tiếp theo
phím xdotool ctrl + n

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.