//左下のメッセージ
var todcTrigger=null;
function todo(mes){
clearInterval(todcTrigger);
$('#message').text(mes);
$('#message').fadeIn();
todcTrigger=setTimeout(todc, 4000);
}
function todc(){
$('#message').fadeOut();
}
//reverse
function bottomReverse(){
$("#bottom").toggleClass("reverse");
$(".leftside").toggleClass("reverse");
if($("#bottom").hasClass("reverse")){
localStorage.removeItem("reverse")
}else{
localStorage.setItem("reverse","true")
}
}
function tips(mode){
var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('endmem', "");
clearInterval(clockint);
clearInterval(spotStart);
if(mode=="ver"){
tipsToggle()
$("#tips-text").html('TheDesk '+localStorage.getItem("ver")+'[supervisor_account1+]')
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()
}else if(mode=="spotify"){
tipsToggle()
localStorage.setItem("tips","spotify")
var json=nowplaying("spotifytips")
spotifytips(json)
}
}
//メモリ
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+"
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 + '#' + tag + ' TL Toot
';
});
$("#tips-text").html('
トレンドタグrefresh:
' + tags+'
');
trendTagonTipInterval()
}else{
$("#tips-text").html("");
}
});
}
//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;i0){
artisttxt=artisttxt+","+item.artists[i].name;
}else{
artisttxt=item.artists[0].name;
}
}
artisttxt=escapeHTML(artisttxt);
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;
$("#tips-text").html('refresh'+escapeHTML(item.name)+'
'+artisttxt+''+m+':
'+s+'/'+tm+":"+ts+'
');
spotint=setInterval(spotStart, 1000);
});
}else{
alert(lang_spotify_acct[lang]);
}
}
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+"%");
}
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 }
var msg = nowTime.getFullYear()+"/"+(nowTime.getMonth()+1)+"/"+nowTime.getDate()+''+nowHour + ":" + nowMin + ":" + nowSec+"";
$("#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"));
}