LINUX.ORG.RU

убрать urgent при старте новых приложений

 


0

1

Запускаю я все свои приложения через

awesome.connect_signal(
   'startup',
   function(args)
      awful.util.spawn('bash -c "~/.dwm/autostart.sh"')
   end
)

Далее в вики прочитал, что можно убрать urgent этим куском кода:

-- if you don't want new clients to be urgent by default
client.disconnect_signal("request::activate", awful.permissions.activate)
function awful.permissions.activate(c)
   if c:isvisible() then
       client.focus = c
       c:raise()
   end
end
client.connect_signal("request::activate", awful.permissions.activate)

Конечно же, балалайка. Не находит .permissions. Это же осом: последняя циферка в минорной версии не та - отсос петрович xD. Нашел я другой кусок кода:

client.disconnect_signal("request::activate", awful.ewmh.activate)
function awful.ewmh.activate(c)
    if c:isvisible() then
        client.focus = c
        c:raise()
    end
end
client.connect_signal("request::activate", awful.ewmh.activate)

Всё клёво, всё хорошо, только минимайз в панельку работает, а unminimize - нет. Как вообще это всё хозяйство починить?

★★★

Ответ на: комментарий от serg002

последняя циферка в минорной версии не та - отсос петрович

Лолшто? Ты пытаешься запустить нерелизный код на релизной версии. awful.permissions завезли много позже релиза.

client.disconnect_signal("request::activate", awful.ewmh.activate)

Ты отключаешь сигнал активации клиента и хочешь чтобы активация работала? Очень странный способ выстрелить себе в голову через анус. (%

awesome v4.3 (Too long)

В будущем лучше весь выхлоп выкладывай, но в данном случае он действительно избыточен, так что.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Так ты скажи, как правильно сделать, а не твои вот эти философские рассуждения, ценность которых околонулевая

serg002 ★★★
() автор топика
Последнее исправление: serg002 (всего исправлений: 1)
Ответ на: комментарий от serg002

В сигнале manage для client (я не помню как он точно зовётся в релизном 4.3) можно просто сделать c.urgent = false, а не изобретать все эти велосипеды с квадтарными колёсами из костылей. ☺

твои вот эти философские рассуждения

Не я первый начал:

Конечно же, балалайка. Не находит .permissions. Это же осом: последняя циферка в минорной версии не та - отсос петрович xD.

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

// Воспитываешь эту молодёжь, воспитываешь… Никакой благодарности!

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Так мне не перманентно убрать надо, а для новых окон. А то у меня startup.sh запускается и оба монитора 2\3 тегов горят красным

serg002 ★★★
() автор топика
Ответ на: комментарий от mord0d

Что текущее? autostart.sh запускает аплекухи, у всех них надо убрать urgent. Как ты видишь решение этой траблы?

serg002 ★★★
() автор топика
Ответ на: комментарий от serg002

autostart.sh запускает аплекухи

Никак не относится к awesomewm.

у всех них надо убрать urgent

Если это окна, то делается это сменой urgent на false в момент активации окна (сигнал manage).

Как ты видишь решение этой траблы?

Я тебе уже полуготовое решение выше написал, тебе осталось только найти нужный код в своём rc.lua и добавить в него одну строку.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Так а как же это делается? Начинаем запускать autostart.sh, меняем urgent=false, потом загрузили аплекухи и меняем urgent=true. Как это событийно разруливается? На какие события вешать urgent=true?

serg002 ★★★
() автор топика
Ответ на: комментарий от serg002

потом загрузили аплекухи и меняем urgent=true

Откуда ты это придумал? Зачем тебе обратно развешивать состояние urgent, которое ты только что убирал?

Тебе нужно сделать только c.urgent = false на этапе запуска клиента (manage), всё. Это изменит текущее состояние клиента, с требующего внимания (urgent) на обычное.

mord0d ★★★★★
()
Последнее исправление: mord0d (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.