残業、遅刻、夜更かしを防ぐHTML がとても有用な(気がした)ので、思わず作りました。
HTML5のNotificationを使って淡々と通知してもらいます。
これでタブを切り替えず、お手軽に帰りたい気持ちになれますね。
通知の部分はこんな感じです。(全コード)
var n;
update();
setInterval(update, 60 * 1000);
function update() {
/* 略 */
var time = hour + ":" + minute;
if(n) {
n.close();
}
var options = {
body: "\n\n頃です。",
icon: generateIcon(time)
};
n = new Notification('今帰ると帰宅時間は', options);
}
// 時間アイコンを作成する
function generateIcon(time) {
var canvas = document.createElement('canvas');
canvas.width = 130;
canvas.height = 130;
var context = canvas.getContext('2d');
context.strokeStyle = '#3e3e3e';
context.strokeRect(5, 5, 120, 120);
// 文字関連
context.font = 'bold 80px Arial';
context.textAlign = 'center';
context.textBaseline = 'middle';
context.fillStyle = '#000';
context.fillText(time, 64, 64, 110);
return canvas.toDataURL();
}
見ての通りブラウザが対応してるかとか何一つ確認していません。通知の許可も取りません。
FireFoxで動いたのだけ確認しました。
あと、通知内の文字列が変更できないのと、自動で閉じるまでの時間が設定できなかったので、
一定時間で勝手に閉じた後に新しい通知が表示される、という挙動になっており非常に目障りです。
副作用として、「通知がうるさいからやる気なくした、今日は帰ろう。」という気持ちになるかもしれせん。
追記
まぁ、次の展開としては当然こうなりますよね。
http://notify-my-time.herokuapp.com/returnhome
(ソースコード)