Có công cụ giống WinSpy ++ cho Linux / X / GTK / QT không?


8

Khi tôi đang sử dụng Windows, đôi khi tôi đã sử dụng tốt WinSpy ++, cho phép trỏ đến một cửa sổ hoặc một điều khiển (một widget, một phần tử cửa sổ) để xem chi tiết về nó (bao gồm các giá trị của các trường của cấu trúc / lớp mô tả trường hợp cụ thể này), gửi tin nhắn của trình quản lý cửa sổ tới nó, v.v ... Một trong những nhiệm vụ tầm thường mà tôi đã sử dụng là sao chép văn bản từ một tiện ích không thể chọn (như nhãn, không cho phép chọn và sao chép văn bản từ đó là cách một trường văn bản làm). Có công cụ tương tự nào tôi có thể sử dụng với các ứng dụng GUI GNU / Linux không?

Câu trả lời:


7

Bạn không thể mong đợi ánh xạ 1: 1 ở đây. Tôi không biết WinSpy ++, nhưng có khả năng những gì nó có thể làm được trải rộng trên một số công cụ khác nhau, một số tính năng của nó đơn giản là không có ý nghĩa trong X, và ngược lại, các công cụ X có các tính năng bổ sung không có ý nghĩa Các cửa sổ.

Bản phân phối X11 cơ bản đi kèm với một số công cụ đơn giản . Những cái có khả năng liên quan nhất ở đây là:

  • xclients để liệt kê các chương trình có kết nối với màn hình
  • xprop để hiển thị thuộc tính cửa sổ
  • xwininfo để hiển thị thông tin kỹ thuật về một cửa sổ (vị trí, hình ảnh, tầm nhìn)

Ngoài ra còn có các công cụ để thao tác tài nguyên X : appres, editres(đối với một vài ứng dụng triển khai nó) listres, xrdb.

Hai tiện ích của bên thứ ba thường hữu ích để lấy thông tin và hành động trên các cửa sổ là wmctrl(thực hiện các hành động của trình quản lý cửa sổ từ dòng lệnh) và xdotool(gửi các sự kiện đến một cửa sổ).


6

Cả trình quản lý cửa sổ lẫn máy chủ X đều không biết về các widget / điều khiển, vì vậy không có cách tiêu chuẩn nào để một công cụ có thể truy vấn hệ thống để biết chi tiết về các widget của ứng dụng khác. Một ứng dụng chủ yếu gửi cho máy chủ X những thứ như pixmap, hoạt động vẽ đa giác và hoạt động vẽ văn bản.

Tuy nhiên, có những công cụ có thể đính kèm vào một quy trình và kiểm tra cấu trúc dữ liệu của bộ công cụ phụ tùng. Đối với các ứng dụng sử dụng GTK +, có Parasite . Một nhánh của Parasite hiện được bao gồm trong GTK + kể từ phiên bản 3.14.

Đối với Qt, một tìm kiếm nhanh bật lên Thanh tra Qt , lấy cảm hứng từ KSpy, một công cụ ẩn trong kho KDE.

Nếu bạn cần tìm ra bộ công cụ widget nào mà ứng dụng sử dụng, bạn có thể liệt kê các thư viện phụ thuộc vào nó bằng cách sử dụng công cụ dòng lệnh ldd.


3

Về cơ bản, không thực sự.

Để có được thông tin về một cửa sổ, bạn có thể sử dụng

xwininfo

chỉ huy. Tuy nhiên, không ngạc nhiên vì X11 khác với Windows, nó không in cùng một thông tin. Tôi không biết cách sao chép văn bản ra khỏi các điều khiển không thể chọn, mặc dù có lẽ những điều này có thể ít phổ biến hơn so với trong Windows.

Đối với việc gửi tin nhắn quản lý cửa sổ, tôi không chắc về điều đó. Bạn có thể sử dụng một công cụ dựa trên tiện ích mở rộng XRECORD, ví dụ Xnee . Tuy nhiên, tôi chưa bao giờ thử điều này.


để sao chép văn bản ra khỏi điều khiển / cửa sổ không thể chọn, tôi đoán nó phải là một phần của khả năng truy cập (của chương trình / bộ công cụ). (nhưng afaik, tiêu chuẩn về điều này còn lâu mới trưởng thành.)
yuyichao
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.