通知センターをTextwell専用のマルチクリップボードに改造 ClipPad

やっと復活。


ClipPad

通知センターをTextwellのクリップボードにする方法 ClipPad(MyMemo版)
一行しか表示しないことにしました。同じネタを繰り返してますが、マルチ・クリップボード。通知センターにコピーを溜めておき、後でTextwellに貼り付けるウィジェットです。例によって、一度MyScrip...

iOS8あたりから不安定になって使えなくなりました。ところが久しぶりに起動したら、ちゃんと動くじゃないですか! iOS9で何か変わったのかな。通知センターがTextwellのクリップボードになります。しかも履歴付き。そんなわけで、少し補強してみました。


MyMemo経由

MyMemo - メモウィジェット 1.0
分類: ユーティリティ,仕事効率化
価格: \120 (Takeyoshi Nakayama)

通知センターにスクリプトを走らせます。下記リンクでMyMemoAにインポート。表示幅は200くらい。あらかじめMyMemoAのスクリプトは退避しておいてください。

登録リンクはこちら→ http://tinyurl.com/h3433vw

<style>
body {margin:0;font-family:Hiragino Sans;color:white;font-size:80%;}
hr {border-color:#333;}
.label {color:darkred;width:26px;float:left;}
.clip {white-space:nowrap;overflow:hidden;}
</style>
<div id=ClipPad></div>
<script>

// エディタの指定
Editor="textwell://insert?text=";
History=5;

// プログラム本体
clip=new Array();
c=CLIPBOARD;
s=localStorage.ms || "";
if(s){
clip=JSON.parse(s);
if(c && clip[0]!=c) clip.unshift(c);
}else{
if(c) clip[0]=c;
}
List();

function List(){
if(clip.length>History) clip.length=History;
localStorage.ms=JSON.stringify(clip);
text="<hr>";
for(i=0;i<clip.length;i++) text+="<div onClick=Delete("+i+") class=label>▪︎</div><div onClick=Paste("+i+") class=clip>"+clip[i].replace(/</g,"&lt;").substr(0,54)+"</div><hr>";
ClipPad.innerHTML=text;
}

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

function Delete(x){
clip.splice(x,1);
List();
}
</script>


使い方

通知センターを下げるごとにクリップボードの内容を記録します。初期設定は最大5個。ソースの変数Historyで変更可能。履歴は通知センターにリスト表示され、選択するとTextwellにペーストします。不要なリストは左端の赤四角をタップすることで消去できます。


iPadでの注意

iPadランドスケープ使う場合、通知センターの右側ペインに表示するようにしてください。左側ペインはMyMemoと相性が悪く、読み込みに失敗する確率が高いです。


まとめ

今まで、サイズの大きいコピーだとメモリ不足になるケースがありましたが、表示を軽くして対処しています。長い文章を一時的に退避することも出来ます。クリップボード専用アプリと違い、直接Textwellに貼りつくのが特徴。編集作業にスキが入りません。

クリップボードのスロットが増えるだけで、出来ることが変わってくる。ソース内の変数Editorを書き換えると、別のエディタにも使えるようになります。