You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.1 KiB
59 lines
1.1 KiB
local wibox = require('wibox') |
|
local beautiful = require('beautiful') |
|
|
|
local create_click_events = function(widget) |
|
|
|
local container = wibox.widget { |
|
widget, |
|
widget = wibox.container.background |
|
} |
|
|
|
-- Old and new widget |
|
local old_cursor, old_wibox |
|
|
|
-- Mouse hovers on the widget |
|
container:connect_signal( |
|
'mouse::enter', |
|
function() |
|
container.bg = beautiful.groups_bg |
|
-- Hm, no idea how to get the wibox from this signal's arguments... |
|
local w = mouse.current_wibox |
|
if w then |
|
old_cursor, old_wibox = w.cursor, w |
|
w.cursor = 'hand1' |
|
end |
|
end |
|
) |
|
|
|
-- Mouse leaves the widget |
|
container:connect_signal( |
|
'mouse::leave', |
|
function() |
|
container.bg = beautiful.leave_event |
|
if old_wibox then |
|
old_wibox.cursor = old_cursor |
|
old_wibox = nil |
|
end |
|
end |
|
) |
|
|
|
-- Mouse pressed the widget |
|
container:connect_signal( |
|
'button::press', |
|
function() |
|
container.bg = beautiful.press_event |
|
end |
|
) |
|
|
|
-- Mouse releases the widget |
|
container:connect_signal( |
|
'button::release', |
|
function() |
|
container.bg = beautiful.release_event |
|
end |
|
) |
|
|
|
return container |
|
end |
|
|
|
return create_click_events
|
|
|