local awful = require "awful" local gears = require "gears" local wibox = require "wibox" local beautiful = require "beautiful" local dpi = beautiful.xresources.apply_dpi -- Creating Calendar ---------------------- -- copied from awesome doc and adjusted a bit local styles = {} styles.month = { bg_color = beautiful.xcolorS0} styles.normal = { bg_color = beautiful.xcolorS0, padding = dpi(6), fg_color = beautiful.xcolorT2, } styles.focus = { fg_color = beautiful.xcolor7, padding = dpi(6), markup = function(t) return '' .. t .. '' end, } styles.header = { fg_color = beautiful.xcolor2, markup = function(t) return '' .. t .. '' end, } styles.weekday = { fg_color = beautiful.xcolorT2, markup = function(t) return '' .. t .. '' end, } -- The Function 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 ret = wibox.widget { { widget, margins = props.padding, widget = wibox.container.margin }, fg = props.fg_color, bg = props.bg_color, widget = wibox.container.background } return ret end local calendar = wibox.widget { date = os.date("*t"), font = beautiful.font_name.."14", fn_embed = decorate_cell, widget = wibox.widget.calendar.month, } return wibox.widget { nil, { nil, calendar, expand = 'none', layout = wibox.layout.align.horizontal, }, expand = 'none', layout = wibox.layout.align.vertical, }