Cinnamon 在显示器之间移动窗口的快捷方式

Cinnamon 在显示器之间移动窗口的快捷方式

我目前正在设置一个新的 Cinnamon 环境,并且我的所有快捷方式均正常工作。我设法在网上找到了这个脚本,我已将其绑定到该脚本以允许我在显示器之间移动窗口:

#!/bin/bash

#get the window geometry
widthHeight=( $(wmctrl -l  -G | grep -v ' \-1 ' | awk 'END{print $5,$6}' ))

#toggle if $1 is set and set to left - move window to left
if [[ ! -z $1 ]]; then
        if [[ $1 == "left" ]]; then
        #this window is in another screen
            wmctrl -r ":ACTIVE:" -e 0,0,0,${widthHeight[0]},${widthHeight[1]}
    else
            wmctrl -r ":ACTIVE:" -e 0,1920,0,${widthHeight[0]},${widthHeight[1]}
        fi  
fi

但是,如果窗口最大化或贴靠到显示器的任一侧,它就不起作用。有人知道如何修改此脚本,以便它始终将窗口移动到下一个显示器吗?

答案1

Cinnamon 现在可以本地执行此操作,您不需要脚本来执行此操作。

它是Shift + Windows + 箭头默认。

答案2

前段时间,我在网上问了同样的问题,并在 Github 仓库中找到了更好的答案ntowbinj

https://github.com/ntowbinj/switch-monitor

脚本适用于最大化窗口和全屏模式窗口。您可能需要安装xdotoolswmctrl我已经安装了),后者是撤消/重新应用最大化和全屏模式所必需的。

尽管我知道只有链接的答案,但我还是选择不在这里复制/粘贴代码。原因:额外的 161 行代码不会让这个问题变得更清晰/更好,最终的更新很可能会在 GitHub 上进行,而不是在这里,也不会在 PasteBin 上(我去过的其他 SE 网站鼓励人们粘贴如此冗长的粘贴)。不过,为了弥补这一点,我粗略地概述了脚本的工作原理。

相关内容