例如:

例如:

我非常喜欢透明和简约。所以我最终得到了这样的桌面:

桌面

问题在于,为了增加酷炫的效果,我把终端窗口弄成了透明的。大部分情况下看起来都很不错,但当它位于其他窗口上方时我什么都看不到。以下是一个例子:

终端问题

我想知道是否有一种方法可以在终端位于其他窗口上方时自动更改其配置文件,使其更显眼。然后当终端下方没有窗口时自动将其改回原样(也包括 conky)。

答案1

这是个好主意,但我认为会相当困难。让我们看看……

我们可以将这个问题转化为一个图形问题,您需要找到窗口之间的碰撞检测并相应地对碰撞区域进行颜色编码。

我将首先获取有关窗口的信息,例如位置和大小:窗口的位置、大小和活动

您可以将这些信息应用于透明终端窗口以及背景窗口。一旦您知道了位置和大小,您就应该能够轻松地执行简单的计算来查看它们是否有任何方块发生碰撞。

例如:

终端:位置=[X,Y] 大小=[A,B]

窗口:位置=[x,y] 大小=[a,b]

//here's a rough draft of a code

    if(X<x)
    {
        if(Y<y)
    {
        ChangeColor(A-a,B-b)
    }
    else
    {
    }
}

希望这有帮助,完成后请发布您的代码,谢谢=)

相关内容