awesome-wm-widgets/_widgets/calendar-widget.md

93 lines
3.1 KiB
Markdown
Raw Normal View History

2019-12-15 21:38:54 +01:00
---
layout: page
---
# Calendar Widget
2019-12-16 04:09:49 +01:00
Calendar widget for Awesome WM - slightly improved version of the `wibox.widget.calendar`.
2019-12-15 21:38:54 +01:00
2019-12-16 04:09:49 +01:00
## Features
2019-12-15 21:38:54 +01:00
2022-01-24 01:17:02 +01:00
### Customization
| Name | Default | Description |
|---|---|---|
2022-01-24 03:35:44 +01:00
| theme | `naughty` | The theme to use |
| placement | `top` | The position of the popup |
| radius | 8 | The popup radius |
2022-01-24 01:17:02 +01:00
| start_sunday | false | Start the week on Sunday |
2019-12-16 04:09:49 +01:00
- themes:
2022-01-24 01:17:02 +01:00
2019-12-16 04:14:55 +01:00
| Name | Screenshot |
|---|---|
2022-01-24 03:05:55 +01:00
| nord | ![nord_theme](../awesome-wm-widgets/assets/img/widgets/screenshots/calendar-widget/nord.png) |
| outrun | ![outrun_theme](../awesome-wm-widgets/assets/img/widgets/screenshots/calendar-widget/outrun.png) |
| light | ![outrun_theme](../awesome-wm-widgets/assets/img/widgets/screenshots/calendar-widget/light.png) |
| dark | ![outrun_theme](../awesome-wm-widgets/assets/img/widgets/screenshots/calendar-widget/dark.png) |
2020-12-01 15:03:04 +01:00
| naughty (default) | from local theme |
2022-01-24 01:17:02 +01:00
2019-12-16 04:09:49 +01:00
- setup widget placement
2022-01-24 01:17:02 +01:00
2019-12-16 04:09:49 +01:00
top center - in case you clock is centered:
2022-01-24 03:05:55 +01:00
![calendar_top](../awesome-wm-widgets/assets/img/widgets/screenshots/calendar-widget/calendar_top.png)
2019-12-16 04:09:49 +01:00
top right - for default awesome config:
2022-01-24 03:05:55 +01:00
![calendar_top_right](../awesome-wm-widgets/assets/img/widgets/screenshots/calendar-widget/calendar_top_right.png)
2019-12-16 04:09:49 +01:00
bottom right - in case your wibar at the bottom:
2022-01-24 03:05:55 +01:00
![calendar_bottom_right](../awesome-wm-widgets/assets/img/widgets/screenshots/calendar-widget/calendar_bottom_right.png)
2022-01-24 01:17:02 +01:00
- setup first day of week
By setting `start_sunday` to true:
2022-01-24 03:05:55 +01:00
![calendar_start_sunday](../awesome-wm-widgets/assets/img/widgets/screenshots/calendar-widget/calendar_start_sunday.png)
2022-01-24 01:17:02 +01:00
- 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.
2019-12-16 04:09:49 +01:00
## How to use
2019-12-15 21:38:54 +01:00
2022-01-24 01:17:02 +01:00
This widget needs an 'anchor' - another widget which triggers visibility of the calendar. Default `mytextclock` is the perfect candidate!
2020-02-02 19:53:06 +01:00
Just after mytextclock is instantiated, create the widget and add the mouse listener to it.
2019-12-15 21:38:54 +01:00
```lua
local calendar_widget = require("awesome-wm-widgets.calendar-widget.calendar")
-- ...
-- Create a textclock widget
mytextclock = wibox.widget.textclock()
2019-12-16 04:09:49 +01:00
-- default
2020-02-02 19:53:06 +01:00
local cw = calendar_widget()
2019-12-16 04:09:49 +01:00
-- or customized
2020-02-02 19:53:06 +01:00
local cw = calendar_widget({
2019-12-16 04:09:49 +01:00
theme = 'outrun',
2022-01-24 01:17:02 +01:00
placement = 'bottom_right',
start_sunday = true,
radius = 8,
-- with customized next/previous (see table above)
previous_month_button = 1,
next_month_button = 3,
2019-12-16 04:09:49 +01:00
})
2022-01-24 01:17:02 +01:00
mytextclock:connect_signal("button::press",
2019-12-15 21:38:54 +01:00
function(_, _, _, button)
2019-12-16 04:09:49 +01:00
if button == 1 then cw.toggle() end
2019-12-15 21:38:54 +01:00
end)
2019-12-16 04:09:49 +01:00
```