2018-01-28 23:22:43 +11:00
|
|
|
|
//左下のメッセージ
|
|
|
|
|
function todo(mes){
|
|
|
|
|
$('#message').text(mes);
|
|
|
|
|
$('#message').fadeIn();
|
|
|
|
|
}
|
|
|
|
|
function todc(){
|
|
|
|
|
$('#message').fadeOut();
|
|
|
|
|
}
|
2018-07-28 07:25:12 +10:00
|
|
|
|
function tips(mode){
|
|
|
|
|
var electron = require("electron");
|
|
|
|
|
var ipc = electron.ipcRenderer;
|
|
|
|
|
ipc.send('endmem', "");
|
|
|
|
|
clearInterval(clockint);
|
2018-07-29 17:37:54 +10:00
|
|
|
|
clearInterval(spotStart);
|
2018-07-28 07:25:12 +10:00
|
|
|
|
if(mode=="ver"){
|
|
|
|
|
tipsToggle()
|
2018-08-29 20:17:34 +10:00
|
|
|
|
$("#tips-text").html('<img src="./img/desk.png" width="20"><span style="font-size:20px">TheDesk</span> '+localStorage.getItem("ver")+'[<i class="material-icons" style="font-size:1.2rem;top: 3px;position: relative;">supervisor_account</i><span id="persons"></span>]')
|
2018-07-28 07:25:12 +10:00
|
|
|
|
localStorage.setItem("tips","ver")
|
|
|
|
|
}else if(mode=="clock"){
|
|
|
|
|
tipsToggle()
|
|
|
|
|
localStorage.setItem("tips","clock")
|
|
|
|
|
clock()
|
|
|
|
|
}else if(mode=="memory"){
|
|
|
|
|
tipsToggle()
|
|
|
|
|
localStorage.setItem("tips","memory")
|
|
|
|
|
startmem();
|
|
|
|
|
}else if(mode=="trend"){
|
|
|
|
|
tipsToggle()
|
|
|
|
|
localStorage.setItem("tips","trend")
|
|
|
|
|
trendTagonTip()
|
2018-07-29 17:37:54 +10:00
|
|
|
|
}else if(mode=="spotify"){
|
|
|
|
|
tipsToggle()
|
|
|
|
|
localStorage.setItem("tips","spotify")
|
|
|
|
|
var json=nowplaying("spotifytips")
|
|
|
|
|
spotifytips(json)
|
2018-07-28 07:25:12 +10:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//メモリ
|
|
|
|
|
function startmem(){
|
|
|
|
|
var electron = require("electron");
|
|
|
|
|
var ipc = electron.ipcRenderer;
|
|
|
|
|
ipc.send('startmem', "");
|
|
|
|
|
ipc.on('memory', function (event, arg) {
|
|
|
|
|
var use=arg[0];
|
|
|
|
|
var cpu=arg[1];
|
|
|
|
|
var total=arg[2]
|
|
|
|
|
$("#tips-text").html(cpu+"<br>Memory:"+Math.floor(use/1024/1024/102.4)/10+"/"+Math.floor(total/1024/1024/102.4)/10+"GB("+Math.floor(use/total*100)+"%)")
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
//トレンドタグ
|
|
|
|
|
function trendTagonTip(){
|
|
|
|
|
$(".trendtag").remove();
|
|
|
|
|
var domain="imastodon.net"
|
|
|
|
|
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
|
|
|
|
var start = "https://" + domain + "/api/v1/trend_tags"
|
|
|
|
|
console.log(start)
|
|
|
|
|
fetch(start, {
|
|
|
|
|
method: 'GET',
|
|
|
|
|
headers: {
|
|
|
|
|
'content-type': 'application/json',
|
|
|
|
|
'Authorization': 'Bearer ' + at
|
|
|
|
|
},
|
|
|
|
|
}).then(function(response) {
|
|
|
|
|
return response.json();
|
|
|
|
|
}).catch(function(error) {
|
|
|
|
|
todo(error);
|
|
|
|
|
console.error(error);
|
|
|
|
|
}).then(function(json) {
|
|
|
|
|
if (json) {
|
|
|
|
|
var tags="";
|
|
|
|
|
json=json.score;
|
|
|
|
|
Object.keys(json).forEach(function(tag) {
|
|
|
|
|
tags = tags + '<a onclick="tagShow(\'' + tag + '\')" class="pointer">#' + tag + '</a><span class="hide" data-tag="' + tag + '"> <a onclick="tagTL(\'tag\',\'' + tag + '\',false,\'add\')" class="pointer" title="#' + tag + 'のタイムライン">TL</a> <a onclick="show();brInsert(\'#' + tag + '\')" class="pointer" title="#' + tag + 'でトゥート">Toot</a></span><br>';
|
|
|
|
|
});
|
|
|
|
|
$("#tips-text").html('<div class="trendtag">トレンドタグ<i class="material-icons pointer" onclick="trendTagonTip()" style="font-size:12px">refresh</i>:<br>' + tags+'</div>');
|
|
|
|
|
trendTagonTipInterval()
|
|
|
|
|
}else{
|
|
|
|
|
$("#tips-text").html("");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
2018-07-29 17:37:54 +10:00
|
|
|
|
//Spotify
|
|
|
|
|
function spotifytips(){
|
|
|
|
|
var start = "https://thedesk.top/now-playing?at="+localStorage.getItem("spotify")+"&rt="+localStorage.getItem("spotify-refresh");
|
|
|
|
|
var at = localStorage.getItem("spotify");
|
|
|
|
|
if(at){
|
|
|
|
|
fetch(start, {
|
|
|
|
|
method: 'GET',
|
|
|
|
|
headers: {
|
|
|
|
|
'content-type': 'application/json'
|
|
|
|
|
}
|
|
|
|
|
}).then(function(response) {
|
|
|
|
|
return response.json();
|
|
|
|
|
}).catch(function(error) {
|
|
|
|
|
todo(error);
|
|
|
|
|
console.error(error);
|
|
|
|
|
}).then(function(json) {
|
|
|
|
|
console.log(json);
|
|
|
|
|
var ms=json.progress_ms;
|
|
|
|
|
var last=1000-ms%1000;
|
|
|
|
|
var item=json.item;
|
|
|
|
|
var img=item.album.images[0].url;
|
|
|
|
|
var artisttxt="";
|
|
|
|
|
for(i=0;i<item.artists.length;i++){
|
|
|
|
|
if(i>0){
|
|
|
|
|
artisttxt=artisttxt+","+item.artists[i].name;
|
|
|
|
|
}else{
|
|
|
|
|
artisttxt=item.artists[0].name;
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-08-29 20:17:34 +10:00
|
|
|
|
artisttxt=escapeHTML(artisttxt);
|
2018-07-29 17:37:54 +10:00
|
|
|
|
sleep(last);
|
|
|
|
|
var tms=item.duration_ms;
|
|
|
|
|
var per=ms/item.duration_ms*100;
|
|
|
|
|
ms=ms/1000;
|
|
|
|
|
tms=tms/1000;
|
|
|
|
|
var s=Math.round(ms)%60;
|
|
|
|
|
if(s<10){
|
|
|
|
|
s="0"+s;
|
|
|
|
|
}
|
|
|
|
|
var m=(Math.round(ms)-Math.round(ms)%60)/60;
|
|
|
|
|
var ts=Math.round(tms)%60;
|
|
|
|
|
if(ts<10){
|
|
|
|
|
ts="0"+ts;
|
|
|
|
|
}
|
|
|
|
|
var tm=(Math.round(tms)-Math.round(tms)%60)/60;
|
2018-08-29 20:17:34 +10:00
|
|
|
|
$("#tips-text").html('<div id="spot-box"><i class="material-icons pointer" onclick="spotifytips()" style="font-size:12px">refresh</i><img src="'+img+'" width="20" id="spot-img">'+escapeHTML(item.name)+'<span class="gray sml" id="spot-art">'+artisttxt+'</span><span id="spot-m">'+m+'</span>:<span id="spot-s">'+s+'</span>/'+tm+":"+ts+'</span></div><div class="progress grey"><div class="determinate spotify-prog grey lighten-2" style="width: '+per+'%" data-s="'+Math.round(ms)+'" data-total="'+item.duration_ms+'"></div></div>');
|
2018-07-29 17:37:54 +10:00
|
|
|
|
spotint=setInterval(spotStart, 1000);
|
|
|
|
|
});
|
|
|
|
|
}else{
|
2018-07-29 19:43:08 +10:00
|
|
|
|
alert(lang_spotify_acct[lang]);
|
2018-07-29 17:37:54 +10:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
function spotStart(){
|
|
|
|
|
var total=$(".spotify-prog").attr("data-total");
|
|
|
|
|
var s=$(".spotify-prog").attr("data-s");
|
|
|
|
|
var news=s*1+1;
|
|
|
|
|
var per=news*100000/total;
|
|
|
|
|
var ns=news%60;
|
|
|
|
|
var nm=(news-ns)/60;
|
|
|
|
|
if(ns<10){
|
|
|
|
|
ns="0"+ns;
|
|
|
|
|
}
|
|
|
|
|
if(per>=100){
|
|
|
|
|
clearInterval(spotStart);
|
|
|
|
|
spotifytips()
|
|
|
|
|
}else{
|
|
|
|
|
$("#spot-m").text(nm);
|
|
|
|
|
$("#spot-s").text(ns);
|
|
|
|
|
}
|
|
|
|
|
$(".spotify-prog").attr("data-s",news);
|
|
|
|
|
$(".spotify-prog").css("width",per+"%");
|
|
|
|
|
}
|
|
|
|
|
|
2018-07-28 07:25:12 +10:00
|
|
|
|
|
|
|
|
|
function trendTagonTipInterval(){
|
|
|
|
|
setTimeout(trendTagonTip, 6000000);
|
|
|
|
|
}
|
|
|
|
|
//時計
|
|
|
|
|
var clockint;
|
|
|
|
|
function clock(){
|
|
|
|
|
var now=new Date();
|
|
|
|
|
var last=1000-now.getTime()%1000;
|
|
|
|
|
sleep(last);
|
|
|
|
|
clockint=setInterval(clockStart, 1000);
|
|
|
|
|
}
|
|
|
|
|
function clockStart(){
|
|
|
|
|
var nowTime = new Date(); // 現在日時を得る
|
|
|
|
|
var nowHour = nowTime.getHours(); // 時を抜き出す
|
|
|
|
|
if(nowHour<10){nowHour="0"+nowHour }
|
|
|
|
|
var nowMin = nowTime.getMinutes(); // 分を抜き出す
|
|
|
|
|
if(nowMin<10){nowMin="0"+nowMin }
|
|
|
|
|
var nowSec = nowTime.getSeconds(); // 秒を抜き出す
|
|
|
|
|
if(nowSec<10){nowSec="0"+nowSec }
|
2018-07-29 19:43:08 +10:00
|
|
|
|
var msg = nowTime.getFullYear()+"/"+(nowTime.getMonth()+1)+"/"+nowTime.getDate()+'<span style="font-size:20px; font-family:Open Sans">'+nowHour + ":" + nowMin + ":" + nowSec+"</span>";
|
2018-07-28 07:25:12 +10:00
|
|
|
|
$("#tips-text").html(msg);
|
|
|
|
|
}
|
|
|
|
|
function sleep(waitMsec) {
|
|
|
|
|
var startMsec = new Date();
|
|
|
|
|
while (new Date() - startMsec < waitMsec);
|
|
|
|
|
}
|
|
|
|
|
function tipsToggle(){
|
|
|
|
|
$("#tips").toggleClass("hide");
|
|
|
|
|
$("#tips-menu").toggleClass("hide");
|
|
|
|
|
}
|
|
|
|
|
if(localStorage.getItem("tips")){
|
|
|
|
|
tips(localStorage.getItem("tips"));
|
|
|
|
|
}
|
|
|
|
|
|