port calender.js to gdbus