diff --git a/tests/examples/awful/notification/bg.lua b/tests/examples/awful/notification/bg.lua new file mode 100644 index 000000000..8762be5a7 --- /dev/null +++ b/tests/examples/awful/notification/bg.lua @@ -0,0 +1,31 @@ +--DOC_GEN_IMAGE --DOC_NO_USAGE +require("_default_look") --DOC_HIDE +local awful = {wibar = require("awful.wibar")} --DOC_HIDE +local naughty = require("naughty") --DOC_HIDE + +screen[1]._resize {width = 640, height = 240} --DOC_HIDE + +local some_wibar = awful.wibar {position = "bottom", height = 48, visible = true} --DOC_HIDE + +--DOC_NEWLINE + + -- A notification popup using the default widget_template. + naughty.connect_signal("request::display", function(n) + naughty.layout.box {notification = n} + end) + +--DOC_NEWLINE + + -- Notifications as widgets for any `wibox`/`awful.wibar`/`awful.popup` + some_wibar.widget = naughty.list.notifications {} + +--DOC_NEWLINE + + for _, color in ipairs {"#ff0000", "#00ff00", "#0000ff"} do + naughty.notification { + title = "A ".. color .." notification", + bg = color, + } + end + +require("gears.timer").run_delayed_calls_now() diff --git a/tests/examples/awful/notification/border_color.lua b/tests/examples/awful/notification/border_color.lua new file mode 100644 index 000000000..d89affe11 --- /dev/null +++ b/tests/examples/awful/notification/border_color.lua @@ -0,0 +1,32 @@ +--DOC_GEN_IMAGE --DOC_NO_USAGE +require("_default_look") --DOC_HIDE +local awful = {wibar = require("awful.wibar")} --DOC_HIDE +local naughty = require("naughty") --DOC_HIDE + +screen[1]._resize {width = 640, height = 240} --DOC_HIDE + +local some_wibar = awful.wibar {position = "bottom", height = 48, visible = true} --DOC_HIDE + +--DOC_NEWLINE + + -- A notification popup using the default widget_template. + naughty.connect_signal("request::display", function(n) + naughty.layout.box {notification = n} + end) + +--DOC_NEWLINE + + -- Notifications as widgets for any `wibox`/`awful.wibar`/`awful.popup` + some_wibar.widget = naughty.list.notifications {} + +--DOC_NEWLINE + + for bw, color in ipairs {"#ff0000", "#00ff00", "#0000ff"} do + naughty.notification { + title = "A ".. color .." notification", + border_color = color, + border_width = bw*2, + } + end + +require("gears.timer").run_delayed_calls_now() diff --git a/tests/examples/awful/notification/box_corner.lua b/tests/examples/awful/notification/box_corner.lua new file mode 100644 index 000000000..d1f316c61 --- /dev/null +++ b/tests/examples/awful/notification/box_corner.lua @@ -0,0 +1,37 @@ +--DOC_HIDE --DOC_GEN_IMAGE --DOC_NO_USAGE +local naughty = require("naughty") --DOC_HIDE + +screen[1]._resize {width = 640, height = 480} --DOC_HIDE +require("_date") --DOC_HIDE +require("_default_look") --DOC_HIDE + +local function ever_longer_messages(iter) --DOC_HIDE + local ret = "content! " --DOC_HIDE + for _=1, iter do --DOC_HIDE + ret = ret.."more! " --DOC_HIDE + end --DOC_HIDE + return ret --DOC_HIDE +end --DOC_HIDE + +--DOC_NEWLINE + +naughty.connect_signal("request::display", function(n) --DOC_HIDE + naughty.layout.box {notification = n} --DOC_HIDE +end) --DOC_HIDE + +--DOC_NEWLINE + + for _, pos in ipairs { + "top_left" , "top_middle" , "top_right", + "bottom_left", "bottom_middle", "bottom_right", + } do + for i=1, 3 do + naughty.notification { + position = pos, + title = pos .. " " .. i, + message = ever_longer_messages(i) + } + end + end + +--DOC_HIDE vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/tests/examples/awful/notification/box_corner.output.txt b/tests/examples/awful/notification/box_corner.output.txt new file mode 100644 index 000000000..0e74ebd85 --- /dev/null +++ b/tests/examples/awful/notification/box_corner.output.txt @@ -0,0 +1,4 @@ + + + +====================VVVVVV table: 0x5602abbcedd0 diff --git a/tests/examples/awful/notification/corner.lua b/tests/examples/awful/notification/corner.lua index 539d0b773..b0722be1a 100644 --- a/tests/examples/awful/notification/corner.lua +++ b/tests/examples/awful/notification/corner.lua @@ -1,4 +1,5 @@ --DOC_HIDE_ALL +--DOC_GEN_IMAGE local naughty = require("naughty") --DOC_HIDE for _, pos in ipairs { @@ -13,7 +14,7 @@ for _, pos in ipairs { naughty.notify { title = pos, position = pos, - text = "", + message = "", } end diff --git a/tests/examples/awful/notification/fg.lua b/tests/examples/awful/notification/fg.lua new file mode 100644 index 000000000..b3f461e85 --- /dev/null +++ b/tests/examples/awful/notification/fg.lua @@ -0,0 +1,32 @@ +--DOC_GEN_IMAGE --DOC_NO_USAGE +require("_default_look") --DOC_HIDE +local awful = {wibar = require("awful.wibar")} --DOC_HIDE +local naughty = require("naughty") --DOC_HIDE + +screen[1]._resize {width = 640, height = 240} --DOC_HIDE + +local some_wibar = awful.wibar {position = "bottom", height = 48, visible = true} --DOC_HIDE + +--DOC_NEWLINE + + -- A notification popup using the default widget_template. + naughty.connect_signal("request::display", function(n) + naughty.layout.box {notification = n} + end) + +--DOC_NEWLINE + + -- Notifications as widgets for any `wibox`/`awful.wibar`/`awful.popup` + some_wibar.widget = naughty.list.notifications {} + +--DOC_NEWLINE + + for _, color in ipairs {"#ff0000", "#00ff00", "#0000ff"} do + naughty.notification { + title = "A ".. color .." notification", + message = "Message", + fg = color, + } + end + +require("gears.timer").run_delayed_calls_now() diff --git a/tests/examples/awful/notification/geometry.lua b/tests/examples/awful/notification/geometry.lua new file mode 100644 index 000000000..a6a3aab2e --- /dev/null +++ b/tests/examples/awful/notification/geometry.lua @@ -0,0 +1,30 @@ +--DOC_HIDE --DOC_GEN_IMAGE --DOC_NO_USAGE +local naughty = require("naughty") --DOC_HIDE + +screen[1]._resize {width = 640, height = 480} --DOC_HIDE +require("_date") --DOC_HIDE +require("_default_look") --DOC_HIDE + +naughty.connect_signal("request::display", function(n) --DOC_HIDE + naughty.layout.box {notification = n} --DOC_HIDE +end) --DOC_HIDE + +--DOC_NEWLINE + + for _, pos in ipairs { + "top_left" , "top_middle" , "top_right", + "bottom_left", "bottom_middle", "bottom_right", + } do + for i=1, 2 do + naughty.notification { + position = pos, + title = pos .. " " .. i, + width = 50*i, + height = 50*i, + message = "This is a very, very, very, ".. + "very, very very long message", + } + end + end + +--DOC_HIDE vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/tests/examples/awful/notification/margin.lua b/tests/examples/awful/notification/margin.lua new file mode 100644 index 000000000..ac0da4eac --- /dev/null +++ b/tests/examples/awful/notification/margin.lua @@ -0,0 +1,40 @@ +--DOC_GEN_IMAGE --DOC_NO_USAGE +require("_default_look") --DOC_HIDE +local awful = {wibar = require("awful.wibar")} --DOC_HIDE +local wibox = require("wibox") --DOC_HIDE +local naughty = require("naughty") --DOC_HIDE +local beautiful = require("beautiful") --DOC_HIDE + +screen[1]._resize {width = 640, height = 240} --DOC_HIDE + +local some_wibar = awful.wibar {position = "bottom", height = 48, visible = true} --DOC_HIDE + +--DOC_NEWLINE + + -- A notification popup using the default widget_template. + naughty.connect_signal("request::display", function(n) + naughty.layout.box {notification = n} + end) + +--DOC_NEWLINE + + -- Notifications as widgets for any `wibox`/`awful.wibar`/`awful.popup` + some_wibar.widget = naughty.list.notifications { + base_layout = wibox.widget { + spacing = beautiful.notification_spacing, + layout = wibox.layout.fixed.horizontal + }, + } + +--DOC_NEWLINE + + for margin = 10, 20, 5 do + naughty.notification { + title = "A notification", + margin = margin, + border_width = 1, + border_color = "#ff0000", + } + end + +require("gears.timer").run_delayed_calls_now() diff --git a/tests/examples/awful/notification/notificationlist/bottombar.lua b/tests/examples/awful/notification/notificationlist/bottombar.lua new file mode 100644 index 000000000..7e16f78c0 --- /dev/null +++ b/tests/examples/awful/notification/notificationlist/bottombar.lua @@ -0,0 +1,129 @@ +--DOC_GEN_IMAGE +--DOC_NO_USAGE +require("_date") --DOC_HIDE +require("_default_look") --DOC_HIDE +local awful = require("awful") --DOC_HIDE +local gears = require("gears") --DOC_HIDE +local wibox = require("wibox") --DOC_HIDE +local beautiful = require("beautiful") --DOC_HIDE +local naughty = require("naughty") --DOC_HIDE + +screen[1]._resize {width = 640, height = 240} --DOC_HIDE + +--DOC_HIDE Give some context, otherwise it doesn't look like a screen +local c = client.gen_fake {hide_first=true} --DOC_HIDE +c:geometry { x = 50, y = 45, height = 100, width = 250} --DOC_HIDE +c._old_geo = {c:geometry()} --DOC_HIDE +c:set_label("A client") --DOC_HIDE +c:emit_signal("request::titlebars", "rules", {})--DOC_HIDE + +beautiful.notification_icon_size = 48 --DOC_HIDE +beautiful.notification_action_label_only = true --DOC_HIDE + +--DOC_NEWLINE + + -- This awful.wibar will be placed at the bottom and contain the notifications. + local notif_wb = awful.wibar { + position = "bottom", + height = 48, + visible = #naughty.active > 0, + } + +--DOC_NEWLINE + + notif_wb:setup { + nil, + { + base_layout = wibox.widget { + spacing_widget = wibox.widget { + orientation = "vertical", + span_ratio = 0.5, + widget = wibox.widget.separator, + }, + forced_height = 30, + spacing = 3, + layout = wibox.layout.flex.horizontal + }, + widget_template = { + { + naughty.widget.icon, + { + naughty.widget.title, + naughty.widget.message, + { + layout = wibox.widget { + -- Adding the `wibox.widget` allows to share a + -- single instance for all spacers. + spacing_widget = wibox.widget { + orientation = "vertical", + span_ratio = 0.9, + widget = wibox.widget.separator, + }, + spacing = 3, + layout = wibox.layout.flex.horizontal + }, + widget = naughty.list.widgets, + }, + layout = wibox.layout.align.vertical + }, + spacing = 10, + fill_space = true, + layout = wibox.layout.fixed.horizontal + }, + margins = 5, + widget = wibox.container.margin + }, + widget = naughty.list.notifications, + }, + -- Add a button to dismiss all notifications, because why not. + { + { + text = "Dismiss all", + align = "center", + valign = "center", + widget = wibox.widget.textbox + }, + buttons = gears.table.join( + awful.button({ }, 1, function() naughty.destroy_all_notifications() end) + ), + forced_width = 75, + shape = gears.shape.rounded_bar, + shape_border_width = 1, + shape_border_color = beautiful.bg_highlight, + widget = wibox.container.background + }, + layout = wibox.layout.align.horizontal + } + +--DOC_NEWLINE + + -- We don't want to have that bar all the time, only when there is content. + naughty.connect_signal("property::active", function() + notif_wb.visible = #naughty.active > 0 + end) + + +--DOC_HIDE The delayed make sure the legacy popup gets disabled in time +gears.timer.run_delayed_calls_now()--DOC_HIDE + +for i=1, 3 do --DOC_HIDE + naughty.notification { --DOC_HIDE + title = "A notification "..i, --DOC_HIDE + text = "Be notified! "..i, --DOC_HIDE + icon = i%2 == 1 and beautiful.awesome_icon, --DOC_HIDE + timeout = 999, --DOC_HIDE + actions = { --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Accept "..i, --DOC_HIDE + icon = beautiful.awesome_icon, --DOC_HIDE + }, --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Refuse", --DOC_HIDE + icon = beautiful.awesome_icon, --DOC_HIDE + }, --DOC_HIDE + } --DOC_HIDE + } --DOC_HIDE +end --DOC_HIDE + + +require("gears.timer").run_delayed_calls_now() diff --git a/tests/examples/awful/notification/shape.lua b/tests/examples/awful/notification/shape.lua new file mode 100644 index 000000000..8b48110e2 --- /dev/null +++ b/tests/examples/awful/notification/shape.lua @@ -0,0 +1,42 @@ +--DOC_GEN_IMAGE --DOC_NO_USAGE +require("_default_look") --DOC_HIDE +local gears = {shape = require("gears.shape")} --DOC_HIDE +local awful = {wibar = require("awful.wibar")} --DOC_HIDE +local naughty = require("naughty") --DOC_HIDE + +screen[1]._resize {width = 640, height = 240} --DOC_HIDE + +local some_wibar = awful.wibar {position = "bottom", height = 48, visible = true} --DOC_HIDE + +--DOC_NEWLINE + + -- A notification popup using the default widget_template. + naughty.connect_signal("request::display", function(n) + naughty.layout.box {notification = n} + end) + +--DOC_NEWLINE + + -- Notifications as widgets for any `wibox`/`awful.wibar`/`awful.popup` + some_wibar.widget = naughty.list.notifications {} + +--DOC_NEWLINE + + local shapes = { + gears.shape.octogon, + gears.shape.rounded_rect, + gears.shape.rounded_bar + } + +--DOC_NEWLINE + + for idx=1, 3 do + naughty.notification { + title = "A notification", + border_color = "#0000ff", + border_width = idx*2, + shape = shapes[idx], + } + end + +require("gears.timer").run_delayed_calls_now() diff --git a/tests/examples/awful/popup/wiboxtypes.lua b/tests/examples/awful/popup/wiboxtypes.lua index 02e851cba..c6fa28d9d 100644 --- a/tests/examples/awful/popup/wiboxtypes.lua +++ b/tests/examples/awful/popup/wiboxtypes.lua @@ -5,6 +5,7 @@ require("_date") local awful = require("awful") local gears = require("gears") +local naughty = require("naughty") local wibox = require("wibox") local beautiful = require("beautiful") --DOC_HIDE local look = require("_default_look") @@ -136,6 +137,7 @@ local function create_info(text, x, y, width, height) text = text, align = "center", ellipsize = "none", + wrap = "word", widget = wibox.widget.textbox }, margins = 10, @@ -170,17 +172,29 @@ local function create_line(x1, y1, x2, y2) }, {x=x1, y=y1}) end -create_info("awful.wibar", 200, 50, 100, 30) +naughty.connect_signal("request::display", function(n) + naughty.layout.box {notification = n} +end) + +naughty.notification { + title = "A notification", + message = "With a message! ....", + position = "top_middle", +} + +create_info("awful.wibar", 100, 50, 100, 30) create_info("awful.titlebar", 250, 350, 100, 30) create_info("awful.tooltip", 30, 130, 100, 30) create_info("awful.popup", 450, 240, 100, 30) +create_info("naughty.layout.box", 255, 110, 130, 30) create_info("Standard `wibox`", 420, 420, 130, 30) -create_line(250, 10, 250, 55) +create_line(150, 10, 150, 55) create_line(75, 100, 75, 135) create_line(545, 432, 575, 432) create_line(500, 165, 500, 245) create_line(390, 250, 450, 250) create_line(190, 365, 255, 365) +create_line(320, 60, 320, 110) --DOC_HIDE vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/tests/examples/naughty/actions.lua b/tests/examples/naughty/actions.lua index f21d73ef2..34cd8fd43 100644 --- a/tests/examples/naughty/actions.lua +++ b/tests/examples/naughty/actions.lua @@ -1,5 +1,6 @@ --DOC_NO_USAGE --DOC_HIDE_ALL +--DOC_GEN_IMAGE -- local naughty = require("naughty") dbus.notify_send( diff --git a/tests/examples/naughty/colors.lua b/tests/examples/naughty/colors.lua index 2149e4297..3a050ed29 100644 --- a/tests/examples/naughty/colors.lua +++ b/tests/examples/naughty/colors.lua @@ -1,3 +1,4 @@ +--DOC_GEN_IMAGE local beautiful = require("beautiful") --DOC_HIDE @@ -5,7 +6,9 @@ local text = [[An important notification ]] -require("naughty").notify { +--DOC_NEWLINE + +require("naughty").notification { title = "Hello world!", text = text, icon = beautiful.icon, diff --git a/tests/examples/naughty/helloworld.lua b/tests/examples/naughty/helloworld.lua index 5c6daecce..83eb95739 100644 --- a/tests/examples/naughty/helloworld.lua +++ b/tests/examples/naughty/helloworld.lua @@ -1,4 +1,5 @@ --DOC_HIDE_ALL +--DOC_GEN_IMAGE -- local naughty = require("naughty") dbus.notify_send( diff --git a/tests/examples/naughty/shape.lua b/tests/examples/naughty/shape.lua index b685b605c..e1a27657a 100644 --- a/tests/examples/naughty/shape.lua +++ b/tests/examples/naughty/shape.lua @@ -1,31 +1,36 @@ +--DOC_GEN_IMAGE --DOC_NO_USAGE local beautiful = require("beautiful") --DOC_HIDE local gears = {shape=require("gears.shape")} --DOC_HIDE local naughty = require("naughty") --DOC_HIDE -local text = [[An important -notification -]] + local text = [[An important + notification + ]] -local shapes = { - gears.shape.rounded_rect, - gears.shape.hexagon, - gears.shape.octogon, - function(cr, w, h) - return gears.shape.infobubble(cr, w, h, 20, 10, w/2 - 10) - end -} +--DOC_NEWLINE -for _, s in ipairs(shapes) do - naughty.notify { - title = "Hello world!", - text = text, - icon = beautiful.icon, - shape = s, - border_width = 3, - border_color = beautiful.bg_highlight, - margin = 15, - } -end + local shapes = { + gears.shape.rounded_rect, + gears.shape.hexagon, + gears.shape.octogon, + function(cr, w, h) + return gears.shape.infobubble(cr, w, h, 20, 10, w/2 - 10) + end + } + +--DOC_NEWLINE + + for _, s in ipairs(shapes) do + naughty.notify { + title = "Hello world!", + text = text, + icon = beautiful.icon, + shape = s, + border_width = 3, + border_color = beautiful.bg_highlight, + margin = 15, + } + end --DOC_HIDE vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/tests/examples/naughty/template.lua b/tests/examples/naughty/template.lua index ca51770dd..92fd5572d 100644 --- a/tests/examples/naughty/template.lua +++ b/tests/examples/naughty/template.lua @@ -1,3 +1,4 @@ +--DOC_GEN_IMAGE local file_path, image_path = ... require("_common_template")(...) local wibox = require("wibox") diff --git a/tests/examples/wibox/nwidget/actionlist/fancy.lua b/tests/examples/wibox/nwidget/actionlist/fancy.lua new file mode 100644 index 000000000..e607b5e65 --- /dev/null +++ b/tests/examples/wibox/nwidget/actionlist/fancy.lua @@ -0,0 +1,62 @@ +--DOC_GEN_IMAGE +local parent = ... --DOC_HIDE --DOC_NO_USAGE +local naughty = { --DOC_HIDE + list = {actions = require("naughty.list.actions")}, --DOC_HIDE + notification = require("naughty.notification"), --DOC_HIDE + action = require("naughty.action") --DOC_HIDE +} --DOC_HIDE +local gears = {shape = require("gears.shape")} --DOC_HIDE +local wibox = require("wibox") --DOC_HIDE +local beautiful = require("beautiful") --DOC_HIDE + + local notif = naughty.notification { --DOC_HIDE + title = "A notification", --DOC_HIDE + message = "This notification has actions!", --DOC_HIDE + actions = { --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Accept", --DOC_HIDE + }, --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Refuse", --DOC_HIDE + }, --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Ignore", --DOC_HIDE + }, --DOC_HIDE + } --DOC_HIDE + } --DOC_HIDE + +--DOC_NEWLINE + +parent:add( wibox.container.background(--DOC_HIDE + wibox.widget { + notification = notif, + base_layout = wibox.widget { + spacing = 3, + spacing_widget = wibox.widget { + orientation = "horizontal", + widget = wibox.widget.separator, + }, + layout = wibox.layout.fixed.vertical + }, + widget_template = { + { + { + { + id = "text_role", + widget = wibox.widget.textbox + }, + widget = wibox.container.place + }, + shape = gears.shape.rounded_rect, + shape_border_width = 2, + shape_border_color = beautiful.bg_normal, + forced_height = 30, + widget = wibox.container.background, + }, + margins = 4, + widget = wibox.container.margin, + }, + forced_width = 100, --DOC_HIDE + widget = naughty.list.actions, + } +,beautiful.bg_normal)) --DOC_HIDE diff --git a/tests/examples/wibox/nwidget/actionlist/fancy_icons.lua b/tests/examples/wibox/nwidget/actionlist/fancy_icons.lua new file mode 100644 index 000000000..d341a3cdf --- /dev/null +++ b/tests/examples/wibox/nwidget/actionlist/fancy_icons.lua @@ -0,0 +1,68 @@ +--DOC_GEN_IMAGE +local parent = ... --DOC_HIDE --DOC_NO_USAGE +local naughty = { --DOC_HIDE + list = {actions = require("naughty.list.actions")}, --DOC_HIDE + notification = require("naughty.notification"), --DOC_HIDE + action = require("naughty.action") --DOC_HIDE +} --DOC_HIDE +local wibox = require("wibox") --DOC_HIDE +local beautiful = require("beautiful") --DOC_HIDE + + local notif = naughty.notification { --DOC_HIDE + title = "A notification", --DOC_HIDE + message = "This notification has actions!", --DOC_HIDE + actions = { --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Accept", --DOC_HIDE + icon = beautiful.awesome_icon, --DOC_HIDE + }, --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Refuse", --DOC_HIDE + icon = beautiful.awesome_icon, --DOC_HIDE + }, --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Ignore", --DOC_HIDE + icon = beautiful.awesome_icon, --DOC_HIDE + }, --DOC_HIDE + } --DOC_HIDE + } --DOC_HIDE + +--DOC_NEWLINE + +parent:add( wibox.container.background(--DOC_HIDE + wibox.widget { + notification = notif, + forced_width = 250, --DOC_HIDE + base_layout = wibox.widget { + spacing = 3, + spacing_widget = wibox.widget { + orientation = "vertical", + widget = wibox.widget.separator, + }, + layout = wibox.layout.flex.horizontal + }, + widget_template = { + { + { + { + id = "icon_role", + forced_height = 16, + forced_width = 16, + widget = wibox.widget.imagebox + }, + { + id = "text_role", + widget = wibox.widget.textbox + }, + spacing = 5, + layout = wibox.layout.fixed.horizontal + }, + id = "background_role", + widget = wibox.container.background, + }, + margins = 4, + widget = wibox.container.margin, + }, + widget = naughty.list.actions, + } +,beautiful.bg_normal)) --DOC_HIDE diff --git a/tests/examples/wibox/nwidget/actionlist/simple.lua b/tests/examples/wibox/nwidget/actionlist/simple.lua new file mode 100644 index 000000000..672308a96 --- /dev/null +++ b/tests/examples/wibox/nwidget/actionlist/simple.lua @@ -0,0 +1,34 @@ +--DOC_GEN_IMAGE +local parent = ... --DOC_HIDE --DOC_NO_USAGE +local naughty = { --DOC_HIDE + list = {actions = require("naughty.list.actions")}, --DOC_HIDE + notification = require("naughty.notification"), --DOC_HIDE + action = require("naughty.action") --DOC_HIDE +} --DOC_HIDE +local wibox = require("wibox") --DOC_HIDE +local beautiful = require("beautiful") --DOC_HIDE + + local notif = naughty.notification { + title = "A notification", + message = "This notification has actions!", + actions = { + naughty.action { + name = "Accept", + }, + naughty.action { + name = "Refuse", + }, + naughty.action { + name = "Ignore", + }, + } + } + +--DOC_NEWLINE + +parent:add( wibox.container.background(--DOC_HIDE + wibox.widget { + notification = notif, + widget = naughty.list.actions, + } +,beautiful.bg_normal)) --DOC_HIDE diff --git a/tests/examples/wibox/nwidget/actionlist/style.lua b/tests/examples/wibox/nwidget/actionlist/style.lua new file mode 100644 index 000000000..c5cbdd1af --- /dev/null +++ b/tests/examples/wibox/nwidget/actionlist/style.lua @@ -0,0 +1,63 @@ +--DOC_GEN_IMAGE +local parent = ... --DOC_HIDE --DOC_NO_USAGE +local naughty = { --DOC_HIDE + list = {actions = require("naughty.list.actions")}, --DOC_HIDE + notification = require("naughty.notification"), --DOC_HIDE + action = require("naughty.action") --DOC_HIDE +} --DOC_HIDE +local gears = {shape = require("gears.shape")} --DOC_HIDE +local wibox = require("wibox") --DOC_HIDE +local beautiful = require("beautiful") --DOC_HIDE + + local notif = naughty.notification { --DOC_HIDE + title = "A notification", --DOC_HIDE + message = "This notification has actions!", --DOC_HIDE + actions = { --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Accept", --DOC_HIDE + icon = beautiful.awesome_icon, --DOC_HIDE + }, --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Refuse", --DOC_HIDE + icon = beautiful.awesome_icon, --DOC_HIDE + selected = true, --DOC_HIDE + }, --DOC_HIDE + naughty.action { --DOC_HIDE + name = "Ignore", --DOC_HIDE + icon = beautiful.awesome_icon, --DOC_HIDE + }, --DOC_HIDE + } --DOC_HIDE + } --DOC_HIDE + +--DOC_NEWLINE + +parent:add( wibox.container.margin(--DOC_HIDE + wibox.widget { + notification = notif, + forced_width = 250, --DOC_HIDE + base_layout = wibox.widget { + spacing = 3, + spacing_widget = wibox.widget { + orientation = "vertical", + widget = wibox.widget.separator, + }, + layout = wibox.layout.flex.horizontal + }, + style = { + underline_normal = false, + underline_selected = true, + shape_normal = gears.shape.octogon, + shape_selected = gears.shape.hexagon, + shape_border_width_normal = 2, + shape_border_width_selected = 4, + icon_size_normal = 16, + icon_size_selected = 24, + shape_border_color_normal = "#0000ff", + shape_border_color_selected = "#ff0000", + bg_normal = "#ffff00", + bg_selected = "#00ff00", + }, + forced_height = beautiful.get_font_height(beautiful.font) * 2.5, + widget = naughty.list.actions, + } +,0,0,5,5)) --DOC_HIDE diff --git a/tests/examples/wibox/nwidget/default.lua b/tests/examples/wibox/nwidget/default.lua new file mode 100644 index 000000000..3f670c2ce --- /dev/null +++ b/tests/examples/wibox/nwidget/default.lua @@ -0,0 +1,107 @@ +--DOC_GEN_IMAGE --DOC_HIDE_ALL +local parent = ... +local naughty = require("naughty") +local wibox = require("wibox") +local beautiful = require("beautiful") +local def = require("naughty.widget._default") +local acommon = require("awful.widget.common") +local aplace = require("awful.placement") +local gears = require("gears") + +beautiful.notification_bg = beautiful.bg_normal + +local notif = naughty.notification { + title = "A notification", + message = "This notification has actions!", + icon = beautiful.awesome_icon, + actions = { + naughty.action { + name = "Accept", + icon = beautiful.awesome_icon, + }, + naughty.action { + name = "Refuse", + icon = beautiful.awesome_icon, + }, + naughty.action { + name = "Ignore", + icon = beautiful.awesome_icon, + }, + } +} + +local default = wibox.widget(def) + +acommon._set_common_property(default, "notification", notif) + +local w, h = default:fit({dpi=96}, 9999, 9999) +default.forced_width = w + 25 +default.forced_height = h + +local canvas = wibox.layout.manual() +canvas.forced_width = w + 150 +canvas.forced_height = h + 100 + +canvas:add_at(default, aplace.centered) + +local function create_info(text, x, y, width, height) + canvas:add_at(wibox.widget { + { + { + text = text, + align = "center", + ellipsize = "none", + wrap = "word", + widget = wibox.widget.textbox + }, + top = 2, + bottom = 2, + left = 10, + right = 10, + widget = wibox.container.margin + }, + forced_width = width, + forced_height = height, + shape = gears.shape.rectangle, + shape_border_width = 1, + shape_border_color = beautiful.border_color, + bg = "#ffff0055", + widget = wibox.container.background + }, {x = x, y = y}) +end + +local function create_line(x1, y1, x2, y2) + return canvas:add_at(wibox.widget { + fit = function() + return x2-x1+6, y2-y1+6 + end, + draw = function(_, _, cr) + cr:set_source_rgb(0,0,0) + cr:set_line_width(1) + cr:arc(1.5, 1.5, 1.5, 0, math.pi*2) + cr:arc(x2-x1+1.5, y2-y1+1.5, 1.5, 0, math.pi*2) + cr:fill() + cr:move_to(1.5,1.5) + cr:line_to(x2-x1+1.5, y2-y1+1.5) + cr:stroke() + end, + layout = wibox.widget.base.make_widget, + }, {x=x1, y=y1}) +end + +create_info("naughty.widget.background", 10, canvas.forced_height - 30, nil, nil) +create_line(80, canvas.forced_height-55, 80, canvas.forced_height - 30) + +create_info("naughty.list.actions", 170, canvas.forced_height - 30, nil, nil) +create_line(200, canvas.forced_height-105, 200, canvas.forced_height - 30) + +create_info("naughty.widget.icon", 20, 25, nil, nil) +create_line(80, 40, 80, 60) + +create_info("naughty.widget.title", 90, 4, nil, nil) +create_line(140, 20, 140, 60) + +create_info("naughty.widget.message", 150, 25, nil, nil) +create_line(210, 40, 210, 75) + +parent:add(canvas) diff --git a/tests/examples/wibox/nwidget/icon/simple.lua b/tests/examples/wibox/nwidget/icon/simple.lua new file mode 100644 index 000000000..50cdac9ad --- /dev/null +++ b/tests/examples/wibox/nwidget/icon/simple.lua @@ -0,0 +1,22 @@ +--DOC_GEN_IMAGE +local parent = ... --DOC_HIDE +local naughty = { --DOC_HIDE + widget = { icon = require("naughty.widget.icon")}, --DOC_HIDE + notification = require("naughty.notification")} --DOC_HIDE +local wibox = require("wibox") --DOC_HIDE +local beautiful = require("beautiful") --DOC_HIDE + + local notif = naughty.notification { + title = "A notification", + message = "This notification has actions!", + icon = beautiful.awesome_icon, + } + +--DOC_NEWLINE + +parent:add( --DOC_HIDE + wibox.widget { + notification = notif, + widget = naughty.widget.icon, + } +) --DOC_HIDE diff --git a/tests/examples/wibox/nwidget/icon/strategy.lua b/tests/examples/wibox/nwidget/icon/strategy.lua new file mode 100644 index 000000000..f7e2563fe --- /dev/null +++ b/tests/examples/wibox/nwidget/icon/strategy.lua @@ -0,0 +1,62 @@ +--DOC_GEN_IMAGE +local parent = ... --DOC_HIDE_ALL +local naughty = { + widget = { icon = require("naughty.widget.icon")}, + notification = require("naughty.notification"), +} +local wibox = require("wibox") +local beautiful = require("beautiful") + +local notif = naughty.notification { + title = "A notification", + text = "This notification has actions!", + icon = beautiful.awesome_icon, + actions = { + ["Accept"] = function() end, + ["Refuse"] = function() end, + ["Ignore"] = function() end, + } +} + +local icons = {} + +for _, strategy in ipairs {"resize", "scale", "center" } do + table.insert(icons, wibox.widget { + { + { + resize_strategy = strategy, + notification = notif, + widget = naughty.widget.icon, + }, + bg = beautiful.bg_normal, + widget = wibox.container.background + }, + valign = "top", + halign = "left", + widget = wibox.container.place + }) +end + +parent:add( + wibox.widget { + { + markup = "resize:", + widget = wibox.widget.textbox, + }, + { + markup = "scale:", + widget = wibox.widget.textbox, + }, + { + markup = "center:", + widget = wibox.widget.textbox, + }, + icons[1], + icons[2], + icons[3], + forced_num_rows = 2, + forced_num_cols = 3, + spacing = 5, + widget = wibox.layout.grid, + } +) diff --git a/tests/examples/wibox/nwidget/message/simple.lua b/tests/examples/wibox/nwidget/message/simple.lua new file mode 100644 index 000000000..fd320e57d --- /dev/null +++ b/tests/examples/wibox/nwidget/message/simple.lua @@ -0,0 +1,22 @@ +--DOC_GEN_IMAGE +local parent = ... --DOC_HIDE +local naughty = { --DOC_HIDE + widget = { message = require("naughty.widget.message")}, --DOC_HIDE + notification = require("naughty.notification")} --DOC_HIDE +local wibox = require("wibox") --DOC_HIDE +local beautiful = require("beautiful") --DOC_HIDE + + local notif = naughty.notification { + title = "A notification", + message = "This notification no actions!", + icon = beautiful.awesome_icon, + } + +--DOC_NEWLINE + +parent:add( --DOC_HIDE + wibox.widget { + notification = notif, + widget = naughty.widget.message, + } +) --DOC_HIDE diff --git a/tests/examples/wibox/nwidget/title/simple.lua b/tests/examples/wibox/nwidget/title/simple.lua new file mode 100644 index 000000000..4553041a9 --- /dev/null +++ b/tests/examples/wibox/nwidget/title/simple.lua @@ -0,0 +1,22 @@ +--DOC_GEN_IMAGE +local parent = ... --DOC_HIDE +local naughty = { --DOC_HIDE + widget = { title = require("naughty.widget.title")}, --DOC_HIDE + notification = require("naughty.notification")} --DOC_HIDE +local wibox = require("wibox") --DOC_HIDE +local beautiful = require("beautiful") --DOC_HIDE + + local notif = naughty.notification { + title = "A notification", + message = "This notification no actions!", + icon = beautiful.awesome_icon, + } + +--DOC_NEWLINE + +parent:add( --DOC_HIDE + wibox.widget { + notification = notif, + widget = naughty.widget.title, + } +) --DOC_HIDE