Как автоматически менять профили терминала?

Я люблю прозрачность и минимализм ... очень. Настолько, что у меня получился рабочий стол, подобный этому:

Desktop

Проблема в том, что для добавления крутого эффекта я сделал свои окна терминала прозрачными. Который по большей части выглядит довольно хорошо, за исключением того факта, что я ничего не вижу, когда он выше других окон. Вот пример:

Terminal issue

Я хотел бы знать, есть ли способ автоматического изменения профиля терминала, когда он находится над другим окном, чтобы сказать что-то более заметным А затем автоматически меняйте его обратно всякий раз, когда у терминала нет окон (в том числе и conky).

2
задан 4 January 2012 в 09:52

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
    {
    }
}

Надеюсь, это поможет, пожалуйста, опубликуйте свой код, когда вы закончите, спасибо =)

0
ответ дан 4 January 2012 в 09:52

Другие вопросы по тегам:

Похожие вопросы: