Merge pull request #312 from miselico/master

Added the option to customize te mousebuttons for going to the previous and next month
This commit is contained in:
streetturtle 2021-11-19 20:24:58 -05:00 committed by GitHub
commit 050f328c32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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 ## Features
- mouse support: scroll up - shows next month, scroll down - previous
- themes: - themes:
| Name | Screenshot | | 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) ![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 ## How to use
This widget needs an 'anchor' - another widget which triggers visibility of the calendar. Default `mytextclock` is the perfect candidate! 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', theme = 'outrun',
placement = 'bottom_right', placement = 'bottom_right',
radius = 8, radius = 8,
-- with customized next/previous (see table above)
previous_month_button = 1,
next_month_button = 3,
}) })
mytextclock:connect_signal("button::press", mytextclock:connect_signal("button::press",
function(_, _, _, button) function(_, _, _, button)

View File

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