Я люблю прозрачность и минимализм... очень. Настолько, что в итоге у меня получился такой рабочий стол:
Проблема в том, что для придания крутого эффекта я сделал окна терминала прозрачными. Что по большей части выглядит довольно хорошо, за исключением того, что я ничего не вижу, когда оно находится поверх других окон. Вот пример:
Я хотел бы узнать, есть ли способ автоматически менять профиль терминала, когда он находится над другим окном, чтобы, скажем, что-то более заметное. А затем автоматически менять его обратно, когда под терминалом нет окон (включая также 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
{
}
}
Надеюсь, это поможет. Пожалуйста, опубликуйте свой код, когда закончите. Спасибо =)