local wibox = require("wibox") local awful = require("awful") local gears = require("gears") local naughty = require("naughty") local dpi = require("beautiful").xresources.apply_dpi local color = require("theme.crylia.colors") local styles = {} styles.month = { padding = 15, bg_color = color.color["Grey900"], border_width = 1, shape = function (cr, width, height) gears.shape.rounded_rect(cr, width, height, 5) end } styles.normal = { shape = function (cr, width, height) gears.shape.rounded_rect(cr, width, height, 5) end } styles.focus = { fg_color = color.color["Grey900"], bg_color = color.color["TealA200"], shape = function (cr, width, height) gears.shape.rounded_rect(cr, width, height, 5) end } styles.header = { fg_color = color.color["Teal200"], markup = function(t) return '' .. t .. '' end, shape = function (cr, width, height) gears.shape.rounded_rect(cr, width, height, 5) end } styles.weekday = { padding = 8, fg_color = color.color["Teal200"], markup = function(t) return '' .. t .. '' end, shape = function (cr, width, height) gears.shape.rounded_rect(cr, width, height, 5) end } local function decorate_cell(widget, flag, date) if flag=='monthheader' and not styles.monthheader then flag = 'header' end local props = styles[flag] or {} if props.markup and widget.get_text and widget.set_markup then widget:set_markup(props.markup(widget:get_text())) end -- Change bg color for weekends local d = {year=date.year, month=(date.month or 1), day=(date.day or 1)} local weekday = tonumber(os.date('%w', os.time(d))) local default_bg = (weekday==0 or weekday==6) and color.color["Grey900"] or color.color["Grey800"] local ret = wibox.widget { { widget, margins = 10, widget = wibox.container.margin }, shape = props.shape, shape_border_color = color.color["Grey800"], shape_border_width = 1, fg = props.fg_color or '#999999', bg = props.bg_color or default_bg, widget = wibox.container.background } return ret end local cal = wibox.widget { date = os.date('*t'), fn_embed = decorate_cell, widget = wibox.widget.calendar.month } return cal