Lượt xem trong Unity
Nếu bạn đang sử dụng Unity , chế độ xem hiện tại không thể được truy xuất trực tiếp từ
wmctrl -d
kể từ khi Unity có chế độ xem, không được phát hiện trực tiếp bởi wmctrl -d. Đầu ra sẽ chỉ hiển thị một không gian làm việc:
0  * DG: 5040x2100  VP: 1680,1050  WA: 59,24 1621x1026  N/A
- nơi có độ phân giải của tôi là 1680 x 1050 (từ 
xrandr) 
- không gian làm việc kéo dài (tất cả các khung nhìn) là 
5040x2100. Đó là số lượt xem 3x2: 5040/1680 = 3 và 2100/1050 = 2. 
- Tôi hiện đang ở vị trí 
1680,1050( viewport-)   (x, y) 
Kịch bản bên dưới tính toán chế độ xem hiện tại từ thông tin này:
#!/usr/bin/env python3
import subprocess
def get_res():
    # get resolution
    xr = subprocess.check_output(["xrandr"]).decode("utf-8").split()
    pos = xr.index("current")
    return [int(xr[pos+1]), int(xr[pos+3].replace(",", "") )]
def current():
    # get the resolution (viewport size)
    res = get_res()
    # read wmctrl -d
    vp_data = subprocess.check_output(
        ["wmctrl", "-d"]
        ).decode("utf-8").split()
    # get the size of the spanning workspace (all viewports)
    dt = [int(n) for n in vp_data[3].split("x")]
    # calculate the number of columns
    cols = int(dt[0]/res[0])
    # calculate the number of rows
    rows = int(dt[1]/res[1])
    # get the current position in the spanning workspace
    curr_vpdata = [int(n) for n in vp_data[5].split(",")]
    # current column (readable format)
    curr_col = int(curr_vpdata[0]/res[0])
    # current row (readable format)
    curr_row = int(curr_vpdata[1]/res[1])
    # calculate the current viewport
    return curr_col+curr_row*cols+1
print(current())
Để sử dụng:
Tải về wmctrl
sudo apt install wmctrl
 
Chạy nó bằng lệnh
python3 /path/to/get_viewport.py
Nó sẽ xuất ra 1, 2, 3 hoặc bất cứ chế độ xem hiện tại nào. Nó tự động đếm hàng / cột cấu hình khung nhìn của bạn có thể bao gồm.
 
Giải trình

Kịch bản
- có kích thước của một khung nhìn (độ phân giải) từ 
xrandr, bao gồm cả màn hình phụ có thể. 
- có được vị trí hiện tại trên không gian làm việc kéo dài
 
- tăng số lượng cột / hàng trong thiết lập chế độ xem của bạn
 
- từ đó, nó tính toán khung nhìn hiện tại