GoGPT Best VPN GoSearch

Biểu tượng yêu thích OnWorks

xdotool - Trực tuyến trên đám mây

Chạy xdotool trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

Đây là lệnh xdotool có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


xdotool - công cụ tự động hóa dòng lệnh X11

SYNOPSIS


xdotool cmd args ...

Kí hiệu: Một số tài liệu sử dụng [cửa sổ] để biểu thị một đối số cửa sổ tùy chọn. Cái này
trường hợp có nghĩa là đối số, nếu không có, sẽ mặc định là "% 1". Xem "WINDOW STACK" cho
"% 1" có nghĩa là gì.

MÔ TẢ


xdotool cho phép bạn lập trình (hoặc thủ công) mô phỏng hoạt động nhập của bàn phím và chuột,
di chuyển và thay đổi kích thước cửa sổ, v.v. Nó thực hiện điều này bằng cách sử dụng phần mở rộng XTEST của X11 và các Xlib khác
chức năng.

Có một số hỗ trợ cho Gợi ý trình quản lý cửa sổ mở rộng (còn gọi là EWMH hoặc NetWM). Xem
Phần "GỢI Ý QUẢN LÝ CỬA SỔ MỞ RỘNG" để biết thêm thông tin.

KEYBOARD HÀNG


chính [tùy chọn] keystroke [keystroke ...]
Tùy chọn:

--cửa sổ cửa sổ
Gửi các tổ hợp phím đến một id cửa sổ cụ thể. Bạn có thể sử dụng tham chiếu "WINDOW STACK"
như "% 1" và "% @" tại đây. Nếu có ngăn xếp cửa sổ, thì "% 1" là mặc định,
nếu không thì cửa sổ hiện tại được sử dụng.

Xem thêm: "GỬI LƯU Ý" và "GỬI CỬA SỔ"

--các bộ điều chỉnh
Xóa các bổ ngữ trước khi gửi các tổ hợp phím. Xem CLEARMODIFIERS bên dưới.

--trì hoãn mili giây
Độ trễ giữa các lần nhấn phím. Mặc định là 12ms.

Nhập một tổ hợp phím nhất định. Ví dụ như "alt + r", "Control_L + J", "ctrl + alt + n",
"BackSpace".

Nói chung, bất kỳ chuỗi X Keysym hợp lệ nào sẽ hoạt động. Nhiều phím được phân tách bằng dấu '+'.
Các bí danh tồn tại cho "alt", "ctrl", "shift", "super" và "meta", tất cả đều ánh xạ tới Foo_L,
chẳng hạn như Alt_L và Control_L, v.v.

Trong trường hợp bàn phím của bạn không thực sự có phím bạn muốn nhập, xdotool
sẽ tự động tìm một mã khóa không sử dụng và sử dụng mã đó để nhập khóa.

Đối với "COMMAND CHAINING", lệnh này sử dụng phần còn lại của
đối số hoặc cho đến khi một lệnh xdotool mới được nhìn thấy, vì không có lệnh xdotool nào
tổ hợp phím hợp lệ.

Ví dụ: Gửi tổ hợp phím "F2"
phím xdotool F2

Ví dụ: Gửi 'a' có trọng âm trên nó (không phải trên bàn phím tiếng Anh, nhưng vẫn hoạt động
với xdotool)
phím xdotool Aacute

Ví dụ: Gửi ctrl + l rồi đến BackSpace dưới dạng các tổ hợp phím riêng biệt:
Phím xdotool ctrl + l BackSpace

Ví dụ: Gửi ctrl + c đến tất cả các cửa sổ khớp với tiêu đề 'gdb' (Xem "ĐÀO TẠO LỆNH")
xdotool tìm kiếm - tên gdb phím ctrl + c

bàn phím [tùy chọn] keystroke
Tương tự như trên, ngoại trừ chỉ các sự kiện phím xuống (nhấn) được gửi.

bàn phím keystroke
Tương tự như trên, ngoại trừ chỉ các sự kiện keyup (phát hành) được gửi.

kiểu [tùy chọn] một cái gì đó đến kiểu
Tùy chọn:

--cửa sổ cửa sổ
Gửi các tổ hợp phím đến một id cửa sổ cụ thể. Xem "GỬI LƯU Ý" bên dưới. Mặc định,
nếu không có cửa sổ nào được đưa ra, phụ thuộc vào ngăn xếp cửa sổ. Nếu ngăn xếp cửa sổ trống
cửa sổ hiện tại được nhập bằng XTEST. Nếu không, giá trị mặc định là "% 1" (xem
"CỬA SỔ").

--trì hoãn mili giây
Độ trễ giữa các lần nhấn phím. Mặc định là 12ms.

--các bộ điều chỉnh
Xóa các bổ ngữ trước khi gửi các tổ hợp phím. Xem CLEARMODIFIERS bên dưới.

Các loại như thể bạn đã gõ nó. Hỗ trợ dòng mới và tab (ASCII dòng mới và tab). Mỗi
tổ hợp phím được phân tách bằng độ trễ do --trì hoãn tùy chọn.

Đối với "COMMAND CHAINING", lệnh này sử dụng phần còn lại của
đối số và loại chúng. Nghĩa là, không có lệnh nào có thể xâu chuỗi sau 'type'.

Ví dụ: gõ 'Hello world!' bạn sẽ làm:
xdotool gõ 'Hello world!'

MOUSE HÀNG


di chuyển chuột [tùy chọn] x y OR 'khôi phục'
Di chuyển chuột đến tọa độ X và Y cụ thể trên màn hình.

Bạn có thể di chuyển chuột đến vị trí trước đó nếu bạn chỉ định 'khôi phục' thay vì
X và Y tọa độ. Khôi phục chỉ hoạt động nếu bạn đã di chuyển trước đó trong cùng một
lệnh gọi. Hơn nữa, nó không hoạt động với tùy chọn --window.

Ví dụ: để nhấp vào góc trên cùng bên trái của màn hình và di chuyển chuột đến
vị trí ban đầu trước khi bạn di chuyển nó, hãy sử dụng cái này:
xdotool di chuyển chuột 0 0 nhấp chuột 1 khôi phục di chuyển chuột

