#!/bin/bash
function keypress {
echo "press enter to continue..."
read key
}
function basic_notifications {
../../dunstify -a "dunst tester" "normal" "italic body"
../../dunstify -a "dunst tester" -u c "critical" "bold body"
../../dunstify -a "dunst tester" "long body" "This is a notification with a very long body"
../../dunstify -a "dunst tester" "duplucate"
../../dunstify -a "dunst tester" "duplucate"
../../dunstify -a "dunst tester" "duplucate"
../../dunstify -a "dunst tester" "url" "www.google.de"
}
function show_age {
echo "###################################"
echo "show age"
echo "###################################"
killall dunst
../../dunst -config dunstrc.show_age &
../../dunstify -a "dunst tester" -u c "Show Age" "These should print their age after 2 seconds"
basic_notifications
keypress
}
function run_script {
echo "###################################"
echo "run script"
echo "###################################"
killall dunst
PATH=".:$PATH" ../../dunst -config dunstrc.run_script &
../../dunstify -a "dunst tester" -u c \
"Run Script" "After Keypress, 2 other notification should pop up. THis needs notify-send installed"
keypress
../../dunstify -a "dunst tester" -u c "trigger" "this should trigger a notification"
keypress
}
function ignore_newline {
echo "###################################"
echo "ignore newline"
echo "###################################"
killall dunst
../../dunst -config dunstrc.ignore_newline_no_wrap &
../../dunstify -a "dunst tester" -u c "Ignore Newline No Wrap" "There should be no newline anywhere"
../../dunstify -a "dunst tester" -u c "Th\nis\n\n\n is\n fu\nll of \n" "\nnew\nlines"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.ignore_newline &
../../dunstify -a "dunst tester" -u c "Ignore Newline" \
"The only newlines you should encounter here are wordwraps. That's why I'm so long."
../../dunstify -a "dunst tester" -u c "Th\nis\n\n\n is\n fu\nll of \n" "\nnew\nlines"
basic_notifications
keypress
}
function replace {
echo "###################################"
echo "replace"
echo "###################################"
killall dunst
../../dunst -config dunstrc.default &
id=$(../../dunstify -a "dunst tester" -p "Replace" "this should get replaces after keypress")
keypress
../../dunstify -a "dunst tester" -r $id "Success?" "I hope this is not a new notification"
keypress
}
function markup {
echo "###################################"
echo "markup"
echo "###################################"
killall dunst
../../dunst -config dunstrc.markup "200x0+10+10" &
../../dunstify -a "dunst tester" "Markup Tests" -u "c"
../../dunstify -a "dunst tester" "bold italic"
../../dunstify -a "dunst tester" "broken markup"
keypress
killall dunst
../../dunst -config dunstrc.nomarkup "200x0+10+10" &
../../dunstify -a "dunst tester" -u c "NO Markup Tests"
../../dunstify -a "dunst tester" "bolditalic"
../../dunstify -a "dunst tester" "broken markup"
keypress
}
function corners {
echo "###################################"
echo "corners"
echo "###################################"
killall dunst
../../dunst -config dunstrc.default -geom "200x0+10+10" &
../../dunstify -a "dunst tester" -u c "upper left"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "200x0-10+10" &
../../dunstify -a "dunst tester" -u c "upper right"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "200x0-10-10" &
../../dunstify -a "dunst tester" -u c "lower right"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "200x0+10-10" &
../../dunstify -a "dunst tester" -u c "lower left"
basic_notifications
keypress
}
function geometry {
echo "###################################"
echo "geometry"
echo "###################################"
killall dunst
../../dunst -config dunstrc.default -geom "0x0" &
../../dunstify -a "dunst tester" -u c "0x0"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "200x0" &
../../dunstify -a "dunst tester" -u c "200x0"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "200x2" &
../../dunstify -a "dunst tester" -u c "200x2"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "200x1" &
../../dunstify -a "dunst tester" -u c "200x1"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "0x1" &
../../dunstify -a "dunst tester" -u c "0x1"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "-300x1" &
../../dunstify -a "dunst tester" -u c "-300x1"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "-300x1-20-20" &
../../dunstify -a "dunst tester" -u c "-300x1-20-20"
basic_notifications
keypress
killall dunst
../../dunst -config dunstrc.default -geom "x1" &
../../dunstify -a "dunst tester" -u c "x1-20-20" "across the screen"
basic_notifications
keypress
}
if [ -n "$1" ]; then
while [ -n "$1" ]; do
$1
shift
done
else
geometry
corners
show_age
run_script
ignore_newline
replace
markup
fi
killall dunst