Recently Written · git

dmenu-scripts

Ask for things

git clone https://github.com/equwal/dmenu-scripts

Log | Files | Refs


dtimer (3277 bytes)

1 #!/usr/bin/env sh
2 
3 # Dmenu for starting a timer.
4 # Takes one optional argument for a WAV file sound alert.
5 # Requires a monospace font for dmenu to display the TIME'S UP text correctly.
6 
7 Duration=$(printf '' | dmenu -i -l 30 -p "Current time: $(date +"%H:%M - %A %Y/%m/%d") | Timer duration (min):")
8 [ -z "$Duration" ] && exit 1
9 
10 Name=$(printf '' | dmenu -p 'Name your timer:')
11 
12 TimesUpMessage="Name: $Name Duration: $Duration
13                                                                                        ''''''
14 TTTTTTTTTTTTTTTTTTTTTTTIIIIIIIIIIMMMMMMMM               MMMMMMMMEEEEEEEEEEEEEEEEEEEEEE '::::'   SSSSSSSSSSSSSSS      UUUUUUUU     UUUUUUUUPPPPPPPPPPPPPPPPP
15 T:::::::::::::::::::::TI::::::::IM:::::::M             M:::::::ME::::::::::::::::::::E '::::' SS:::::::::::::::S     U::::::U     U::::::UP::::::::::::::::P
16 T:::::::::::::::::::::TI::::::::IM::::::::M           M::::::::ME::::::::::::::::::::E ':::''S:::::SSSSSS::::::S     U::::::U     U::::::UP::::::PPPPPP:::::P
17 T:::::TT:::::::TT:::::TII::::::IIM:::::::::M         M:::::::::MEE::::::EEEEEEEEE::::E':::'  S:::::S     SSSSSSS     UU:::::U     U:::::UUPP:::::P     P:::::P
18 TTTTTT  T:::::T  TTTTTT  I::::I  M::::::::::M       M::::::::::M  E:::::E       EEEEEE''''   S:::::S                  U:::::U     U:::::U   P::::P     P:::::P
19         T:::::T          I::::I  M:::::::::::M     M:::::::::::M  E:::::E                    S:::::S                  U:::::D     D:::::U   P::::P     P:::::P
20         T:::::T          I::::I  M:::::::M::::M   M::::M:::::::M  E::::::EEEEEEEEEE           S::::SSSS               U:::::D     D:::::U   P::::PPPPPP:::::P
21         T:::::T          I::::I  M::::::M M::::M M::::M M::::::M  E:::::::::::::::E            SS::::::SSSSS          U:::::D     D:::::U   P:::::::::::::PP
22         T:::::T          I::::I  M::::::M  M::::M::::M  M::::::M  E:::::::::::::::E              SSS::::::::SS        U:::::D     D:::::U   P::::PPPPPPPPP
23         T:::::T          I::::I  M::::::M   M:::::::M   M::::::M  E::::::EEEEEEEEEE                 SSSSSS::::S       U:::::D     D:::::U   P::::P
24         T:::::T          I::::I  M::::::M    M:::::M    M::::::M  E:::::E                                S:::::S      U:::::D     D:::::U   P::::P
25         T:::::T          I::::I  M::::::M     MMMMM     M::::::M  E:::::E       EEEEEE                   S:::::S      U::::::U   U::::::U   P::::P
26       TT:::::::TT      II::::::IIM::::::M               M::::::MEE::::::EEEEEEEE:::::E       SSSSSSS     S:::::S      U:::::::UUU:::::::U PP::::::PP
27       T:::::::::T      I::::::::IM::::::M               M::::::ME::::::::::::::::::::E       S::::::SSSSSS:::::S       UU:::::::::::::UU  P::::::::P
28       T:::::::::T      I::::::::IM::::::M               M::::::ME::::::::::::::::::::E       S:::::::::::::::SS          UU:::::::::UU    P::::::::P
29       TTTTTTTTTTT      IIIIIIIIIIMMMMMMMM               MMMMMMMMEEEEEEEEEEEEEEEEEEEEEE        SSSSSSSSSSSSSSS              UUUUUUUUU      PPPPPPPPPP
30 "
31 
32 if Error=$(sleep $(( $Duration * 60 )) 2>&1); then
33     [ "${1##*.}" = 'wav' ] && aplay "$1" &
34     Repeat=$(printf "$TimesUpMessage\ny\nn\n%s" | dmenu -l 32 -p "New timer? [y/n]")
35     echo "$Repeat"
36     [ "$Repeat" = "y" ] && sh -c "$0 $1"
37 else
38     printf '%s' "$Error" | dmenu -l 30 -p 'ERROR:'
39 fi