package Ġcom . github . ch ristop h pick l . k pot p our ri . common . os Ċ Ċ import Ġcom . github . ch ristop h pick l . k pot p our ri . common . process . Execute Context Ċ import Ġcom . github . ch ristop h pick l . k pot p our ri . common . process . Process Executer Impl Ċ import Ġmu . Kotlin Logging . logger Ċ Ċ class ĠNot ifier Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog Ġ= Ġlogger Ġ{} ĊĠĠĠ Ġprivate Ġval Ġos Ġ= ĠOs Sn iffer . os ĊĠĠĠ Ġprivate Ġvar Ġwarning Print ed Ġ= Ġfalse ĊĊĠĠĠ Ġfun Ġdisplay ( notification : ĠNotification ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( os Ġ== ĠOs . Mac ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProcess Executer Impl . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommand Ġ= Ġ" os as cript ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs Ġ= ĠlistOf ("- e ", Ġ" display Ġnotification Ġ\" ${ notification . message }\" Ġwith Ġtitle Ġ\" ${ notification . title }\ "" ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= ĠExecute Context ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuppress Output Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! warning Print ed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Print ed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . warn Ġ{ Ġ" Your Ġoperating Ġsystem Ġis Ġnot Ġsupported Ġfor Ġnotifications Ġ: (" Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ data Ġclass ĠNotification ( ĊĠĠĠ Ġval Ġtitle : ĠString , ĊĠĠĠ Ġval Ġmessage : ĠString Ċ ) Ċ