LINUX.ORG.RU

Не вникал, но на первый взгляд сюда можно исключение для своего объекта быстро добавить:

c:connect_signal("mouse::enter", function(c)
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
        and awful.client.focus.filter(c) then
        client.focus = c
    end
end)

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

focusable True if the client can receive the input focus.

Этот параметр readonly.

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

У меня вышло так:

c:connect_signal("mouse::enter", function(c)
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
        and awful.client.focus.filter(c) c.class ~="URxvt"  then
        client.focus = c
    end
end)

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

Раз свойство есть - значит оно как-то меняется, надо смотреть реализацию

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

Раз свойство есть - значит оно как-то меняется, надо смотреть реализацию

На багтрекере хватает жалоб на это свойство. Из-за особенностей работы awesome, сколько ты false не выставляй, то оно все равно будет сбрасываться на true. Так что можно считать его, как readonly.

Medar ★★★★★ ()
Последнее исправление: Medar (всего исправлений: 1)

окно

и

панель

это сильно разные вещи.

Что за панель? awful.wibox() или внешняя панель? Как реализован функция фокуса в rc.lua? Какая версия awesome?

funeralismatic ★★★ ()

Фокус по клику задан в clientbuttons и присваивается каждому окну через awful.rules.rules. Можно отключить заданному окну мышекнопки полностью, если вынести это присваивание в отдельное правило типа

{
	rule = {}, except = { class = "UXTerm" },
	properties = { buttons = clientbuttons }
},
Или же писать правило с конкретными кнопками для конкретного приложения.

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

Добавил в конец конфига. Выдает ошибку:

'then' expected near 'c'

P.S. В lua, увы, ничего не понимаю.

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

Найди в rc.lua кусок конфига, что я привел выше, он стандартный, только я для примера дописал c.class ~="URxvt". Вот вместо этого кусочка допиши свое. Таким куском отключается фокус для urxvt. Для твоей панельки значение будет другим. С помощью xprop можно подсмотреть class или что-нить другое, чтобы ее идентифицировать.

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

Удалил buttons = clientbuttons из основного правила? Свой класс приложения правильный подставил? То код, что sloppy focus отключен?

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

Это sloppy focus, как понимаю? Подставил своё. Вот как выглядит секция:

-- Enable sloppy focus
    c:connect_signal("mouse::enter", function(c)
       if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
            and awful.client.focus.filter(c) c.class ~= "Mate-panel" then
            client.focus = c
        end
    end)

Все та же ошибка:

'then' expected near 'c'

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

Моя ошибка. Перед c.class ~= "Mate-panel" нужно and дописать.

and awful.client.focus.filter(c) and c.class ~= "Mate-panel" then

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

Спасибо.

Думаю предыдущий способ мне все-таки больше подойдет, поскольку sloppy focus я не использую, и эта секция конфига вообще была закомментирована.

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

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

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