Awesome WM - получить координаты курсора мыши.

Добрый день, может кто знает, как в конфиге получить координаты курсора мыши? Надо получить координаты по x что бы выводить уведомление в районе курсора, а не в фиксированном месте. Пробовал через
mouse.coords().x
Но там всегда nil. А вот что-то загуглить не получилось
kdeneur: https://github.com/brestows/kdeNeur
awesome WM 3.5
brestows
Надо получить координаты по x что бы выводить уведомление в районе курсора
Не знаю Awesome и откуда берет значения mouse.coords().x , но если из /dev/input/xxx, то будут одни нули, если мышь в покое.
А что другие способы определения координат мыши не подходят? ... а можно вообще, используя эмуляцию движения мыши, переместить курсор в нужную точку.
Ошибки не исчезают с опытом - они просто умнеют
brestows
mouse.coords().x
Для интереса посмотрел module mouse - и да есть такая функция mouse.coords().x и должно все показывать
-- Get the position
print(mouse.coords().x)
-- Change the position
mouse.coords {
    x = 185,
    y = 10
}
Ошибки не исчезают с опытом - они просто умнеют
для перемещения курсора в опрделенную точку можно использовть команду
xdotool mousemove 185 10
, если xdotool не устануовлен - установить
Кто ищет, тот всегда найдет.
brestows, если именно хочется использовать mouse.coords (а не xdotool или xte), то можешь посмотреть этот похожий вариант
Ошибки не исчезают с опытом - они просто умнеют
olgmen
для перемещения курсора в опрделенную точку можно использовть команду
xdotool mousemove 185 10
, если xdotool не устануовлен - установить
Мне надо именно получить координату по x у мыши.
Есть панель на ней куча виджитов, если нажимаешь на любой виджет, то показывается уведомление, в awesome есть только фиксированный набор положения уведомлений,но можно явно указать координаты, в которых показать окно/уведомление. Получается ситуация что ты жмешь на виджет например в 500 px от правого края а уведомление в правой части окна ) а хочется что бы оно было над виджитом. Учитывая что часть виджитов динамически меняет свой размер, то фиксированные координаты тоже так себе )

Вот и хочется взять координаты мыши в момент нажатия )
kdeneur: https://github.com/brestows/kdeNeur
awesome WM 3.5
Что-нибудь такое :
------------------------
local w = wibox {
    height = 200,
    width = 400,
    ontop = true,
    screen = mouse.screen,
    expand = true,
   -- bg = '#1e252c',
    font = "Z003",
    bg = '#00000030',
    max_widget_size = 500
}
-------------
memicon:buttons(
    awful.util.table.join(
        awful.button({}, 1, function()
           awful.placement.under_mouse(w, { margins = {top = 400, right = 0}})
            w.pie.data_list = {
                {'used ' .. getPercentage(used + used_swap), used + used_swap},
                {'free ' .. getPercentage(free + free_swap), free + free_swap},
                {'buff_cache ' .. getPercentage(buff_cache), buff_cache}
            }
            w.pie.display_labels = true
            w.visible = not w.visible
        end)
    )
)
Всплытие под курсором минус 400
valera_cr
Что-нибудь такое :
------------------------
local w = wibox {
    height = 200,
    width = 400,
    ontop = true,
    screen = mouse.screen,
    expand = true,
   -- bg = '#1e252c',
    font = "Z003",
    bg = '#00000030',
    max_widget_size = 500
}
-------------
memicon:buttons(
    awful.util.table.join(
        awful.button({}, 1, function()
           awful.placement.under_mouse(w, { margins = {top = 400, right = 0}})
            w.pie.data_list = {
                {'used ' .. getPercentage(used + used_swap), used + used_swap},
                {'free ' .. getPercentage(free + free_swap), free + free_swap},
                {'buff_cache ' .. getPercentage(buff_cache), buff_cache}
            }
            w.pie.display_labels = true
            w.visible = not w.visible
        end)
    )
)
Всплытие под курсором минус 400
Да, спасибо. Я уже разобрался.
Возник второй вопрос, кто-то делал себе виджет который отображается на экране?
Все никак не могу найти пример максимально простой, везде куча зависимостей и все замудрено, не могу понять как это сделать.
kdeneur: https://github.com/brestows/kdeNeur
awesome WM 3.5
Что-нибудь такое:
-----------
cpu1a = wibox.widget.imagebox()
cpu1a.image = "/home/valera/.config/awesome/appicons/cp1.png"
function cpu1a:fit(context, width, height) return width, height end
local cpu1aa = wibox({ type = "desktop", visible = true, bg = "#00000000" })
cpu1aa:geometry({ x = 1040, y = 850, width = 50, height = 50 })
cpu1aa:set_widget(cpu1a)
---------------
---------------
cpu_graph = blingbling.line_graph({ height = 50,
                                        width = 400,
                                        show_text = true,
                                        label = "cpu:$percent %",
                                        rounded_size = 0.3,
                                        graph_background_color = "#f4080815",
                                        text_background_color = "#2a000080",
                                        --graph_text_color = "#f29466"
                                      })
