MyShortcutsをクリップボード化するClipPadをiPhone用にしてみた

雨宿りした木の葉っぱが赤かった。


MyShortcutsをTextwellだけのクリップボードにする ClipPad
引き下ろすたびに記憶する。通知センターにクリップボードの保存ができることを発見して、MyShortcutsをランチャーとして使うのがもったいなく思えてきました。なにしろ僕のiPadはTextwellP...
ClipPadのコンセプトはアクションでも作ってきたし、Web版でも作ってきた。ただ、どれも手数が多くて納得できるものではありませんでした。でもこれは違います。わかりやすい。通知センターを下げるだけというのが敷居を下げている。
iPadだけでは意味がないので、iPhone用も作ってみました。
登録リンクはこちら→ http://tinyurl.com/nd8z9c7



使い方はiPad版と同じ。通知センターを下げたとき、クリップボード内の文字列を記録します。フォントサイズを80%にすることで情報量を少しだけ稼ぎました。そして、このリストから選べばそれがエディタに貼りつく。デフォルトはTextwellですが、ソース内の変数Editorを書き換えることで、別のエディタにも対応します。


今宵はiOS8.1発表の日。カメラロールの復活より、WKWebViewの修正に期待してます。メインのアクションが動かなくなってるのがきつい。


【ソース】

<style>
  td.delete {color:lime;width:12px;}
  span.clip {color:white;word-wrap:break-word;font-size:80%;pointer-events:none;}
</style>
<div id=ClipPad></div>
<script>

Editor="textwell://insert?text=";
history=10;
size=34;
// size=70;

clip=new Array();
s=localStorage.ms || "";
if(s){
  clip=JSON.parse(s);
  c=CLIPBOARD;
  if(c && clip[0]!=c){
    clip.unshift(c);
    if(clip.length>history) clip.length=history;
    localStorage.ms=JSON.stringify(clip);
  }
}else{
  clip[0]=CLIPBOARD;
  localStorage.ms=JSON.stringify(clip);
}
Disp();

function Disp(){
  text="";
  for(i=0;i<clip.length;i++){
    c=clip[i];
    if(c.length>size) c=c.substr(0,size-2)+"...";
    str=c.replace(/</g,"&lt;").replace(/\n/g," ");
    text+="<table><td onclick=Delete('"+i+"') class=delete>■</td><td onClick=Paste('"+i+"')><span class=clip>"+str+"</span></td></table><hr style=border-color:gray;>";
  }
  ClipPad.innerHTML=text;
}

function Paste(x){
  location=Editor+encodeURIComponent(clip[x]);
}

function Delete(x){
  clip.splice(x,1);
  localStorage.ms=JSON.stringify(clip);
  Disp();
}
</script>