Moiz's journal

プログラミングやFPGAなどの技術系の趣味に関するブログです

今日から睡眠の質を劇的に改善する信じられないほど手軽な方法

コーヒーをデカフェに替えよう

タイトルは釣りですが、内容はマジです。
最近のデカフェは割といけるし。ちなみに私が飲んでるのはスタバのデカフェ

私みたいにカフェイン断ちで頭痛がする人は、朝の一杯以外をデカフェに替えるだけでも効果ありかと。冗談かと思うかもしれないけど、私はコーヒーをデカフェに替えてから寝付きが全然良くなり、夜眠れなかったり夜中に起きたり、という経験も激減した。運動不足が原因に違いないとか思ったこともあったけど、それも原因の一部でしかなかった。以前は自分が繊細で、考えすぎ、悩み事が多いせいで眠りに入りにくいのかと思っていたけど、単にカフェインの過剰摂取だったわけだ。これはあくまで個人の体験だけど、実はカフェイン取り過ぎの人は世間には結構いるのでは?

当然ながら、もともとコーヒー飲んでいない方には効果ありません。あと、カフェイン抜きでも眠れない日はあるだろうけど、まあ、そういうときはお互いがんばろうぜ!

任意のアプリからATOK用辞典(続、続)

今回は、ATOK連携ツールとAutoHotKeyのみを使って(Opera用検索ツールは使わない!)、任意のアプリからATOK用電子辞書での検索を行う方法についてまとめてみた。

検索ツールもいらない

前々回と、ATOK連携ツールがサポートしていないアプリケーションからATOK用の電子辞書にアクセスする方法を書いてきたが、どちらも中心になるのはOpera用検索ツール。
[f:id:uzusayuu:20110528110350j:image]

Opera, Firefox, 秀丸, Janeで電子辞典(for Windows)を使う
単体で起動すればATOK電子辞書のGUIフロントエンドにもなる非常に便利なソフトで、作者の方には感謝このうえないのだが、直接ATOK連携ツールにアクセスできればそれにこしたことはない。
なんとかならないかと思って調べてみたところ、ATOK連携ツールのDLLに直接アクセスすれば辞書検索ができる、という内容の投稿を見つけた。半信半疑でためしてみたところうまくいったので、こちらに書いておこう。(ただし、まだバグが取り切れていないので実用上はOpera用検索ツールを使う前回の方法のほうが優れている。)

AutoHotKeyスクリプト

注意点:これはあくまで私の環境での動作報告であり、同様の環境で必ず動作することを保証するものではありません。試される方は各ツールのマニュアルに従い、ご自分の判断でご使用ください

まずは準備として、ATOK、ATOK用電子辞書、ATOK連携ツールをインストールしておく。Opera用ツールは今回は必要ない。
私が使っているのはATOK2011、ロングマン英英、大辞林、など。
ATOK連携ツールの辞書検索機能を使うにはATOKEXIF.DLLを使用する。上記の投稿の僅かな情報を元に試行錯誤を行った結果、こんなスクリプトで辞書の検索ができた。

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; wfor new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
hModule := DllCall("LoadLibrary", "str", "C:\Program Files (x86)\JustSystems\ATOK\EXT\ATOKEXIF.dll")

!E::              ; Hot key is ALT+ E
Send ^c       ; Send ctrl+C
Sleep, 60     ; Wait for clipboard copy
word = %clipboard%
result := DllCall("ATOKEXIF\ATOKExt_ImmConfigureConsultDrmDicForIEW", "str", word)

最初の3行は自動挿入されたもの。4行目でDLLをロードしている。こちらのパスはATOK連携ツールがインストールされた場所を指定。
ホットキーには今回もALT+Eを指定。コピーコマンドを送信して、少し待った後で変数に代入。
最後の行で、DLLの検索機能にアクセスしている。

