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

Lor*_*nVS 5 keyboard-shortcuts window-manager 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
Run Code Online (Sandbox Code Playgroud)

但是,如果窗口最大化或对齐到显示器的任一侧,则它不起作用。有谁知道如何修改这个脚本,以便它总是将窗口移动到下一个监视器?

LAF*_*ica 2

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

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

脚本适用于最大化窗口和全屏模式窗口。您可能需要安装xdotoolswmctrl(我有),后者需要撤消/重新应用最大化和全屏模式。

尽管知道仅链接的答案,但我选择不在这里复制/粘贴代码。原因:额外的 161 行不会使这个问题成为一个更清晰/更好的答案,并且最终的更新以使这个时间抵抗很可能发生在 GitHub 上,而不是在这里,也不是在 PasteBin(我一直鼓励其他 SE 网站)上这么长的粘贴)。为了弥补这一点,我粗略地概述了该脚本的工作原理。

  • 我发现判决/否决有点仓促。为了符合要求,我必须复制粘贴 161 行 Bash 代码(+ 格式)。如此大的粘贴通常需要链接到 PasteBin(根据我所在的其他 SE 网站),并且链接到 PasteBin 到脚本的过时版本实际上比链接到 GitHub 更糟糕。所以:我在回答之前考虑了一些,并选择添加有关请求/它如何工作的信息,而不是粘贴代码。如果普遍共识希望不加答复,我不会强加规则,那就这样吧。然而,我不相信冗长的代码会让它变得更清晰/更好。不过请告诉我哪里错了。 (2认同)