Added the option to customize te mousebuttons for going to the previous and next month

This commit is contained in:
Michael Cochez 2021-11-20 02:21:32 +01:00
parent 2fae9e01a7
commit 80f6bb2c05
2 changed files with 24 additions and 4 deletions

View file

@ -4,7 +4,6 @@ Calendar widget for Awesome WM - slightly improved version of the `wibox.widget.
## Features
- mouse support: scroll up - shows next month, scroll down - previous
- themes:
| Name | Screenshot |
@ -30,6 +29,23 @@ Calendar widget for Awesome WM - slightly improved version of the `wibox.widget.
![calendar_bottom_right](./calendar_bottom_right.png)
- mouse support:
move to the next and previous month. Using mouse buttons or scroll wheel.
You can configure this by specifying the button to move to next/previous.
Usually these are configured as follows. If you want to use other mouse buttons, you can find their number using `xev`.
| number | button |
|--------|--------|
| 4 | scroll up |
| 5 | scroll down |
| 1 | left click |
| 2 | right click |
| 3 | middles click |
By default `previous_month_button` is 5, `next_month_button` is 4.
## How to use
This widget needs an 'anchor' - another widget which triggers visibility of the calendar. Default `mytextclock` is the perfect candidate!
@ -47,6 +63,9 @@ local cw = calendar_widget({
theme = 'outrun',
placement = 'bottom_right',
radius = 8,
-- with customized next/previous (see table above)
previous_month_button = 1,
next_month_button = 3,
})
mytextclock:connect_signal("button::press",
function(_, _, _, button)

View file

@ -95,7 +95,8 @@ local function worker(user_args)
local theme = args.theme or 'naughty'
local placement = args.placement or 'top'
local radius = args.radius or 8
local next_month_button = args.next_month_button or 4
local previous_month_button = args.previous_month_button or 5
local styles = {}
local function rounded_shape(size)
@ -198,14 +199,14 @@ local function worker(user_args)
popup:buttons(
awful.util.table.join(
awful.button({}, 4, function()
awful.button({}, next_month_button, function()
local a = cal:get_date()
a.month = a.month + 1
cal:set_date(nil)
cal:set_date(a)
popup:set_widget(cal)
end),
awful.button({}, 5, function()
awful.button({}, previous_month_button, function()
local a = cal:get_date()
a.month = a.month - 1
cal:set_date(nil)