--cửa sổ Cửa sổ
Chỉ định một cửa sổ để di chuyển liên quan đến. Tọa độ 0,0 nằm ở trên cùng bên trái của
cửa sổ bạn chọn.

Các tham chiếu "WINDOW STACK" hợp lệ ở đây, chẳng hạn như% 1 và% @. Tuy nhiên, bằng cách sử dụng% @
có lẽ không có ý nghĩa.

--màn MÀN
Di chuyển chuột đến màn hình được chỉ định để di chuyển đến. Điều này chỉ hữu ích nếu bạn có
nhiều màn hình và KHÔNG sử dụng Xinerama.

Mặc định là màn hình hiện tại. Nếu bạn chỉ định --window, cờ --screen là
mặc kệ.

- cực
Sử dụng tọa độ cực. Điều này làm cho 'x' trở thành một góc (theo độ, 0-360, v.v.) và 'y'
khoảng cách.

Xoay bắt đầu từ 'lên' (0 độ) và quay theo chiều kim đồng hồ: 90 = phải, 180 = xuống,
270 = trái.

Điểm gốc được đặt mặc định ở giữa màn hình hiện tại. Nếu bạn chỉ định một
--window, thì điểm gốc là tâm của cửa sổ đó.

--các bộ điều chỉnh
Xem CLEARMODIFIERS

--đồng bộ hóa
Sau khi gửi yêu cầu di chuyển chuột, hãy đợi cho đến khi chuột thực sự được di chuyển. Nếu như
không có chuyển động nào là cần thiết, chúng tôi sẽ không chờ đợi. Điều này hữu ích cho các tập lệnh phụ thuộc vào
về các hành động đang được hoàn thành trước khi tiếp tục.

Lưu ý: Chúng tôi đợi cho đến khi con chuột di chuyển, không nhất thiết là nó thực sự
đạt được điểm đến dự định của bạn. Một số ứng dụng khóa con trỏ chuột để
một số vùng nhất định của màn hình, vì vậy chờ đợi bất kỳ chuyển động nào sẽ tốt hơn trong
trường hợp chung hơn là chờ đợi một mục tiêu cụ thể.

di chuột_tương đối [tùy chọn] x y
Di chuyển chuột x, y pixel so với vị trí hiện tại của con trỏ chuột.

- cực
Sử dụng tọa độ cực. Điều này làm cho 'x' trở thành một góc (theo độ, 0-360, v.v.) và 'y'
khoảng cách.

Xoay bắt đầu từ 'lên' (0 độ) và quay theo chiều kim đồng hồ: 90 = phải, 180 = xuống,
270 = trái.

--đồng bộ hóa
Sau khi gửi yêu cầu di chuyển chuột, hãy đợi cho đến khi chuột thực sự được di chuyển. Nếu như
không có chuyển động nào là cần thiết, chúng tôi sẽ không chờ đợi. Điều này hữu ích cho các tập lệnh phụ thuộc vào
về các hành động đang được hoàn thành trước khi tiếp tục.

Lưu ý rằng chúng tôi đợi cho đến khi con chuột di chuyển, không nhất thiết là nó thực sự
đạt được điểm đến dự định của bạn. Một số ứng dụng khóa con trỏ chuột để
một số vùng nhất định của màn hình, vì vậy chờ đợi bất kỳ chuyển động nào sẽ tốt hơn trong
trường hợp chung hơn là chờ đợi một mục tiêu cụ thể.

--các bộ điều chỉnh
Xem CLEARMODIFIERS

Nhấp chuột [tùy chọn] nút
Gửi một cú nhấp chuột, tức là một lần di chuột xuống sau đó là di chuột lên cho nút nhất định với một
độ trễ ngắn giữa hai (hiện tại là 12ms).

Các nút thường ánh xạ theo cách này: Chuột trái là 1, giữa là 2, phải là 3, bánh xe lên là
4, bánh xe xuống là 5.

--các bộ điều chỉnh
Xóa các bổ ngữ trước khi nhấp vào. Xem CLEARMODIFIERS bên dưới.

--lặp lại NÓI LẠI
Chỉ định số lần nhấp chuột. Mặc định là 1. Để nhấp đúp, hãy sử dụng '--repeat
2'

--trì hoãn TRIỆU GIÂY
Chỉ định thời gian trì hoãn giữa các lần nhấp, tính bằng mili giây. Tùy chọn này không phải là
được sử dụng nếu --lặp lại cờ được đặt thành 1 (mặc định).

--cửa sổ Cửa sổ
Chỉ định một cửa sổ để gửi một cú nhấp chuột. Xem phần "SENDEVENT NOTES" bên dưới để biết thêm thông tin. Sử dụng
vị trí chuột hiện tại khi tạo sự kiện.

Giá trị mặc định, nếu không có cửa sổ nào được đưa ra, tùy thuộc vào ngăn xếp cửa sổ. Nếu cửa sổ
ngăn xếp trống, cửa sổ hiện tại được nhập bằng XTEST. Nếu không, mặc định
là "% 1" (xem "WINDOW STACK").

Di chuột xuống [tùy chọn] nút
Giống như Nhấp chuột, ngoại trừ chỉ một con chuột xuống được gửi.

chuột lên [tùy chọn] nút
Giống như Nhấp chuột, ngoại trừ chỉ một con chuột lên được gửi.

lấy vị trí chuột [--vỏ bọc]
Xuất ra x, y, màn hình và id cửa sổ của con trỏ chuột. Số màn hình sẽ là
nonzero nếu bạn có nhiều màn hình và không sử dụng Xinerama.

--vỏ bọc
Điều này làm cho dữ liệu shell đầu ra getmouselocation mà bạn có thể đánh giá. Thí dụ:

% xdotool getmouselocation - vỏ
X = 880
Y = 443
SCREEN = 0
WINDOW = 16777250

% eval $ (xdotool getmouselocation --shell)
% echo $ X, $ Y
714,324

behavior_screen_edge [tùy chọn] Ở đâu lệnh ...
Liên kết một hành động với các sự kiện khi chuột chạm vào cạnh hoặc góc màn hình.

Các tùy chọn là:

--trì hoãn TRIỆU GIÂY
Trì hoãn tính bằng mili giây trước khi chạy lệnh. Điều này cho phép bạn yêu cầu một
cạnh hoặc góc nhất định được giữ trong một khoảng thời gian ngắn trước khi lệnh của bạn chạy.
Nếu bạn rời khỏi cạnh hoặc góc trước khi hết thời gian trễ thì thời gian sẽ đặt lại.

--im lặng TRIỆU GIÂY
Chậm trễ tính bằng mili giây trước khi lệnh tiếp theo chạy. Điều này giúp ngăn chặn
vô tình chạy lệnh của bạn thêm nhiều lần; đặc biệt hữu ích nếu bạn có
rất ngắn --delay (như mặc định là 0).

Dòng thời gian sự kiện

* Chuột chạm vào một cạnh hoặc góc.
* Nếu độ trễ khác không, chuột phải ở trong cạnh hoặc góc này cho đến khi hết thời gian trễ.
* Nếu vẫn ở cạnh / góc, hãy kích hoạt.
* Nếu quiesce là nonzero, thì sẽ có một khoảng thời gian giảm nhiệt, nơi tiếp theo
kích hoạt không thể xảy ra

Các giá trị 'ở đâu' hợp lệ là:

trái
trên cùng bên trái
hàng đầu
trên cùng bên phải
ngay
dưới cùng bên trái
dưới cùng
góc phải ở phía dưới

Ví dụ:
# Kích hoạt google-chrome khi bạn di chuyển chuột đến góc dưới cùng bên trái:
xdotool behavior_screen_edge dưới cùng bên trái \
tìm kiếm - lớp google-chrome windowactivate

# Chuyển đến không gian làm việc tiếp theo (bên phải). Được biết là hoạt động trong GNOME (metacity và compiz)
xdotool behavior_screen_edge --delay 500 phím dưới cùng bên phải XF86Forward

# Kích hoạt firefox và thực hiện tìm kiếm trên web trong tab mới để tìm văn bản trong khay nhớ tạm của bạn
xdotool behavior_screen_edge --delay 1000 trên cùng bên trái \
tìm kiếm --classname Navigator \
windowactivate - phím đồng bộ hóa - trễ 250 ctrl + t ctrl + k ctrl + v Return

Cửa sổ HÀNG


Tìm kiếm [tùy chọn] Belt Hold
Tìm kiếm các cửa sổ có tiêu đề, tên hoặc lớp có mẫu biểu thức chính quy.
Đầu ra là danh sách các số nhận dạng cửa sổ X. Nếu bạn đang sử dụng "COMMAND
CHAINING ", lệnh tìm kiếm sẽ chỉ ghi id cửa sổ vào stdout nếu nó là id cuối cùng
(hoặc duy nhất) lệnh trong chuỗi; nếu không, nó là im lặng.

Kết quả được lưu vào ngăn xếp cửa sổ cho các lệnh được xâu chuỗi trong tương lai. Xem "WINDOW
STACK "và" COMMAND CHAINING "để biết chi tiết.

Các tùy chọn mặc định là "--name --class --classname" (trừ khi bạn chỉ định một hoặc
thêm --name --class hoặc --classname).

Các tùy chọn có sẵn là:

--lớp
Đối sánh với lớp cửa sổ.

--tên lớp
Khớp với tên lớp cửa sổ.

--maxdeep N
Đặt độ sâu tìm kiếm đệ quy / con. Mặc định là -1, nghĩa là vô hạn. 0 nghĩa là không
độ sâu, chỉ các cửa sổ gốc mới được tìm kiếm. Nếu bạn chỉ muốn cửa sổ cấp cao nhất, hãy đặt
tối đa là 1 (hoặc 2, tùy thuộc vào cách trình quản lý cửa sổ của bạn trang trí).

--Tên
Khớp với tên cửa sổ. Đây là cùng một chuỗi được hiển thị trong
thanh tiêu đề cửa sổ.

- vô hình
Chỉ hiển thị các cửa sổ hiển thị trong kết quả. Điều này có nghĩa là những người có trạng thái bản đồ
Có thể xem được.

- lipid PID
Khớp các cửa sổ thuộc về một id quy trình cụ thể. Điều này có thể không hoạt động đối với một số X
ứng dụng không đặt siêu dữ liệu này trên cửa sổ của nó.

--màn N
Chỉ chọn các cửa sổ trên một màn hình cụ thể. Mặc định là tìm kiếm tất cả các màn hình. Chỉ một
có ý nghĩa nếu bạn có nhiều màn hình và không sử dụng Xinerama.

--máy tính để bàn N
Chỉ khớp các cửa sổ trên một màn hình nhất định. 'N' là một số. Mặc định là tìm kiếm
tất cả các máy tính để bàn.

--giới hạn N
Dừng tìm kiếm sau khi tìm thấy N cửa sổ phù hợp. Chỉ định một giới hạn sẽ hữu ích
tăng tốc độ tìm kiếm của bạn nếu bạn chỉ muốn một vài kết quả.

Mặc định là không có giới hạn tìm kiếm (tương đương với '--limit 0')

--chức vụ
KHÔNG DÙNG ĐƯỢC. Xem - tên.

--tất cả các
Yêu cầu đáp ứng tất cả các điều kiện. Ví dụ:

xdotool search --all --pid 1424 --name "Hello World"

Điều này sẽ chỉ khớp với các cửa sổ có tên "Hello World" và được sở hữu bởi
trang 1424.

--không tí nào
Khớp các cửa sổ phù hợp với bất kỳ điều kiện nào (về mặt logic, 'hoặc'). Đây là trên chế độ mặc định.
Ví dụ:

xdotool search --any --pid 1424 --name "Hello World"

Điều này sẽ khớp với bất kỳ cửa sổ nào thuộc sở hữu của pid 1424 hoặc các cửa sổ có tên "Hello World"

--đồng bộ hóa
Chặn cho đến khi có kết quả. Điều này rất hữu ích khi bạn khởi chạy một
ứng dụng muốn đợi cho đến khi cửa sổ ứng dụng hiển thị. Vì
thí dụ:

google-chrome &
xdotool search --sync --onlyvisible --class "google-chrome"

