<!doctype html> <html lang="@@lang@@"> <head> <title>Settings - TheDesk</title> @@comment-start@@ <script type="text/javascript"> var _jipt = []; _jipt.push(['project', 'thedesk']); </script> <script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script> @@comment-end@@ <meta content="width=device-width,initial-scale=1.0" name="viewport"> <link href="../../css/materialize.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/pickr.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet"> <link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'> <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet"> <meta charset="utf-8"> <style>input{max-height:50px!important} .pcr-result{height:1rem !important;}</style> </head> <body id="mainView" style="overflow-y:scroll"> <script type="text/javascript" src="../../js/common/jquery.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script> <script type="text/javascript" src="../../js/common/materialize.js"></script> <script type="text/javascript" src="../../js/lang/lang.@@lang@@.js"></script> <script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script> <script src="../../node_modules/vue/dist/vue.min.js"></script> <script type="text/javascript" src="setting.vue.js"></script> <h4>@@setting@@</h4> <ul class="collapsible" data-collapsible="accordion"> <li> <div class="collapsible-header"> <i class="material-icons">desktop_windows</i>@@env@@ </div> <div class="collapsible-body"> <h5>@@setlang@@</h5> To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br> @@langlist@@ <h5>@@backup@@</h5> <button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">@@export@@</button> <button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">@@import@@</button> <div id="envView"> <template v-for="(item, i) in config"> <h5>{{item.text.head}}</h5> <templete v-html=item.text.desc></templete><br> <template v-if="item.id=='notf'"><a onclick="notftest()" class="pointer">@@nntest@@</a><br></template> <template v-if="item.checkbox"> <template v-for="(check, j) in item.text.checkbox"> <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" /> <label v-bind:for="item.id+check.value">{{check.text}}</label> </template> </template> <template v-else> <template v-if="item.doubleText"> <template v-for="(textbox, j) in item.data"> <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}} </template> </template> <template v-else> <input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}} </template> <button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">@@change@@</button> </template> </template> </div> <h5>@@font@@</h5> @@fontwarn@@<br> <button class="btn waves-effect" style="width:100px;" onclick="font()">@@select@@</button><br> <div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div> <br> <input type="text" style="width:150px" id="font"> <button class="btn waves-effect" style="width:100px;" onclick="settings()">@@set@@</button> <br> <h5>@@savefolder@@</h5> @@savefolderwarn@@<br> <button class="btn waves-effect" style="width:100px;" onclick="savefolder()">@@change@@</button> <br> </div> </li> <li> <div class="collapsible-header"> <i class="material-icons">color_lens</i>@@theme@@ </div> <div class="collapsible-body"> <h4>@@themeSel@@</h4> <input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" /> <label for="black">Black</label> <input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" /> <label for="white">White</label> <input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" /> <label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label> <input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" /> <label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label> <input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" /> <label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label> <input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" /> <label for="custom">Custom</label> <div style="width:300px" id="sel-selector"> <select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select> </div> <h4>@@customtheme@@</h4> <div style="width:300px" id="edit-selector" data-add="@@add_new@@"> <select id="custom-edit-sel" class="custom-sel" onchange="custom()"> <option value="add_new">@@add_new@@</option> </select> </div> <h5>@@name@@</h5> <input type="text" style="width:300px" id="custom_name" placeholder="@@name@@..."> <h5>@@desc@@</h5> <div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="@@desc@@..."></textarea></div> <h5>@@customthemeDirection@@</h5> <input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" /> <label for="dark">Dark</label> <input class="with-gap" name="derection" type="radio" id="light" value="light" /> <label for="light">Light</label> <div id="pickers"> <div> <h5>Primary</h5>@@secondarycolor@@ <div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div> <input type="hidden" id="color-picker0_value"> </div> <div> <h5>Secondary</h5>@@primary@@ <div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div> <input type="hidden" id="color-picker1_value"> </div> <div> <h5>Texts</h5>@@text@@ <div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div> <input type="hidden" id="color-picker2_value"> </div> <div> <h5>Accent</h5>@@accent@@ <div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div> <input type="hidden" id="color-picker3_value"> </div> </div> <button class="btn-large waves-effect" onclick="customComp()">@@change@@</button> <button class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">@@delete@@</button><br><br> <input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br> @@customShare@@ <h4>@@customImport@@</h4> @@cImpWarn@@<br> <input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style"> <button class="btn waves-effect" onclick="customImp()">@@import@@</button><br> </li> <li> <div class="collapsible-header"> <i class="material-icons">reorder</i>@@timeline@@ </div> <div class="collapsible-body"> <div id="tlView"> <template v-for="(item, i) in config"> <h5>{{item.text.head}}</h5> {{item.text.desc}}<br> <template v-if="item.checkbox"> <template v-for="(check, j) in item.text.checkbox"> <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" /> <label v-bind:for="item.id+check.value">{{check.text}}</label> </template> </template> <template v-else> <template v-if="item.doubleText"> <template v-for="(textbox, j) in item.data"> <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}} </template> </template> <template v-else> <input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}} </template> <button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">@@change@@</button> </template> </template> </div> </div> </li> <li> <div class="collapsible-header"> <i class="material-icons">send</i>@@post@@ </div> <div class="collapsible-body"> <div id="postView"> <template v-for="(item, i) in config"> <h5>{{item.text.head}}</h5> {{item.text.desc}}<br> <template v-if="item.checkbox"> <template v-for="(check, j) in item.text.checkbox"> <template v-if="!check.kirishima || (check.kirishima && kirishima)"> <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" /> <label v-bind:for="item.id+check.value">{{check.text}}</label> <span v-if="check.kirishimaText">{{check.kirishimaText}}</span> </template> </template> </template> <template v-else> <template v-if="item.doubleText"> <template v-for="(textbox, j) in item.data"> <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}} </template> </template> <template v-else> <input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}} </template> <button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">@@change@@</button> </template> </template> </div> </div> </li> <li> <div class="collapsible-header"> <i class="material-icons">keyboard</i>@@keysc@@ </div> <div class="collapsible-body"> <h5>@@iks@@</h5> @@okswarn@@<br> Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1"> <button onclick="oks(1)" class="btn waves-effect" style="width:100px;">@@set@@</button><br><br> Ctrl+Shift+2:<input type="text" style="width:150px" id="oks-2"> <button onclick="oks(2)" class="btn waves-effect" style="width:100px;">@@set@@</button><br><br> Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3"> <button onclick="oks(3)" class="btn waves-effect" style="width:100px;">@@set@@</button><br><br> </div> </li> <li> <div class="collapsible-header"> <i class="material-icons">bookmark</i>@@muteemp@@ </div> <div class="collapsible-body"> <h5>@@climute@@</h5> <div id="mute-cli"></div> <h5>@@cliemp@@</h5> @@cliwarn@@ <h5>@@wordmute@@</h5> @@enter@@<br> <div class="chips" id="wordmute" style="background-color:gray;"></div> <button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">@@set@@</button> <h5>@@wordemp@@</h5> @@enter@@<br> <div class="chips" id="wordemp" style="background-color:gray;"></div> <button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">@@set@@</button> <h5>@@useremp@@</h5> @@useerempwarn@@ <span class="emphasized"> @@empcolorwarn@@ </span> </div> </li> <li> <div class="collapsible-header"> <i class="fa fa-spotify"></i>@@spotify@@ </div> <div class="collapsible-body"> <h5>@@npProvider@@</h5> @@npPeoviderWarn@@<br> <input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" /> <label for="aimp">AIMP</label> <input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" /> <label for="itunes">iTunes</label> <input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" /> <label for="npmm">MediaMonkey</label> <input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" /> <label for="winamp">Winamp</label> <input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" /> <label for="wmp">WMP</label> <input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" /> <label for="wlm">WLM</label> <input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" /> <label for="cad">CAD</label><br><br> @@spotifynote1@@<i class="material-icons" style="font-size:24px;">music_note</i>@@spotifynote2@@<br> <h5>@@link@@</h5> @@linkwarn@@<br> <div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">@@set@@</button></div> <a onclick="spotifyConnect()" class="btn waves-effect nex" style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-enable"><i class="fa fa-spotify left"></i>@@connect@@</a> <a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled" style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i class="fa fa-spotify left"></i>@@disconnect@@</a> <h5>@@templeteedit@@</h5> @@templeteeditwarn@@<br> <textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist} {url}</textarea><br> @@templete1@@<br> @@templete2@@<br> @@templete3@@<br> <span class="imas hide">CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。<br> CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。</span><br> <button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">@@set@@</button> <h5>@@postartwork@@</h5> <span class="imas hide">この設定はCINDERELLA NowPlaying(imastodon.net限定)にも適用されます。</span><br> <input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" /> <label for="awk_yes">@@yes@@</label> <input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" /> <label for="awk_no">@@no@@</label> <br> </div> </li> <li> <div class="collapsible-header"> <i class="material-icons">hearing</i>@@tts@@ </div> <div class="collapsible-body"> <h5>@@speed@@</h5> @@speedwarn@@<br> <p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10" style="width:500px; max-width:100%"/></p> <h5>@@pitch@@</h5> @@pitchwarn@@<br> <p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50" style="width:500px; max-width:100%"/></p> <h5>@@vol@@</h5> @@volwarn@@<br> <p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100" style="width:500px; max-width:100%"/></p> <h5>@@test@@</h5> <input type="text" style="width:350px" id="voicetxt" value="@@sample@@"> <button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()" id="testplay">@@playstop@@</button><br> <br> <button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">@@set@@</button> </div> </li> </ul> <br> <a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>@@back@@</a> <br> <br>@@keyscs@@ <li>Ctrl+1-9:@@keyscr@@</li> <li>N:@@keynew@@</li> <li>X:@@keytoggle@@</li> <li>Ctrl+Enter:@@keypost@@</li> <li>Ctrl+Enter+Shift:@@keysecpost@@</li> <li>Alt+Enter:@@secondary@@</li> <li>Ctrl+E:@@keyunread@@</li> <li>Esc:@@keyesc@@</li> <li>F5:@@keyf5@@</li> <li>Ctrl+Shift+C:@@keyclear@@</li> <li>Ctrl+Shift+S:@@setting@@</li> <li>Ctrl+Shift+M:@@keyacctman@@</li> <li>Ctrl+Shift+N:NowPlaying(Spotify)</li> <li>Ctrl+Shift+P:@@keyshowprof@@</li> <li>←/→:@@keyrow@@</li> <li>@@keyzoom@@</li> <div class="hide kirishima"> 以下Markdownに対応したインスタンスのみ。 <br> <li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li> <li>Shift+Enter:全角スペースを入れて改行</li> <li>Shift+Space:ゼロ幅スペース</li> 以下アスタルテにログインしている場合のみ <br> <li>Ctrl+R: <a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く </li><br> </div> <button class="btn waves-effect red" style="width:100%; max-width:500px;" onclick="if(confirm('@@resetconfirm@@')){ localStorage.clear(); location.href='index.html'; }"><i class="material-icons left">delete</i>@@reset@@</button><br><br> <button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i class="material-icons left">info</i>@@about@@</button> <a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">web</i>@@hp@@</a> <a href="https://enty.jp/Cutls" class="btn waves-effect purple lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>@@support@@(Enty)</a> <a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>@@support@@(Pixiv FANBOX)</a> <a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>@@help@@/Docs(Constructing)</a> <a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a> <a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="../../img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a> <br> Kyash<br> <img src="../../img/kyash.png" width="100"><br> <a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">@@checkup@@</a><br> <a href="oss.html">OSS License@@ossJP@@</a><br> <span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved. Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy Policy</a> <br>Developer: Cutls P( <a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</a>) <br> </span><br> TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br> タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br> <script type="text/javascript" src="../../js/common/about.js"></script> <script type="text/javascript" src="../../js/platform/end.js"></script> <script type="text/javascript" src="../../js/login/logout.js"></script> <script type="text/javascript" src="../../js/ui/spotify.js"></script> <script type="text/javascript" src="../../js/tl/speech.js"></script> <script type="text/javascript" src="../../js/platform/pickr.js"></script> <script type="text/javascript" src="../../js/ui/settings.js"></script> <script type="text/javascript" src="../../js/ui/theme.js"></script> <script type="text/javascript" src="../../js/tl/date.js"></script>