あとはスクリプトをセーブして、run scriptしてみる。スクリプトに問題が無ければ、文字を選択してAlt+Eを押すとATOK用電子辞書が立ち上がるはずだ。
何故かスクリプト実行後最初の呼び出しだけは妙なエラーメッセージがでたり、ウィンドウが他のウィンドウの下に表示されたりすることがあるが、一旦それらのウィンドウを閉じてもう一度呼び出すと正常に辞書検索ができる。また、Windows7では、一度他のウィンドウを選択すると、辞書ウィンドウが下に隠れてしまい、選択しても上にあがってこない。このあたりはおいおい直していこう。

まとめ

とうとうATOK連携ツールとAutoHotKeyだけで、ATOK用電子辞書にほぼどこからでもアクセスできるようになった。

感想

エディタで入力中、前に書いた部分の言葉の使い方が不安になったら選択Alt+E。非IEブラウザでWebを見ているときも、Alt+Eで検索と、とても便利。任意のアプリからの呼び出しがATOK電子辞典の標準機能になればいいのに。
あと、バグが取り切れてないのが残念だが、昨日インストールしたばっかりでこれだけのことができるAutoHotKeyはやはりとても便利。

任意のアプリからATOK用辞典(続

オープンソフトウェア AutoHotKey

前回の記事では有料ソフトのMacro Express Proを使って、ATOK用電子辞書に任意の辞書からアクセスしてみた。
ただ、これだけの目的のために約5000円のソフトは高いなあ、ということでフリーソフトAutoHotKeyを試してみところ簡単に動作したので、スクリプトをこちらに書いておく
http://www.autohotkey.com/

AutoHotKeyからATOK用電子辞書を呼び出すスクリプト

注意点:これはあくまで私の環境での動作報告であり、同様の環境で必ず動作することを保証するものではありません。試される方は各ツールのマニュアルに従い、ご自分の判断でご使用ください

まずは前回の記事と同じく、ATOKATOK用電子辞書、オペラ用ATOK辞書検索ツールをインストール。さらにautoHotKeyをインストール
その後右クリックでNewからAutoHotKey Scriptを指定。
以下、使用したスクリプト

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

!E::                     ; Hot key is alt + E
clipboard =         ; Clear Clipboard
SendEvent ^c     ; Send ctrl+C
ClipWait              ; Wait for clipboard copy
run "C:\Program Files\GetTextOperaLClick\GetTextOperaLClick.exe" %clipboard%

上3行は自動で追加された者で、私もよくわからない。機能の呼び出しはALT+Eキー。最終行のパスはオペラ用検索ソフトをインストールした場所を指定。
これでセーブして、ファイルを右クリックからRun Scriptを指定。これで準備終了。
あとは任意のソフト上で検索したい文字列を選択してAlt+Eキーを押すと、ATOK用電子辞書が呼び出される
これで、ATOK以外は無料で辞書の呼び出しができるようになった。

まとめ

AutoHotoKeyを使って、任意のアプリケーションからATOK用電子辞書は検索できる

感想

もっと使いにくいソフトかとかってに思っていましたが、インストールから上記のスクリプト実行まで30分ほどでできました。
便利

任意のアプリからATOK用辞典

ATOK用電子辞書

高い変換率で人気のATOK。日本語入力だけに使っていても便利なのだが、最近はEvernoteと連携するATOK Padなど様々な拡張機能が追加されている。なかでも便利なのがATOKと連携する電子辞典の数々。有料ながら、広辞苑ロングマン英英辞典などの定番から、角川俳句歳時記なんていうのまで手に入る。
http://www.atok.com/products/index.html#pgDict
入力中にふと使い方や意味を疑問に思ったら、ENDキー一発で意味が引ける。和英も引ける。半角英数からなら英和や英英も引ける。私が使っている大辞林には画像や音声まで含まれている。

ATOK連携ツールによる、入力済みテキストからの検索

と、便利なATOK用電子辞典も欠点はいちいち入力する必要があること。
ただし、ATOKにはATOK連携ツールというものがあり、別途これをインストールすることにより辞書呼び出しを含むいろいろな追加機能が使えるようになる。これを使えば単語を選択−>右クリックで辞典を呼び出すことができる。残念ながら、今のところ連携ツールが対応するのはMSオフィスとIEのみのもよう。

では、他のソフトやブラウザでATOK用電子辞典を呼び出すことはできなのかというと、世の中にはありがたい人がいるものでOpera用にATOK辞典を呼び出すツールをフリーウェアとして公開している人がいる。さらに、このツール、FireFox秀丸からも呼び出せるらしい。
Opera, Firefox, 秀丸, Janeで電子辞典(for Windows)を使う
Google Chromeでもできると書いてあるので試してみたのだがうまく行かない。さらにいえば、いっそどんなソフトからでも電子辞書が呼び出せればいいのに。

任意のアプリからの検索

ということで、いろいろ試行錯誤したのだが、外部ツールを使えば任意のアプリケーションからのATOK辞典の検索は可能のようだ。

動作環境

注意点:これはあくまで私の環境での動作報告であり、同様の環境で必ず動作することを保証するものではありません。試される方は各ツールのマニュアルに従い、ご自分の判断でご使用ください
ためしたのはWindows。一応XPと7で動作した。
まず事前に、ATOK2011、ATOK用辞典(大辞林など)、ATOK連携ツール、OperaATOK辞典ツール、をインストール。
Opera用ツールには2007用、2008用、2009用があるが、私の環境のATOK2011では2009用が動作した。
使ったツールは任意のキーバインドからマクロを呼び出すMacro Express Pro
http://www.macroexpress.com/
とりあえずテストなので30日トライアル版を使用。

Opera用検索ツール

まずはOpera用ツールの動作確認をしておく。こちらのツール、単体で使用すればGUIからATOK用電子辞典が呼び出せるので動作確認も簡単。インストールしておけば他のソフトと連携しなくても役に立つ。

環境設定で、「アクティブでなくなったら自動で閉じる」を選択してみた。

Macro Express Pro

次は、Macro Express。機能を選んで選択していくだけで、様々な動作が自動化できる。
http://www.macroexpress.com/download.htm

  • マクロの作成

まず、New Macro Buttonで新マクロの作成。起動はHot Keyを選択し、好みのキーコンビネーションを指定(今回はAlt + End)。好きなマクロ名を入力して、OKで次へ。

  • テキストのコピー

まずは選択したテキストをクリップボードへコピー(ScriptペインからClipboard -> Clipboard copyを選択して右矢印)

  • テキストの内部変数への保存

次は、クリップボードからマクロ内変数にコピー(Variable -> Variable Set String, コピー先のVariableを作成(T1)して指定)

  • 検索ツールの呼び出し

最後に検索ツールを起動 (Windows/Program -> Launch Program, Programに上記のOpera用ツールを指定。パラメータに先ほどのテキストVariable T1を指定)

以上、たった3行で終了。あとはセーブして、実行してみよう。

Chrome上でのテスト

まず、ATOK連携ツールが対応していないChromeを起動。次に単語を選択して、Alt + Endを入力。見事ATOK用電子辞書が呼び出された。

課題、

問題点は、

  • 辞書ウィンドウを閉じず次々検索すると、ときどきサーチツールのプロセスが残るときがある。
  • 右クリックには対応していない
  • クリップボードを経由するので、データをコピー中に検索するとコピーする中身が替わってしまう
  • Macro Expressは有料(Pro: $59.95)。Macro Express 自体は高機能なので約5000円の価値はあると思うが、ATOK辞書のためだけにこれだけ払うのはちょっと...。

まとめ、

ATOK用の電子辞書はATOK連携ツール、フリーウェアのOpera用ツール、Macro Expressを使うことで、任意のソフトウェア上から検索できる。

感想

  • Opera用のツールを作ってくれた人に感謝
  • 有料マクロソフト使えばなんでもできて当然だよね。なんとか無料でやる方法はないものか
  • それより、ATOK連携ツールが、他のソフトにも対応してくれればいいのに