3

一个小的 shell 脚本应该可以解决我的重影屏幕问题。我试图将每个窗口在某个方向上移动 1px,然后在接下来的一秒内,它应该在另一个方向上向后移动。

#!/bin/bash

while read windowId g x y w h deviceId windowTitle; do
    # ignore desktop screen
    if [ "${windowTitle}" != "Desktop" ]; then
        # ...
        # test values (fullscreen: not possible | window-mode: possible)
        `wmctrl -i -r ${windowId} -e 0,200,200,500,500`
        # ...
    fi
done < <(wmctrl -lG)

是否可以将全屏窗口向某个方向移动 1px?( wmctrl )。

谢谢你的帮助!

4

1 回答 1

1

问 Ubuntu

我已经将@jacobs python 代码重写为简单的 bash 并使其工作(我在 ubuntu 16 cinnamon 上测试了这个)。

我不得不添加remove,maximized_vert, remove,maximized_horz没有那个窗口没有移动。

#!/bin/bash

if [ ! -z "$1" ] || [ -z "$2" ]; then
    command=$(wmctrl -l | grep $1 | cut -d" " -f1)

    if [ ! -z "$command" ]; then
        position=$(xrandr | grep "^$2" | cut -d"+" -f2)

        if [ ! -z "$position" ]; then
            for window in $command; do
               wmctrl -ir $window -b remove,maximized_vert
               wmctrl -ir $window -b remove,maximized_horz
               wmctrl -ir $window -e 0,$position,0,1920,1080
               wmctrl -ir $window -b add,maximized_vert
               wmctrl -ir $window -b add,maximized_horz
            done
        else
            echo -e "not found monitor with given name"
        fi
    else
        echo -e "not found windows with given name"
    fi
else
    echo -e "specify window and monitor name;\nmove.sh window-name monitor-name"
fi
  1. sudo apt-get install xdotool wmctrl
  2. /path/to/script.sh "window-name" "monitor-name"
于 2020-01-06T18:19:35.500 回答