From 1291a346f3a684f939647ef4accb19ab3a652ce9 Mon Sep 17 00:00:00 2001 From: Emmanuel Lepage Vallee Date: Sat, 5 Feb 2022 15:18:04 -0800 Subject: [PATCH] doc: Add more `wibox.container.background` examples. --- tests/examples/shims/beautiful.lua | 18 +++- .../container/background/border_color.lua | 52 ++++++++++++ .../container/background/border_strategy.lua | 54 ++++++++++++ .../container/background/border_width.lua | 34 ++++++++ .../background/stretch_horizontally.lua | 82 ++++++++++++++++++ .../background/stretch_vertically.lua | 83 +++++++++++++++++++ 6 files changed, 319 insertions(+), 4 deletions(-) create mode 100644 tests/examples/wibox/container/background/border_color.lua create mode 100644 tests/examples/wibox/container/background/border_strategy.lua create mode 100644 tests/examples/wibox/container/background/border_width.lua create mode 100644 tests/examples/wibox/container/background/stretch_horizontally.lua create mode 100644 tests/examples/wibox/container/background/stretch_vertically.lua diff --git a/tests/examples/shims/beautiful.lua b/tests/examples/shims/beautiful.lua index 396ace662..dffb924ce 100644 --- a/tests/examples/shims/beautiful.lua +++ b/tests/examples/shims/beautiful.lua @@ -3,15 +3,24 @@ local Pango = lgi.Pango local cairo = lgi.cairo -- A simple Awesome logo -local function logo() +local function logo(fg, bg) local img = cairo.ImageSurface.create(cairo.Format.ARGB32, 22, 22) local cr = cairo.Context(img) -- Awesome default #555555 - cr:set_source_rgb(0.21568627451, 0.21568627451, 0.21568627451) + if bg then + cr:set_source(bg) + else + cr:set_source_rgb(0.21568627451, 0.21568627451, 0.21568627451) + end + cr:paint() - cr:set_source_rgb(1,1,1) + if fg then + cr:set_source(fg) + else + cr:set_source_rgb(1,1,1) + end cr:rectangle(0, 7, 15, 1) cr:fill() @@ -48,7 +57,8 @@ local module = { -- Fake resources handling xresources = require("beautiful.xresources"), - awesome_icon = logo() + awesome_icon = logo(), + _logo = logo, } module.graph_bg = module.bg_normal diff --git a/tests/examples/wibox/container/background/border_color.lua b/tests/examples/wibox/container/background/border_color.lua new file mode 100644 index 000000000..99a7cd184 --- /dev/null +++ b/tests/examples/wibox/container/background/border_color.lua @@ -0,0 +1,52 @@ +--DOC_GEN_IMAGE --DOC_HIDE_START +local parent = ... +local wibox = require("wibox") +local gears = { shape = require("gears.shape"), color = require("gears.color") } +local beautiful = require("beautiful") + +parent.spacing = 5 + +--DOC_HIDE_END + +local colors = { + beautiful.bg_normal, + "#00ff00", + gears.color { + type = "linear", + from = { 0 , 20 }, + to = { 20, 0 }, + stops = { + { 0, "#0000ff" }, + { 1, "#ff0000" } + }, + }, +} + +--DOC_NEWLINE + +for _, color in ipairs(colors) do + local w = wibox.widget { + { + { + text = " Content ", + valign = "center", + align = "center", + widget = wibox.widget.textbox + }, + margins = 10, + widget = wibox.container.margin + }, + border_color = color, + border_width = 3, + stretch_vertically = true, + stretch_horizontally = true, + shape = gears.shape.rounded_rect, + widget = wibox.container.background + } + + parent:add(w) --DOC_HIDE +end + +--DOC_HIDE_START + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/tests/examples/wibox/container/background/border_strategy.lua b/tests/examples/wibox/container/background/border_strategy.lua new file mode 100644 index 000000000..1952396b9 --- /dev/null +++ b/tests/examples/wibox/container/background/border_strategy.lua @@ -0,0 +1,54 @@ +--DOC_GEN_IMAGE --DOC_HIDE_START +local parent = ... +local wibox = require("wibox") +local gears = { shape = require("gears.shape") } +local beautiful = require("beautiful") + +local l = wibox.layout { + forced_width = 640, + spacing = 5, + forced_num_cols = 2, + homogeneous = false, + expand = false, + layout = wibox.layout.grid.vertical +} + +--DOC_HIDE_END + +for k, strategy in ipairs { "none", "inner" } do + --DOC_HIDE_START + local r = k*2 + + l:add_widget_at(wibox.widget { + markup = "border_strategy = \"".. strategy .."\"", + widget = wibox.widget.textbox, + }, r, 1, 1, 2) + --DOC_HIDE_END + + for idx, width in ipairs {0, 1, 3, 10 } do + local w = wibox.widget { + { + { + text = "border_width = "..width, + valign = "center", + align = "center", + widget = wibox.widget.textbox + }, + border_color = beautiful.bg_normal, + border_width = width, + border_strategy = strategy, + shape = gears.shape.rounded_rect, + widget = wibox.container.background + }, + widget = wibox.container.place + } + + l:add_widget_at(w, r+1, idx, 1, 1) --DOC_HIDE + end + --DOC_HIDE_END +end +--DOC_HIDE_START + +parent:add(l) + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/tests/examples/wibox/container/background/border_width.lua b/tests/examples/wibox/container/background/border_width.lua new file mode 100644 index 000000000..7fc874558 --- /dev/null +++ b/tests/examples/wibox/container/background/border_width.lua @@ -0,0 +1,34 @@ +--DOC_GEN_IMAGE --DOC_HIDE_START +local parent = ... +local wibox = require("wibox") +local gears = { shape = require("gears.shape") } +local beautiful = require("beautiful") + +parent.spacing = 5 + +--DOC_HIDE_END + +for _, width in ipairs {0, 1, 3, 10 } do + local w = wibox.widget { + { + { + text = " Content ", + valign = "center", + align = "center", + widget = wibox.widget.textbox + }, + margins = 10, + widget = wibox.container.margin + }, + border_color = beautiful.bg_normal, + border_width = width, + shape = gears.shape.rounded_rect, + widget = wibox.container.background + } + + parent:add(w) --DOC_HIDE +end + +--DOC_HIDE_START + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/tests/examples/wibox/container/background/stretch_horizontally.lua b/tests/examples/wibox/container/background/stretch_horizontally.lua new file mode 100644 index 000000000..3cad561b8 --- /dev/null +++ b/tests/examples/wibox/container/background/stretch_horizontally.lua @@ -0,0 +1,82 @@ +--DOC_GEN_IMAGE --DOC_HIDE_START +local parent = ... +local wibox = require("wibox") +local gears = { shape = require("gears.shape"), color = require("gears.color") } + +local l = wibox.layout { + forced_width = 640, + spacing = 5, + forced_num_cols = 2, + homogeneous = false, + expand = false, + layout = wibox.layout.grid.vertical +} + +--DOC_HIDE_END + +local gradients = { + gears.color { + type = "linear", + from = { 0 , 0 }, + to = { 100, 0 }, + stops = { + { 0 , "#0000ff" }, + { 0.8, "#0000ff" }, + { 1 , "#ff0000" } + } + }, + gears.color { + type = "radial", + from = { 30, 98, 20 }, + to = { 30, 98, 120 }, + stops = { + { 0 , "#ff0000" }, + { 0.5, "#00ff00" }, + { 1 , "#0000ff" }, + } + } +} + +--DOC_NEWLINE + +for k, stretch in ipairs { false, true } do + --DOC_HIDE_START + local r = (k-1)*5 + 1 + + l:add_widget_at(wibox.widget { + markup = "stretch_horizontally = \"".. (stretch and "true" or "false") .."\"", + widget = wibox.widget.textbox, + }, r, 1, 1, 2) + --DOC_HIDE_END + + for __, grad in ipairs(gradients) do + for idx, width in ipairs { 50, 100, 150, 200 } do + local w = wibox.widget { + { + { + text = " Width: " .. width .. " ", + valign = "center", + align = "center", + widget = wibox.widget.textbox + }, + bg = grad, + stretch_horizontally = stretch, + forced_width = width, + fg = "#ffffff", + shape = gears.shape.rounded_rect, + widget = wibox.container.background + }, + forced_width = 200, + widget = wibox.container.place + } + + l:add_widget_at(w, (k-1)*5 + idx + 1, __, 1, 1) --DOC_HIDE + end + end + --DOC_HIDE_END +end +--DOC_HIDE_START + +parent:add(l) + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/tests/examples/wibox/container/background/stretch_vertically.lua b/tests/examples/wibox/container/background/stretch_vertically.lua new file mode 100644 index 000000000..35dbb13bf --- /dev/null +++ b/tests/examples/wibox/container/background/stretch_vertically.lua @@ -0,0 +1,83 @@ +--DOC_GEN_IMAGE --DOC_HIDE_START +local parent = ... +local wibox = require("wibox") +local gears = { shape = require("gears.shape"), color = require("gears.color") } + +local l = wibox.layout { + forced_width = 640, + spacing = 5, + forced_num_cols = 2, + homogeneous = false, + expand = false, + layout = wibox.layout.grid.vertical +} + +--DOC_HIDE_END + +local gradients = { + gears.color { + type = "linear", + from = { 0, 0 }, + to = { 0, 100 }, + stops = { + { 0 , "#0000ff" }, + { 0.8, "#0000ff" }, + { 1 , "#ff0000" } + } + }, + gears.color { + type = "radial", + from = { 30, 98, 20 }, + to = { 30, 98, 120 }, + stops = { + { 0 , "#ff0000" }, + { 0.5, "#00ff00" }, + { 1 , "#0000ff" }, + } + } +} + +--DOC_NEWLINE + +for k, stretch in ipairs { false, true } do + --DOC_HIDE_START + local r = (k-1) * 3 + 1 + + l:add_widget_at(wibox.widget { + markup = "stretch_vertically = \"".. (stretch and "true" or "false") .."\"", + widget = wibox.widget.textbox, + }, r, 1, 1, 2) + --DOC_HIDE_END + + + for _, gradient in ipairs(gradients) do + for idx, height in ipairs { 10, 50, 100, 150 } do + local w = wibox.widget { + { + { + text = " Height: " .. height .. " ", + valign = "center", + align = "center", + widget = wibox.widget.textbox + }, + bg = gradient, + stretch_vertically = stretch, + forced_height = height, + fg = "#ffffff", + shape = gears.shape.rounded_rect, + widget = wibox.container.background + }, + forced_height = 150, + widget = wibox.container.place + } + + l:add_widget_at(w, r + _, idx, 1, 1) --DOC_HIDE + end + end + --DOC_HIDE_END +end +--DOC_HIDE_START + +parent:add(l) + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80