2017-01-23 9 views
0

Я хотел бы запускать одну программу всякий раз, когда я меняю макет на одном экране или когда меняю экранный тег.Запуск программы при изменении макета или экрана

Есть ли сигнал, к которому я мог бы подключиться?

Благодарим за помощь.

С уважением

+0

Что вы подразумеваете под «заменой макета в одном экране»? Сделайте макет как в «плитке», «плавающей», ...? И тег экрана, как в «switch to tag 2», «дополнительно выберите тег 3», ...? –

ответ

0

Копанием в удивительную вику мне удалось получить то, что я хотел:

tag.connect_signal("property::layout", 
        function(t) 
         print("Layout of tag changed") 
end) 

Это (верхний) запускает сигнал, как только расположение тэга текущего было изменено.

client.connect_signal("manage", 
         function(c) 
         if c:tags()[1].name == awful.tag.selected(1).name then 
         print("New client : " .. c.name) 
        end 
end) 

Это сообщение запускается, как только новый клиент появляется в текущем теге.

client.connect_signal("focus", function(c) 
         if #c:tags()[1]:clients() > 1 then 
          print(c.name) 
         end 
end) 

Этот сигнал запускается, как только изменяется фокус. Это относится только к тегам с несколькими клиентами.

screen[1]:connect_signal("tag::history::update", 
         function() 
         print(awful.tag.selected(1).name) 
        end) 

Последнее, что запускает сигнал, поскольку я переключаю тег, предполагая только один экран.

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

Резкое изменение тегов, от темного xterm до яркого firefox (как пример), обычно ушибает мои чувствительные глаза.

Извините, что мой вопрос не изначально очень ясен, я не очень хорошо знаю этот классный словарный запас.

С уважением