cửa sổ chọn
Nhận id cửa sổ (cho một ứng dụng khách) bằng cách nhấp vào nó. Hữu ích khi truy vấn tập lệnh
bạn là con người cho cửa sổ nào để hành động. Ví dụ: giết một cửa sổ bằng cách nhấp vào nó:

xdotool chọnwindow windowkill

cư xử cửa sổ hoạt động lệnh ...
Liên kết một hành động với một sự kiện trên một cửa sổ. Điều này cho phép bạn chạy các lệnh xdotool bổ sung
bất cứ khi nào một sự kiện phù hợp xảy ra.

Lệnh chạy do kết quả của hành vi được chạy với% 1 là cửa sổ
hành động theo. Các ví dụ sau danh sách sự kiện.

Sau đây là các sự kiện hợp lệ:

nhập chuột
Kích hoạt khi chuột vào cửa sổ. Điều này tương tự với các sự kiện 'di chuột qua' trong
javascript, nếu điều đó có ích.

bỏ chuột
Phát hỏa khi chuột rời khỏi cửa sổ. Điều này ngược lại với 'mouse-enter'

click chuột
Bắn khi con chuột được nhấp vào. Cụ thể là khi thả nút chuột.

tập trung
Kích hoạt khi cửa sổ lấy tiêu điểm đầu vào.

blur
Cháy khi cửa sổ bị mất tiêu điểm.

Ví dụ:

# In vị trí con trỏ bất cứ khi nào con chuột đi vào vị trí hiện đang hiển thị
# cửa sổ:
tìm kiếm xdotool - ẩn hình. hành xử% @ mouse-enter getmouselocation

# In tiêu đề cửa sổ và pid bất cứ khi nào xterm được lấy tiêu điểm
tìm kiếm xdotool - lớp xterm hành xử% @ focus getwindowname getwindowpid

# Mô phỏng lấy nét-theo-sau-chuột
tìm kiếm xdotool. hành xử% @ mouse-enter windowfocus

getwindowpid [cửa sổ]
Xuất PID sở hữu một cửa sổ nhất định. Điều này đòi hỏi nỗ lực từ việc sở hữu ứng dụng
một cửa sổ và có thể không hoạt động cho tất cả các cửa sổ. Điều này sử dụng thuộc tính _NET_WM_PID của
cửa sổ. Xem "GỢI Ý QUẢN LÝ CỬA SỔ MỞ RỘNG" bên dưới để biết thêm thông tin.

Nếu không có cửa sổ nào được cung cấp, giá trị mặc định là '% 1'. Nếu không có cửa sổ nào trên ngăn xếp, thì cái này
là một lỗi. Xem "WINDOW STACK" để biết thêm chi tiết.

Ví dụ: Tìm PID cho tất cả các xterms:
xdotool tìm kiếm - lớp xterm getwindowpid% @

lấy tên cửa sổ [cửa sổ]
Xuất ra tên của một cửa sổ nhất định, còn được gọi là tiêu đề. Đây là văn bản được hiển thị
trên thanh tiêu đề của cửa sổ bởi trình quản lý cửa sổ của bạn.

Nếu không có cửa sổ nào được cung cấp, giá trị mặc định là '% 1'. Nếu không có cửa sổ nào trên ngăn xếp, thì cái này
là một lỗi. Xem "WINDOW STACK" để biết thêm chi tiết.

getwindowgeometry [tùy chọn] [cửa sổ]
Xuất ra hình học (vị trí và vị trí) của một cửa sổ. Các giá trị bao gồm: x, y,
chiều rộng, chiều cao và số màn hình.

--vỏ bọc
Giá trị đầu ra phù hợp với 'eval' trong một trình bao.

lấy nét cửa sổ [-NS]
In id cửa sổ của cửa sổ hiện được lấy tiêu điểm. Lưu kết quả vào cửa sổ
cây rơm. Xem "WINDOW STACK" để biết thêm chi tiết.

Nếu cửa sổ hiện tại không có thuộc tính WM_CLASS, chúng tôi cho rằng nó không phải là thuộc tính cấp cao nhất bình thường
cửa sổ và theo dõi cha mẹ cho đến khi chúng tôi tìm thấy một cửa sổ có bộ WM_CLASS và
trả lại id cửa sổ đó.

Nếu bạn thực sự muốn cửa sổ hiện đang có tiêu điểm và không quan tâm nếu nó có
Cài đặt WM_CLASS, sau đó sử dụng 'getwindowfocus -f'

kích thước cửa sổ [tùy chọn] [cửa sổ] chiều cao chiều rộng
Đặt kích thước cửa sổ của cửa sổ đã cho. Nếu không có cửa sổ nào được cung cấp,% 1 là giá trị mặc định.
Xem "WINDOW STACK" và "COMMAND CHAINING" để biết thêm chi tiết.

Phần trăm có giá trị cho chiều rộng và chiều cao. Chúng có liên quan đến hình dạng của
màn hình cửa sổ đang bật. Ví dụ: để tạo một cửa sổ có chiều rộng toàn màn hình,
nhưng nửa chiều cao:

xdotool windowsize I 100% 50%

Phần trăm hợp lệ với --usehints và vẫn có nghĩa là chiều rộng pixel so với
kích thước màn hình.

Các tùy chọn có sẵn là:

--sử dụng gợi ý
Sử dụng gợi ý định kích thước cửa sổ (nếu có) để đặt chiều rộng và chiều cao. Cái này hữu ích
trên các thiết bị đầu cuối để đặt kích thước dựa trên hàng / cột văn bản thay vì pixel.

--đồng bộ hóa
Sau khi gửi yêu cầu kích thước cửa sổ, hãy đợi cho đến khi cửa sổ thực sự được thay đổi kích thước.
Nếu không cần thay đổi, chúng tôi sẽ không chờ đợi. Điều này hữu ích cho các tập lệnh
phụ thuộc vào các hành động được hoàn thành trước khi chuyển sang.

Lưu ý: Vì nhiều trình quản lý cửa sổ có thể bỏ qua hoặc thay đổi kích thước ban đầu
yêu cầu, chúng tôi sẽ đợi cho đến khi kích thước thay đổi so với kích thước ban đầu, không cần thiết
với kích thước được yêu cầu.

Ví dụ: Để đặt một đầu cuối là ký tự 80x24, bạn sẽ sử dụng:
kích thước cửa sổ xdotool --usehint some_windowid 80 24

cửa sổ [tùy chọn] [cửa sổ] x y
Di chuyển cửa sổ đến vị trí đã cho. Nếu không có cửa sổ nào được đưa ra,% 1 là giá trị mặc định. Nhìn thấy
"WINDOW STACK" và "COMMAND CHAINING" để biết thêm chi tiết.

Nếu tọa độ x đã cho theo nghĩa đen là 'x', thì vị trí x hiện tại của cửa sổ sẽ
không thay đổi. Điều tương tự cũng áp dụng cho 'y'.

Ví dụ:

xdotool getactivewindow windowmove 100 100 # Di chuyển đến 100,100
xdotool getactivewindow windowmove x 100 # Di chuyển đến x, 100
xdotool getactivewindow windowmove 100 y # Di chuyển đến 100, y
xdotool getactivewindow windowmove 100 y # Di chuyển đến 100, y

--đồng bộ hóa
Sau khi gửi yêu cầu di chuyển cửa sổ, hãy đợi cho đến khi cửa sổ thực sự được di chuyển. Nếu như
không có chuyển động nào là cần thiết, chúng tôi sẽ không chờ đợi. Điều này hữu ích cho các tập lệnh phụ thuộc vào
về các hành động đang được hoàn thành trước khi tiếp tục.

--quan hệ
Thực hiện chuyển động so với vị trí cửa sổ hiện tại.

tiêu điểm cửa sổ [tùy chọn] [cửa sổ]
Tập trung vào một cửa sổ. Nếu không có cửa sổ nào được cung cấp,% 1 là giá trị mặc định. Xem "WINDOW STACK" và
"COMMAND CHAINING" để biết thêm chi tiết.

Sử dụng XSetInputFocus có thể bị một số chương trình hoặc trình quản lý cửa sổ bỏ qua.

--đồng bộ hóa
Sau khi gửi yêu cầu lấy tiêu điểm cửa sổ, hãy đợi cho đến khi cửa sổ thực sự được lấy tiêu điểm.
Điều này hữu ích cho các tập lệnh phụ thuộc vào các hành động được hoàn thành trước khi di chuyển
vào.

sơ đồ cửa sổ [tùy chọn] [cửa sổ]
Ánh xạ một cửa sổ. Trong thuật ngữ X11, ánh xạ một cửa sổ có nghĩa là làm cho nó hiển thị trên
màn. Nếu không có cửa sổ nào được cung cấp,% 1 là giá trị mặc định. Xem "WINDOW STACK" và "COMMAND
ĐÀO TẠO "để biết thêm chi tiết.

--đồng bộ hóa
Sau khi yêu cầu bản đồ cửa sổ, hãy đợi cho đến khi cửa sổ thực sự được lập bản đồ
(hiện rõ). Điều này hữu ích cho các tập lệnh phụ thuộc vào các hành động được hoàn thành
trước khi tiếp tục.

thu nhỏ cửa sổ [tùy chọn] [cửa sổ]
Thu nhỏ cửa sổ. Trong thuật ngữ X11, điều này được gọi là 'iconify.' Nếu không có cửa sổ là
đã cho,% 1 là giá trị mặc định. Xem "WINDOW STACK" và "COMMAND CHAINING" để biết thêm chi tiết.

--đồng bộ hóa
Sau khi yêu cầu thu nhỏ cửa sổ, hãy đợi cho đến khi cửa sổ thực sự được thu nhỏ.
Điều này hữu ích cho các tập lệnh phụ thuộc vào các hành động được hoàn thành trước khi di chuyển
vào.

cửa sổ [window_id =% 1]
Nâng cửa sổ lên đầu ngăn xếp. Điều này có thể không hoạt động trên tất cả các trình quản lý cửa sổ. Nếu như
không có cửa sổ nào được đưa ra,% 1 là mặc định. Xem "WINDOW STACK" và "COMMAND CHAINING" để biết
biết thêm chi tiết.

cửa sổ [nguồn_window] Desti_window
Xem lại một cửa sổ. Điều này di chuyển nguồn_window trở thành một cửa sổ con của
Desti_window. Nếu không có nguồn nào được cung cấp,% 1 là mặc định. Cửa sổ "WINDOW STACK"
tham chiếu (như% 1) hợp lệ cho cả hai nguồn_windowDesti_window Xem
"WINDOW STACK" và "COMMAND CHAINING" để biết thêm chi tiết.

khăn lau cửa sổ [cửa sổ]
Đóng cửa sổ. Hành động này sẽ phá hủy cửa sổ, nhưng sẽ không cố gắng giết
khách hàng kiểm soát nó. Nếu không có cửa sổ nào được cung cấp,% 1 là giá trị mặc định. Xem "WINDOW STACK"
và "COMMAND CHAINING" để biết thêm chi tiết.

khung cửa sổ [cửa sổ]
Giết một cửa sổ. Hành động này sẽ phá hủy cửa sổ và giết máy khách đang điều khiển nó.
Nếu không có cửa sổ nào được cung cấp,% 1 là giá trị mặc định. Xem WINDOW STACK và "COMMAND CHAINING" cho
biết thêm chi tiết.

bản đồ cửa sổ [tùy chọn] [window_id =% 1]
Bỏ ánh xạ một cửa sổ, làm cho nó không còn xuất hiện trên màn hình của bạn nữa. Nếu không có cửa sổ nào được đưa ra,% 1
là mặc định. Xem "WINDOW STACK" và "COMMAND CHAINING" để biết thêm chi tiết.

--đồng bộ hóa
Sau khi yêu cầu mở bản đồ cửa sổ, hãy đợi cho đến khi cửa sổ thực sự không được ánh xạ
(ẩn giấu). Điều này hữu ích cho các tập lệnh phụ thuộc vào các hành động được hoàn thành trước đó
tiếp tục.

set_window [tùy chọn] [windowid =% 1]
Đặt thuộc tính về một cửa sổ. Nếu không có cửa sổ nào được cung cấp,% 1 là giá trị mặc định. Xem "WINDOW
STACK "và" COMMAND CHAINING "để biết thêm chi tiết.

Tùy chọn:

--Tên tên mới
Đặt cửa sổ WM_NAME (thường là tiêu đề cửa sổ)

--tên biểu tượng tên biểu tượng mới
Đặt cửa sổ WM_ICON_NAME (thường là tiêu đề cửa sổ khi được thu nhỏ)

--vai diễn vai trò mới
Đặt cửa sổ WM_WINDOW_ROLE

--tên lớp tên lớp mới
Đặt tên lớp cửa sổ (không nên nhầm lẫn với lớp cửa sổ)

--lớp lớp mới
Đặt lớp cửa sổ (đừng nhầm với tên lớp cửa sổ)

- overrideredirect giá trị
Đặt giá trị override_redirect của cửa sổ. Giá trị này là một gợi ý cho trình quản lý cửa sổ
để biết liệu nó có nên được quản lý hay không. Nếu giá trị chuyển hướng là 0, thì
trình quản lý cửa sổ sẽ vẽ đường viền và xử lý cửa sổ này bình thường. Nếu giá trị là
1, trình quản lý cửa sổ sẽ bỏ qua cửa sổ này.

Nếu bạn thay đổi giá trị này, trình quản lý cửa sổ của bạn có thể không nhận thấy thay đổi cho đến khi
cửa sổ được ánh xạ lại, vì vậy bạn có thể muốn cấp 'bản đồ cửa sổ' và 'bản đồ cửa sổ' cho
làm cho người quản lý cửa sổ lưu ý.

TUYỆT VỜI Cửa sổ HÀNG


Các lệnh này tuân theo tiêu chuẩn EWMH. Xem phần "GỢI Ý QUẢN LÝ CỬA SỔ MỞ RỘNG"
để biết thêm thông tin chi tiết.

kích hoạt cửa sổ [tùy chọn] [cửa sổ]
Kích hoạt cửa sổ. Lệnh này khác với windowfocus: nếu cửa sổ đang bật
máy tính để bàn khác, chúng tôi sẽ chuyển sang máy tính để bàn đó. Nó cũng sử dụng một phương pháp khác để
đưa cửa sổ lên. Tôi khuyên bạn nên thử lệnh này trước khi sử dụng windowfocus, vì
nó sẽ hoạt động trên nhiều trình quản lý cửa sổ hơn.

Nếu không có cửa sổ nào được cung cấp,% 1 là giá trị mặc định. Xem "WINDOW STACK" và "COMMAND CHAINING"
để biết thêm chi tiết.

--đồng bộ hóa
Sau khi gửi kích hoạt cửa sổ, hãy đợi cho đến khi cửa sổ thực sự được kích hoạt.
Điều này hữu ích cho các tập lệnh phụ thuộc vào các hành động được hoàn thành trước khi di chuyển
vào.

getactivewindow
Xuất ra cửa sổ đang hoạt động hiện tại. Lệnh này thường đáng tin cậy hơn
getwindowfocus. Kết quả được lưu vào ngăn xếp cửa sổ. Xem "WINDOW STACK" để biết thêm
chi tiết.

set_num_desktops con số
Thay đổi số lượng máy tính để bàn hoặc không gian làm việc.

get_num_desktops
Xuất ra số lượng máy tính để bàn hiện tại.

get_desktop_viewport [--vỏ bọc]
Báo cáo vị trí của khung nhìn hiện tại. Nếu --shell được cung cấp, đầu ra thân thiện với
đánh giá vỏ.

Các khung nhìn đôi khi được sử dụng thay vì 'màn hình ảo' trên một số trình quản lý cửa sổ. MỘT
khung nhìn chỉ đơn giản là một khung nhìn trên một khu vực máy tính để bàn rất lớn.

set_desktop_viewport x y
Di chuyển khung nhìn đến vị trí đã cho. Không phải tất cả các yêu cầu sẽ được tuân theo - một số
windowmangers chỉ tuân theo các yêu cầu phù hợp với ranh giới không gian làm việc, chẳng hạn như
kích thước màn hình.

Ví dụ: nếu màn hình của bạn là 1280x800, bạn có thể chuyển sang không gian làm việc thứ 2 bằng cách thực hiện:
xdotool set_desktop_viewport 1280 0

set_desktop [tùy chọn] máy tính để bàn
Thay đổi chế độ xem hiện tại thành màn hình được chỉ định.

--quan hệ
Sử dụng các chuyển động tương đối thay vì tuyệt đối. Điều này cho phép bạn di chuyển liên quan đến
máy tính để bàn hiện tại.

get_desktop
Xuất màn hình hiện tại trong chế độ xem.

set_desktop_for_window [cửa sổ] máy tính để bàn
Di chuyển một cửa sổ sang một màn hình khác. Nếu không có cửa sổ nào được cung cấp,% 1 là giá trị mặc định. Nhìn thấy
"WINDOW STACK" và "COMMAND CHAINING" để biết thêm chi tiết.

get_desktop_for_window [cửa sổ]
Xuất ra màn hình nền hiện đang chứa cửa sổ đã cho. Di chuyển một cửa sổ sang một cửa sổ khác
máy tính để bàn. Nếu không có cửa sổ nào được đưa ra,% 1 là giá trị mặc định. Xem WINDOW STACK và "COMMAND
ĐÀO TẠO "để biết thêm chi tiết.

KHÁC HÀNG


giám đốc điều hành [tùy chọn] lệnh [...]
Thực thi một chương trình. Điều này thường hữu ích khi kết hợp với behavior_screen_edge để làm
những thứ như khóa màn hình của bạn.

Tùy chọn:

--đồng bộ hóa
Chặn cho đến khi quá trình con thoát. Sau đó, trạng thái thoát quy trình con được chuyển
tới tiến trình mẹ (xdotool) để sao chép nó.

Ví dụ:
# Khóa màn hình khi chuột nằm ở góc trên bên phải
xdotool behavior_screen_edge --delay 1000 trên cùng bên phải \
thực thi gnome-screenaver-command --lock
# Thay thế 'xscreensaver-command -lock' nếu bạn sử dụng chương trình đó.

# Đoạn sau sẽ không di chuyển được chuột vì chúng ta sử dụng '--sync' và
# / bin / false thoát nonzero:
xdotool Operating --sync / bin / false di chuột 0 0

# Tuy nhiên, điều này thành công vì chúng ta không sử dụng --sync trên lệnh thi hành.
xdotool executive / bin / false di chuột 0 0

ngủ giây
Ngủ trong một khoảng thời gian nhất định. Các phân số của giây (như 1.3 hoặc 0.4) là hợp lệ, tại đây.

KỊCH BẢN


xdotool có thể đọc danh sách lệnh qua stdin hoặc một tệp nếu bạn muốn. Một tập lệnh sẽ không thành công
khi bất kỳ lệnh nào bị lỗi.

Thành thật mà nói, chế độ 'kịch bản' không được bổ sung đầy đủ và có thể thấp hơn mong đợi của bạn. Nếu như
bạn có đề xuất, vui lòng gửi email danh sách hoặc gửi lỗi (Xem phần LIÊN HỆ).

Tập lệnh có thể sử dụng các đối số vị trí (Được đại diện bởi $ 1, $ 2, ...) và môi trường
các biến (như $ HOME hoặc $ WINDOWID). Các đối số trích dẫn sẽ hoạt động như mong đợi.

Các tập lệnh được xử lý để mở rộng tham số và biến môi trường và sau đó chạy như thể
bạn đã gọi xdotool với toàn bộ tập lệnh trên một dòng (sử dụng CHUỖI CỘNG ĐỒNG).

· Đọc lệnh từ một tệp:

tên tệp xdotool

· Đọc lệnh từ stdin:

xdotool -

· Đọc lệnh từ một tệp được chuyển hướng

xdotool - <myfile

Bạn cũng có thể viết các tập lệnh chỉ thực thi xdotool. Thí dụ:

#! / usr / local / bin / xdotool
tìm kiếm --onlyvisible --classname $ 1

windowsize% @ $ 2 $ 3
windowraise% @

windowmove% 1 0 0
windowmove% 2 $ 2 0
windowmove% 3 0 $ 3
windowmove% 4 $ 2 $ 3

Tập lệnh này sẽ nhận tất cả các cửa sổ được khớp với truy vấn tên lớp được đưa ra bởi arg1 ($ 1) và
kích thước / di chuyển chúng thành lưới 2x2 với các cửa sổ được định kích thước bằng tham số thứ 2 và thứ 3.

Đây là một ví dụ sử dụng:

% ./myscript xterm 600 400

Chạy nó như vậy sẽ mất 4 xterms có thể nhìn thấy, nâng chúng lên và di chuyển chúng thành một ô 2x2
lưới với mỗi cửa sổ có kích thước 600x400 pixel.

RÕ RÀNG


Bất kỳ lệnh nào sử dụng --các bộ điều chỉnh cờ sẽ cố gắng xóa bất kỳ đầu vào đang hoạt động nào
sửa đổi trong lệnh và khôi phục chúng sau đó.

Ví dụ: nếu bạn chạy lệnh này:
phím xdotool a

Kết quả sẽ là 'a' hoặc 'A' tùy thuộc vào việc bạn có giữ phím shift hay không
trên bàn phím của bạn. Thường thì không mong muốn có bất kỳ công cụ sửa đổi nào hoạt động, vì vậy bạn có thể biết
xdotool để xóa mọi công cụ sửa đổi đang hoạt động.

Thứ tự của các hoạt động nếu bạn giữ phím shift trong khi chạy 'phím xdotool --làm sửa đổi a'
co phải đây la:

1. Truy vấn cho tất cả các công cụ sửa đổi đang hoạt động (tìm shift, trong trường hợp này)
2. Cố gắng xóa phím shift bằng cách gửi 'key up' cho phím shift
3. Chạy bình thường 'phím xdotool a'
4. Khôi phục phím shift bằng cách gửi 'phím xuống' cho phím shift

--các bộ điều chỉnh cờ hiện có thể xóa những điều sau:

