WSL GUI 应用窗口超出屏幕的解决办法

问题描述

在WSL中打开一些GUI应用其显示窗口可能会超出屏幕, 比如IDEA 中的 setting
在这里插入图片描述

解决办法

可以通过 sudo apt install xdotool 安装 xdotool 解决

安装后再打开一个 shell, 输入 xdotool selectwindow windowmove 50 50
此时鼠标变成一个小圆点,通过点击选择超出屏幕的窗口, 就可以让窗口回到屏幕内
在这里插入图片描述
如果希望不用每次都点击,还可以在 ~/.bashrc 中加入一个函数

function resetwindow {
    for pid in $(xdotool search -name --onlyvisible --maxdepth 2 .); do
        read -r x y < <(xwininfo -id "$pid" | grep Absolute | awk '{print $4}' | xargs)
        if [[ "$x" -lt 1 ]] || [[ "$y" -lt 1 ]]; then
            xdotool windowmove "$pid" 150 150
        fi
    done
}

之后每次遇到显示不全, 只需要在 shell 中输入 resetwindow 就可以让全部窗口显示变得正常

参考资料

https://github.com/microsoft/wslg/issues/529

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值