~kris/dots

srice

srice/.config/conky/border.lua -rw-r--r-- 950 bytes
e98f3b03 — Kris Yotam chore: sync local state after restore (push updates, no pull) a month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
-- Draws a thick Plan 9 cyan border around the conky window.
local border_width = 8
local border_color = { 0.918, 1.0, 1.0, 1.0 } -- #EAFFFF
local unpack_color = table.unpack or unpack

function conky_draw_border()
    if conky_window == nil then return end

    local cs = cairo_xlib_surface_create(
        conky_window.display,
        conky_window.drawable,
        conky_window.visual,
        conky_window.width,
        conky_window.height
    )
    local cr = cairo_create(cs)

    local w = conky_window.width
    local h = conky_window.height
    local bw = math.min(border_width, math.floor(math.min(w, h) / 2))
    local r, g, b, a = unpack_color(border_color)

    cairo_set_source_rgba(cr, r, g, b, a)
    cairo_rectangle(cr, 0, 0, w, bw)
    cairo_rectangle(cr, 0, h - bw, w, bw)
    cairo_rectangle(cr, 0, 0, bw, h)
    cairo_rectangle(cr, w - bw, 0, bw, h)
    cairo_fill(cr)

    cairo_destroy(cr)
    cairo_surface_destroy(cs)
end