2

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

Я написал разные правила для удивительного wm, я вижу, как сфокусировать хорошего клиента, как сделать его плавающим, как заставить его появляться в фиксированной позиции.

Я нашел эту запись в Awesome FAQ.

Однако я не вижу, как использовать этот совет для создания правила.

Есть намеки?

2 ответа2

3

Для глобального использования по ключевому слову

в конце вашего rc.lua у вас есть функция client.add_signal(... , внутри этой функции вы должны установить последнюю строку FAQ, чтобы включить ее только для определенных приложений, в начале которых я включил новую переменную rc.lua `

local undermouse = false

чем часть FAQ:

client.add_signal("manage", function (c, startup)
    -- Add a titlebar
    -- awful.titlebar.add(c, { modkey = modkey })

    -- Enable sloppy focus
    c:add_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)

    if not startup then
        -- Set the windows at the slave,
        -- i.e. put it at the end of others instead of setting it master.
        -- awful.client.setslave(c)

        -- Put windows in a smart way, only if they does not set an initial position.
        if not c.size_hints.user_position and not c.size_hints.program_position then
            awful.placement.no_overlap(c)
            awful.placement.no_offscreen(c)
=>          if underMouse == true then
=>              awful.placement.under_mouse(c)
=>              underMouse = false
=>          end
        end
    end
end)

чтобы использовать эту опцию, я создал следующий код для моего ключа вычислителя:

globalkeys = awful.util.table.join(
    awful.key({                   }, "#148", function () 
        underMouse = true 
        awful.util.spawn(calculator) 
    end),
)

Как правило, на 1 заявку

как вы нашли после тестирования моего решения, но добавили к этому ответу для использования другими людьми:

{ rule = { class = "Gnome-calculator",  },
    properties = { 
        floating = true,
        callback = function(c) awful.placement.under_mouse(c) end,
    },
},
0

Большое спасибо за ваш ответ и за подсветку функции awful.placement.under_mouse(c) .

Наконец, написать правило было действительно легко:

 { rule = { class = "Gnome-calculator",  },
    properties = { 
        floating = true,
        callback = function(c) awful.placement.under_mouse(c) end,
    },
},

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .