月別: 9月 2013

ATOK Pad for iOSの新スキーム連携

投稿日: 更新日:

新サイトへ記事を移転しました。

 

http://reliphone.jp/atokpad-url-schemes

 

広告

クリップボード監視機能を考える

投稿日: 更新日:

ブラウザ、エディタ、ランチャーなどのアプリにクリップボード監視機能が付き、1つのデータをコピーするだけで、複数のアプリがデータを取得したよと通知を出してくる。
ひとつひとつは便利でも、これは流石に辟易してしまう。

監視をコントロールしたい

使いたい時だけ監視をして欲しいけど、なかなかそういうアプリはない。
毎回オンオフするのも面倒で、「10分経ったら切れるから」と放置している現状。

けれどiOS7で10分制限がなくなるという噂も。
延々と監視されるなんて嫌だし、毎回プロセスを殺すのも面倒だ。

そんな中、iWorkspaceはちょっといいURLスキームがある。

iworkspace://configure?clipboardmonitoring=[trueまたはfalse]

これで監視のオンオフを切り替えられる。
手放しで喜べないのは、オンオフを切り替えるために、2つのスイッチを別に用意しなくちゃいけないこと。
トグルであればスイッチは1つで済むけれど。

スイッチはどこに対してどこにあるべきか

DraftPadから呼び出して設定したなら、自動でDraftPadに戻って欲しい。

1階のテレビのスイッチが何故か2階にあったとして…
誰も2階になんて行きたくないし、1階から直接操作したくなる。

先のような設定に対してもコールバック指定が使えれば、それも可能になるかもしれない。

機能を委ねる

iWorkspaceでクリップボードを操る その2で書いたのは、別のアプリに通知機能を持たせるような動作が実現できたということ。
じゃぁ監視機能のオンオフだって、その別アプリからなるべく簡単に行えれば、それは組み込まれた機能とほとんど変わらなくなるんじゃないだろうか。

1タップで自由にクリップボード監視が使えるようになれば、他のアプリはむやみにクリップボード監視を実装しようなんて思わなくなるかもしれない。
他のアプリが通知センターへのショートカットをMyShortcutsに委ねたように、クリップボード監視を委ねるという選択肢だってある。

無制限の不自由さ

もし、本当に10分制限が無くなるようであれば、すべての開発者に考えて欲しいことがある。
水道からいつでも水が出るのは便利だが、常に水を出しておきたいわけではないのです。

iWorkspaceでクリップボードを操る その2

投稿日: 更新日:

※この記事は通知センターとバックグラウンド監視が前提になりますので、有効にしておいてください。

 

クリップボード監視機能に革新を

iWorkspaceの監視機能が素晴らしいのは、データの行先を指定出来るところにあります。
デフォルトだと、通知をタップしても、そのデータがクリップボードに復帰するだけ。

それが、設定によって激変します。
例えばDraftPadにクリップボード監視をつけるようなことも。

 

まずはDraftPadを起動できるように

draftpad:///insert?after=_Q_

→DraftPad起動 をインポート

この時アイテム編集画面で鎖マークをタップして、アイテム起動用URLをコピーしておいてください。
IMG_4089

スキームがあれば他のアプリでも構いません。

(例)thumbedit://?text=_Q_&mode=insert
(例)slpro://_Q_

 

起動URLを変換登録します

通知タップ時の設定を変更するには

iworkspace://configure?clipboardnotificationtapurl=<URL>

このような形のアイテムを登録する必要があるので、それを補助するスクリプトを作りました。

→通知挙動登録 をインポート

さっきコピーしたアイテム起動用URLをもとに、設定用スキームに変換登録してくれますので実行してください。
実行すると通知設定用のアイテムが出来ますので、タイトルは自分で分かりやすいように。

 

なぜ変換登録が必要か

通知タップ時の設定スキームには、利用したいアプリのスキームを直接書いてもうまくいきません。
URLエンコードしていてもダメ。
まず起動用アイテムを登録し、それを間接的に指定する。

通知挙動登録は、クリップボードのURLをそういった形に変換してくれます。
(ただし起動したいだけの場合は、直接draftpad:を指定しても大丈夫です)

 

使ってみよう

さて、変換登録したアイテムをタップしてください。
『設定が更新されました』というダイアログが出たら成功です。

適当な文字をコピーして、iWorkspaceの通知が出たらタップしてみて下さい。
DraftPadが起動してコピーした文字が貼りつきましたか?

すごい!と思った方は十分です。いろいろ試してください。
できない!という方は@rel0005までご報告を。

できたけどいまいちよくわかってない方は、その3 実践編をお待ちください。

 

おわび

その1 の内容を触れるにはちょっと長くなりそうだったので、次回に持ち越します。

iWorkspace

  • iWorkspace
  • カテゴリ: ユーティリティ, 仕事効率化
  • 価格: ¥100(記事掲載時)
  • 開発元: Takeyoshi Nakayama

App Store

DraftPad

  • DraftPad
  • カテゴリ: 仕事効率化, ユーティリティ
  • 価格: 無料(記事掲載時)
  • 開発元: Manabu Ueno

App Store

iWorkspaceでクリップボードを操る その1

投稿日: 更新日:

スキームからクリップボードへ

スキームで出力したものをクリップボードへ自動コピーするには、DraftsやLaunch Center Proなどを使う方法がありますが、
これはiWorkspaceでも簡単にできます。

iworkspace://launch?itemid=&clipboard=<@@>

DraftPadから呼び出す場合にはこんな具合に。
ここでは空にしていますが、itemidを指定すると、文字列をコピーした後にそのアイテムを自動実行してくれます。

 

クリップボードからスキームへ

逆に、クリップボードの内容をスキームで出力するには、いつもの見慣れた形をiWorkspaceから呼び出してやるだけです。
DraftPadならこの形。

draftpad:///insert?after=_Q_

“_Q_”でクリップボードの内容を書き出します。

 

クリップボードからクリップボードへ

さて応用編。
iWorkspaceではJavaScriptを使いクリップボードの文字列を加工して、それをまたクリップボードに出力することも可能です。
(JavaScriptの場合は_Q_ではなくCLIPBOARDを使います)

例えば、タップするだけでクリップボードの文字列をURLエンコードしたり
→URLエンコード をインポート

 

クリップボードの文字列をTinyURLで短縮したりといったものです。
→TinyURL をインポート 

(TinyURLスクリプトはhalさんの書かれたものをベースにしています)
Drafts上でJavaScriptを動作させる | hal’s Playground
お借りしたスクリプトはこちら

 

 

これらはCLIPBOARDで呼び出した文字列を加工したあとに

iworkspace://launch?itemid=&clipboard=

に書き出しているだけの簡単なものです。
インポートしたアイテムをタップすると、いつの間にかクリップボードの中身は書き換わっているはずです。

さて、これをどう使うか、という話はまた明日。

iWorkspace

  • iWorkspace
  • カテゴリ: ユーティリティ, 仕事効率化
  • 価格: ¥100(記事掲載時)
  • 開発元: Takeyoshi Nakayama

App Store