90 lines
2.5 KiB
Markdown
90 lines
2.5 KiB
Markdown
# Calendar Widget
|
|
|
|
Calendar widget for Awesome WM - slightly improved version of the `wibox.widget.calendar`.
|
|
|
|
## Features
|
|
|
|
|
|
### Customization
|
|
|
|
| Name | Default | Description |
|
|
|---|---|---|
|
|
| theme | `naughty` | The theme to use |
|
|
| placement | `top` | The position of the popup |
|
|
| radius | 8 | The popup radius |
|
|
| start_sunday | false | Start the week on Sunday |
|
|
|
|
- themes:
|
|
|
|
| Name | Screenshot |
|
|
|---|---|
|
|
| nord | ![nord_theme](./nord.png) |
|
|
| outrun | ![outrun_theme](./outrun.png) |
|
|
| light | ![outrun_theme](./light.png) |
|
|
| dark | ![outrun_theme](./dark.png) |
|
|
| naughty (default) | from local theme |
|
|
|
|
- setup widget placement
|
|
|
|
top center - in case you clock is centered:
|
|
|
|
![calendar_top](./calendar_top.png)
|
|
|
|
top right - for default awesome config:
|
|
|
|
![calendar_top_right](./calendar_top_right.png)
|
|
|
|
bottom right - in case your wibar at the bottom:
|
|
|
|
![calendar_bottom_right](./calendar_bottom_right.png)
|
|
|
|
- setup first day of week
|
|
|
|
By setting `start_sunday` to true:
|
|
![calendar_start_sunday](./calendar_start_sunday.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!
|
|
Just after mytextclock is instantiated, create the widget and add the mouse listener to it.
|
|
|
|
```lua
|
|
local calendar_widget = require("awesome-wm-widgets.calendar-widget.calendar")
|
|
-- ...
|
|
-- Create a textclock widget
|
|
mytextclock = wibox.widget.textclock()
|
|
-- default
|
|
local cw = calendar_widget()
|
|
-- or customized
|
|
local cw = calendar_widget({
|
|
theme = 'outrun',
|
|
placement = 'bottom_right',
|
|
start_sunday = true,
|
|
radius = 8,
|
|
-- with customized next/previous (see table above)
|
|
previous_month_button = 1,
|
|
next_month_button = 3,
|
|
})
|
|
mytextclock:connect_signal("button::press",
|
|
function(_, _, _, button)
|
|
if button == 1 then cw.toggle() end
|
|
end)
|
|
```
|