--cpu_graph:set_height(18)
--cpu_graph:set_width(200)
--cpu_graph:set_show_text(true)
--cpu_graph:set_label("Load: $percent %")
--cpu_graph:set_rounded_size(0.3)
--cpu_graph:set_graph_background_color("#00000033")
cpu_graph:set_graph_line_color("#e65117ff")
cpu_graph:set_graph_color("#f70101ff")
cpu_graph:set_text_color("#e74f12")
cpu_graph:set_font("odstemplik bold")
cpu_graph:set_font_size("18")
blingbling.popups.htop(cpu_graph, { terminal =  "xfce4-terminal" })
vicious.register(cpu_graph, vicious.widgets.cpu,'$1', 5)
--vicious.register(cpu_graph, vicious.widgets.fs, "${/ used_a}", 120 )
function cpu_graph:fit(context, width, height) return width, height end
local desktop_wibox11 = wibox({ type = "desktop", visible = true, bg = "#00000000" })
desktop_wibox11:geometry({ x = 1090, y = 850, width = 350, height = 50 })
desktop_wibox11:set_widget(cpu_graph)
Cpu виджет - нижний справа:

mpd плейер -тоже суть винегрет из виджетов, как и лаунчеры :
my_widget9b = awful.widget.launcher({ name = "cantata",
                                     --image = "/home/valera/.config/awesome/appicons/speaker.png",
                                     image = "/home/valera/.config/awesome/appicons/armagetronad.png",
                                     command = "cantata"
                                     })
function my_widget9b:fit(context, width, height) return width, height end
local desktop_wibox9b = wibox({ type = "desktop", visible = true, bg = "#00000000" })
desktop_wibox9b:geometry({ x = 1200, y = 605, width = 32, height = 32 })
desktop_wibox9b:set_widget(my_widget9b)
--
local my_widget10b = wibox.widget.textbox()
--my_widget10aa.markup = "<span color=\"#f29466\">Cantata</span>"
my_widget10b.markup = "<span color=\"#e74f12\"><span font=\"odstemplik 14\"><b>Cantata</b></span></span>"
function my_widget10b:fit(context, width, height) return width, height end
local desktop_wibox10b = wibox({ type = "desktop", visible = true, bg = "#00000000" })
desktop_wibox10b:geometry({ x = 1196, y = 640, width = 70, height = 18 })
desktop_wibox10b:set_widget(my_widget10b)
Спасибо. буду пробовать, с большего сам разобрался. Но как говорится, примеры лишними не будут. Буду ковырять, еще раз спасибо.
kdeneur: https://github.com/brestows/kdeNeur
awesome WM 3.5
 
Зарегистрироваться или войдите чтобы оставить сообщение.