· Bất kỳ khóa nào trong sơ đồ bàn phím đang hoạt động của bạn có công cụ sửa đổi được liên kết với nó. (Nhìn thấy
xmodmap(1) 's' xmodmap -pm 'đầu ra)

· Nút chuột (1, 2, 3, 4 và 5)

· phím Caps Lock

GỬI SỰ KIỆN GHI CHÚ


Nếu bạn đang cố gắng gửi đầu vào bằng phím đến một cửa sổ cụ thể và nó không có vẻ
đang hoạt động, thì có khả năng ứng dụng của bạn đang bỏ qua các sự kiện mà xdotool đang tạo.
Điều này là khá phổ biến.

Gửi các tổ hợp phím đến một cửa sổ cụ thể sử dụng một API khác chứ không chỉ đơn giản là nhập vào
cửa sổ hoạt động. Nếu bạn chỉ định 'xdotool type --window 12345 hello' thì xdotool sẽ tạo
các sự kiện chính và gửi chúng trực tiếp đến cửa sổ 12345. Tuy nhiên, máy chủ X11 sẽ thiết lập
cờ đặc biệt trên tất cả các sự kiện được tạo theo cách này (xem XEvent.xany.send_event trong X11's
thủ công). Nhiều chương trình quan sát lá cờ này và từ chối những sự kiện này.

Điều quan trọng cần lưu ý là đối với các sự kiện phím và chuột, chúng tôi chỉ sử dụng XSendEvent khi
cửa sổ cụ thể được nhắm mục tiêu. Nếu không, chúng tôi sử dụng XTEST.

Một số chương trình có thể được cấu hình để chấp nhận các sự kiện ngay cả khi chúng được tạo bởi xdotool.
Tìm kiếm tài liệu về ứng dụng của bạn để được trợ giúp.

Ghi chú ứng dụng cụ thể (từ thử nghiệm của tác giả): * Firefox 3 dường như bỏ qua tất cả
đầu vào khi nó không có tiêu điểm. * xterm có thể được định cấu hình trong khi chạy với
ctrl + leftclick, 'Allow SendEvents' * gnome-terminal dường như chấp nhận đầu vào được tạo bởi
mặc định.

Cửa sổ BẮT ĐẦU


Một số lệnh nhất định (tìm kiếm, getactivewindow, getwindowfocus) sẽ tìm thấy các cửa sổ cho bạn.
Các kết quả này thường được in ra stdout, nhưng chúng cũng được lưu vào bộ nhớ cho tương lai
sử dụng trong suốt thời gian tồn tại của quá trình xdotool. Xem "ĐÀO TẠO LỆNH" để biết thêm
thông tin.

Các sửa đổi duy nhất hỗ trợ cho ngăn xếp cửa sổ là thay thế nó. Đó là, hai trong hai
tìm kiếm tuần tự, chỉ những kết quả cuối cùng sẽ là ngăn xếp cửa sổ.

COMMAND ĐÀO TẠO


xdotool hỗ trợ chạy nhiều lệnh trên một lệnh gọi duy nhất. Nói chung, bạn sẽ bắt đầu
bằng lệnh tìm kiếm (xem "WINDOW STACK") và sau đó thực hiện một tập hợp các hành động trên
kết quả.

Để truy vấn ngăn xếp cửa sổ, bạn có thể sử dụng ký hiệu đặc biệt "% N" trong đó N là một số hoặc
'@' Biểu tượng. Nếu% N được cho, cửa sổ thứ N sẽ được chọn từ ngăn xếp cửa sổ.
Nói chung, bạn sẽ chỉ muốn cửa sổ đầu tiên hoặc tất cả các cửa sổ. Lưu ý rằng thứ tự của
cửa sổ trong ngăn xếp cửa sổ tương ứng với thứ tự xếp chồng cửa sổ, tức là
cửa sổ sẽ được báo cáo đầu tiên (xem Cây XQuery(3)). Do đó, thứ tự của các cửa sổ trong
ngăn xếp cửa sổ có thể không nhất quán giữa các lệnh gọi.

Ký hiệu được mô tả ở trên được sử dụng làm đối số "cửa sổ" cho bất kỳ lệnh đã cho nào.

Ví dụ: để thay đổi kích thước tất cả xterms thành 80x24:

tìm kiếm xdotool - lớp xterm - windowsize --usehints% @ 80 24

Thay đổi kích thước di chuyển cửa sổ hiện tại:

xdotool getactivewindow windowmove 0 0

Trong mọi trường hợp, đối số cửa sổ mặc định, nếu bị bỏ qua, sẽ mặc định là "% 1". Nó là
rõ ràng là một lỗi nếu bạn bỏ qua đối số cửa sổ và ngăn xếp cửa sổ trống. nếu bạn
cố gắng sử dụng ngăn xếp cửa sổ và nó trống, nó cũng là một lỗi.

Để kích hoạt cửa sổ firefox đầu tiên được tìm thấy:

xdotool tìm kiếm - lớp firefox windowactivate

Những lỗi này sẽ xảy ra:

kích hoạt cửa sổ xdotool
xdotool windowactivate% 1
xdotool windowactivate% @

Khi xdotool thoát, ngăn xếp cửa sổ hiện tại bị mất.

Ngoài ra, các lệnh sửa đổi "WINDOW STACK" sẽ không in kết quả nếu chúng
không phải là lệnh cuối cùng. Ví dụ:

# Xuất cửa sổ đang hoạt động:
%xdotool getactivewindow
20971533

# Xuất pid của cửa sổ đang hoạt động, nhưng không xuất ra id cửa sổ đang hoạt động:
%xdotool getactivewindow getwindowpid
4686

ĐA THẾ HỆ Cửa sổ GIÁM ĐỐC GỢI Ý


Các phần sau của tiêu chuẩn EWMH được hỗ trợ:

_NET_HỖ TRỢ
Hỏi người quản lý cửa sổ những gì được hỗ trợ

_NET_CURRENT_DESKTOP
Truy vấn và đặt màn hình nền hiện tại. Hỗ trợ cho điều này cho phép các lệnh sau:
"set_desktop", "get_desktop".

_NET_WM_DESKTOP
Truy vấn và đặt màn hình mà cửa sổ đang sử dụng. Hỗ trợ cho việc này cho phép
lệnh: "set_desktop_for_window", "get_desktop_for_window".

_NET_ACTIVE_WINDOW
Cho phép bạn truy vấn và đặt cửa sổ đang hoạt động bằng cách yêu cầu người quản lý cửa sổ mang nó
phía trước. Hỗ trợ cho điều này cho phép các lệnh sau: "windowactivate", "getactivewindow".

_NET_WM_PID
Tính năng này phụ thuộc vào ứng dụng, không phụ thuộc vào trình quản lý cửa sổ. Truy vấn PID
sở hữu một cửa sổ nhất định. Hỗ trợ cho điều này cho phép các lệnh sau: "getwindowpid".

HPORT TRỢ Tính năng nổi bật:


xdotool (và libxdo) sẽ cố gắng hoạt động trong mọi trường hợp. Tuy nhiên, có thể có
một số trường hợp trong đó chức năng không được cung cấp bởi máy chủ X của bạn hoặc bởi trình quản lý cửa sổ của bạn.
Trong những trường hợp này, xdotool sẽ cố gắng phát hiện và cho bạn biết nếu một hành động yêu cầu một tính năng
hiện không được hỗ trợ bởi hệ thống của bạn.

Để biết các tính năng cụ thể của trình quản lý cửa sổ, hãy xem "GỢI Ý VỀ TRÌNH QUẢN LÝ CỬA SỔ MỞ RỘNG".

XEST
Nếu máy chủ X của bạn không hỗ trợ XTEST, thì một số tính năng nhập và di chuyển chuột
có thể không hoạt động. Cụ thể, các thao tác gõ và chuột hoạt động trên "cửa sổ hiện tại"
(cửa sổ 0 trong libxdo) không có khả năng hoạt động.

Trong hầu hết các trường hợp, XTEST là một tính năng bạn có thể bật trên máy chủ X của mình nếu nó chưa được bật
theo mặc định.

Bạn có thể xem danh sách các phần mở rộng X được hỗ trợ bằng cách nhập 'xdpyinfo' và xem
text 'number of extension: ...'

Sử dụng xdotool trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad




×
quảng cáo
❤️Mua sắm, đặt phòng hoặc mua tại đây — không mất phí, giúp duy trì các dịch vụ miễn phí.