Chỉ định hình học của X windows trong tọa độ thu được từ wmctrl


9

Trong tài liệu X Tôi đọc rằng Width, Height, XpositionYpositiontọa độ phải được xác định bằng ký tự đầu cuối khi sử dụng:

gnome-terminal --geometry=WidthxHeight+Xposition+Yposition

Nếu tôi sử dụng làm tọa độ đầu vào mà tôi nhận được từ wmctrl -lGđầu ra (không chắc chắn nếu wmctrlsử dụng pixel, ký tự đầu cuối hoặc thứ gì đó khác với đơn vị hình học), tôi sẽ không nhận được kết quả mong đợi. Tức là đầu ra tọa độ hình học wmctrl -lGvà những cái mà người dùng có thể chỉ định với gnome-terminal --geometryhóa ra là khác nhau.

Có điều gì tôi đang làm sai? Có suy nghĩ gì không?

Cảm ơn

Câu trả lời:


17

Các --geometrylựa chọn cho gnome-terminalthực sự đo bằng nhân vật, chứ không phải là pixel. Ví dụ: để có được một thiết bị đầu cuối 80 cột chỉ cao 10 dòng, bạn có thể khởi chạy gnome-terminalnhư thế này:

gnome-terminal --geometry 80x10

Thiết bị đầu cuối sẽ thay đổi kích thước theo gia số của kích thước ký tự phông chữ mà nó giao tiếp với Xserver bằng cách sử dụng WM_NORMAL_HINTS. Bạn có thể kiểm tra chúng bằng cách sử dụng xproplệnh. Ví dụ, ở đây tôi tìm thấy id cửa sổ Terminal và hỏi xprop về nó:

$ wmctrl -lG | tail -n1
0x06400021  0 592  314  580  338  myhostname kees@myhostname: ~
$ xprop -id 0x6400021
...
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified minimum size: 48 by 16
        program specified resize increment: 7 by 14
        program specified base size: 20 by 2
        window gravity: NorthWest
...

Trong trường hợp trên, kích thước phông chữ là 7 x 14 pixel. Vì vậy, nếu tôi muốn Terminal 70 x 140 pixel, tôi có thể chạy gnome-terminal --geometry 10x10(mặc dù nó sẽ lớn hơn 20 x 2 pixel so với trang trí của trình quản lý cửa sổ, v.v., như đã thấy trong "kích thước cơ sở cụ thể" ở trên).

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.