Home / Diary / タグ: ahk
Pause::WinSet, AlwaysOnTop, TOGGLE, A
これでPauseキーを押したときにアクティブなウインドウは最前面に表示される。既に最前面なら通常表示になる。
使い道は色々というか、ながら作業の為にあるような機能なので、ニコニコ動画やYoutubeで再生しているウインドウを切り離しつつ最前面表示させる、といったのが主な使用方法になるだろう。
せっかくなんで、ながら作業支援をもう1つ。
ScrollLock::
{
WinGet, trans, Transparent, A
if trans is number
{
trans := trans - 32
if trans > 0
WinSet, Transparent, %trans%, A
if trans < 0
WinSet, Transparent, OFF, A
}
else
WinSet, Transparent, 223, A
return
}
+ScrollLock::
!ScrollLock::
WinSet, Transparent, OFF, A
return
ScrollLockキーを押すごとに徐々にアクティブウインドウを透過させていき、透過度が0を下回ったら透過を解除。ShiftかAlt押しながらScrollLockキーで透過を強制解除することができる。XP専用。
これらのスクリプトを使う場合、PauseキーやScrollLockキーを自分の手に馴染むキーに変更してから使うといいだろう。
Info
- 投稿日
- 2007年7月10日
- タグ
- ahk
- このエントリの固定リンク
- http://diary/log/1546.html
- ブックマークに追加する
-
- コメント
2007
0710
Tagsahk
FirefoxにはStylishというユーザースタイルシートの管理を容易にする拡張が存在する。
これを活用すると、全てのWebサイトを自分好みに調整できるようになる。使ったことがある人にしかわからないが、あまりにも便利すぎて笑いが止まらない。
さらに、StylishとFirebugを組み合わせると、レジェンダリーな構造のWebサイトでさえも5分で裸にひん剥けるので重宝している。
んが、これはあくまでもFirefox用。stylishはどうしようもないが、CSSだけでもOperaで使えるようにできないだろうか。
・・・じゃあ、移植しちまおう。まるっと。
というわけで、stylishで管理しているCSSをOpera用に書き出すスクリプトを試しに作成した。
opelish.ahk
作成した・・・のはいいんだが、問題が。
stylishはCSSをrdfにまとめて保存しているので、そこからurlとcssを地味に抜き出して書き出す。
FirefoxはどのページにCSSを適用させるかを、ドメイン、URL完全マッチ、URL部分マッチの3タイプで選べるが、Operaの場合、ユーザーCSSはドメインまでしか指定できない。
だからといってユーザースクリプトとして書き出すと、確かに好きなページに適用させることが可能になるが、適用されるまでにタイムラグが発生するだけでなく、ページのスクリプトを無効にしているとそもそも動作すらしない。
常にスクリプトをONにしているのなら、あまり問題では無いんだが、常にOFFにしている身としては辛い。
これ以上を望むとなるとproxomitron等と連携する必要がでてくる。できればOpera内で解決したいんだが・・・どうすんべ。
なお、このスクリプトは、とりあえずでっちあげただけの試作品なので、rdfのパースがいけてなかったり、Firefoxでしか適用されないプロパティを放置するなどといった不具合というか手抜きが存在する。登録しているCSS次第では出力すらできない可能性があるので注意してもらいたい。
Info
- 投稿日
- 2007年5月16日
- タグ
- ahk、css、opera
- このエントリの固定リンク
- http://diary/log/1534.html
- ブックマークに追加する
-
- コメント
2007
0516
Tagsahkcssopera
最近コマンドプロンプトをちょこちょこ使うようになったのだが、いちいちcmdとかフォルダ右クリックから立ち上げたりするのが面倒になってきた。
そんな中、Easy Command Promptという、エクスプローラーのアドレスバーでコマンドプロンプトを実行できるスクリプトを発見。
イイ、これ、イイね!(目の焦点虚ろかつ爽やかに) だが、エクスプローラーなんぞ使ってられないので愛用しているX-Finder用に構成し直した。
ecpforxf.zip
使い方はX-Finderのアドレスバーにスラッシュの後に続けてコマンドを入れるだけ。そのディレクトリで実行したことになる。通常はDOS窓非表示で、スラッシュ2つの後に続けることでDOS窓を表示して実行する。
ワンライナーで済むようなコマンドに最適。そうでないならDOS窓表示で実行した後にそのまま続けて入力していくといいだろう。
内部的にはEnterが押されたらX-Finderのアクティブを確認して、アドレスバーからテキストを取得。スラッシュで始まってたら実行、という風にしているので、ウインドウとコントロールの指定だけ変えれば他のファイラーに容易に流用が可能だと思われる。
余談
DOS窓にフォルダをドラッグ&ドロップするとフォルダのフルパスが入力されることを最近知った。やるな、ゲイツ。
Info
- 投稿日
- 2007年3月22日
- タグ
- ahk
- このエントリの固定リンク
- http://diary/log/1522.html
- ブックマークに追加する
-
- コメント
2007
0322
Tagsahk
ちょっとした画像とかをbase64エンコードしたいと思った時はThe data: URI kitchenにアクセスしていたんだが、いちいちアクセスすんのがめどい。
そこで目を付けたのが、ITproに載ってたVBとPHPを使うやつ。
バイナリ・ファイルのテキスト化
確かにファイル渡すだけでエンコードしてくれるのはいいが、vbスクリプト、phpスクリプト、出力用のテキスト、さらに手作業でコピーという無駄が発生するのが非常にヤな感じ。
理想としては、渡したら即座にMIME付けてクリップボードだよなー
↓
ってゆーかどっかにねーかなー
↓
さがすのめんどくせー
↓
「私自らが作る!!」
というわけで作ってみた。
dandd64.zip
zipを適当なフォルダに解凍。中から出てきたdandd64.exeにファイルをドラッグアンドドロップで渡せば即座にエンコードしてクリップボードに入れてくれる。非常に楽。
AutoHotKeyで作っているが、コンパイルしているのでAutoHotKeyをインストールしていない環境でも問題無く使用できる。
MIMEはwebで使うような標準的なものしか入っていないので、物足りないと思ったら自分で追加していくといいだろう。
一応ソースも入れている。動作が気に入らない人や、他人がコンパイルしたものなぞ危なくて使えないという人は、こっちからコンパイルして欲しい。
余談
コマンドライン引数を動的に取得する方法がわからなかったので
args = %1%|%2%|%3%|%4%|%5%|%6%|%7%|%8%|%9%|%10%|%11%|%12%|%13%|%14%|%15%|%16%
こんな感じで力技で取得してるんだが、誰か動的に取得する方法を教えてくれ。
追記
コマンドライン引数を動的に取得する方法をコメントにて教えて頂いた。どうもありがとうございます。
Loop %0%
{
path := %A_Index%
MsgBox, %path%
}
ってか、その後ヘルプ読んだら思いっきり載ってた。そしてこの諦念・・・
余談2
私自らが作るといいつつ、エンコード部分だけ丸投げしてるのはナイショだ。(途中まで作ってたらバイナリからエンコードできるのを見つけてしまって、そっちに鞍替えした。その方が処理早いし。)
Info
- 投稿日
- 2007年3月2日
- タグ
- ahk
- このエントリの固定リンク
- http://diary/log/1515.html
- ブックマークに追加する
-
- コメント
2007
0302
Tagsahk
LDRやブックマークで巡回している時に後から読みたい記事に出会ったらタイトルとURLをコピーしてメモに貼り付け。んで、時間が空いたときに一つ一つ貼り付けて移動で開いていたのだが、これがまろやかにめどい。
テキスト内のURLだけをまとめて全部開けないだろうか、と思って作ったのが以下のもの。
以前選択テキストのURLを開きまくる際にahkで作ってしまったものを再利用しようと思ったが、思わぬアクシデントが。
Copy & Executeからだと、最終的にコマンドラインで渡す際には日本語が入っていても問題無かった。しかし、クリップボードのみを利用するとなぜか最後のコマンドラインで渡す際に日本語が化けた。調べてみたが理由がさっぱりわからん。
仕方ないので、原因が文字コードならUnicodeにしてurlencodeすればいいじゃん、と力技で解決して見事に日本語入りでも問題なくクリップボード内のURLを新しいタブで開けるようになった。
あとはこれをどのショートカットキーを割り当てるかだが・・・・
Ctrl+Bは貼り付けて移動。Ctrl+Shift+Bは新しいタブに貼り付けて移動、となるとAltでもつけたくなるが、さすがに片手で押し辛くなるのはイヤなので、無難にCtrl+Shift+Vに割り当てた。
;keyboard.ini
[Application]
v ctrl shift = Execute program, "C:\ahk\AutoHotkey.exe", "C:\ahk\masspasteandgo.ahk"
;menu.ini
[Edit Go Widget Popup Menu]
Item, "貼り付けて全て開く" = Execute program, "C:\ahk\AutoHotkey.exe", "C:\ahk\masspasteandgo.ahk"
menuを弄る場合同様、keyboard.iniはopera/defaultディレクトリのstandard_keyboard.iniをコピーしてprofile下のkeyboardディレクトリにコピーしてから編集する。その際にInfo部分のNameを編集しておくと判別し易くなる。
masspasteandgo.ahk
Info
- 投稿日
- 2007年2月5日
- タグ
- ahk、opera
- このエントリの固定リンク
- http://diary/log/1507.html
- ブックマークに追加する
-
- コメント
2007
0205
Tagsahkopera
http://www.google.co.jp/
ttp://search.yahoo.co.jp/
://search.msn.co.jp/
こーいったリンクされていないURLをまとめて開きたい。
ただ単に選択テキストをコピーしてahkに渡しつつ、正規表現でURLっぽいのをゲットして、そのままOperaにコマンドラインで渡せばできね?
と思ったら、渡した分だけウインドウが作られてしまった。現在開いているOperaに新しいタブとして追加させるにはDDEで渡すしかないっぽいが、AutoHotKeyでDDEを扱う方法が分からなかったので、力技でやることにした。
;menu.ini
[Hotclick Popup Menu]
Item, "選択テキスト内のURLを全て開く" = Copy & Execute program, "C:\ahk\AutoHotkey.exe", "C:\ahk\openallurl.ahk"
;openalllink.ahk
#NoTrayIcon
lines := RegExReplace( Clipboard, "(`r`n)+", "`r")
Loop, parse, lines, `r,
{
match_result := RegExMatch( A_LoopField, "t?p?s?:?//([-_.!~*'()a-zA-Z0-9;/?:@&=+$,`%#]+)", $ )
If match_result != 0
{
Clipboard = http://%$1%
wait( 10 )
Send, {LCtrl Down}t{LCtrl Up} ;新しいタブ
wait( 40 )
Send, {LCtrl Down}b{LCtrl Up} ;貼り付けて移動
wait( 40 )
}
}
wait( time ) {
begin := A_TickCount
Loop
{
if A_TickCount - begin > time
break
}
}
何をしているのかというと、選択テキストを改行で分解してURLっぽいのをゲット。ここまでは良い。その後は・・・
- ゲットしたURLをクリップボードに入れる
- 強制的にCtrl+Tを発生させて新しいタブを表示させる
- 強制的にCtrl+Bを発生させてクリップボード内のURLを貼り付けて移動させる
- 1~3を繰り返す
こんなんで本当に大丈夫なのか? と思ったが、どうやらCPUを他に取られていると新しいタブの生成や貼り付けてからの移動で微妙に時間を取ってしまい、次の入力がズレてしまう時があったのでwaitを入れることにした。上手く開かない時はwaitの数字を大きく設定する。waitがちゃんと入っていればしっかり開かれるようだ。
正規表現はPerlメモから拝借した。非リンクだけじゃなくh抜き等にも対応するため、最低限スラッシュ2個さえあれば反応するようにしてる。そこら辺で不都合があるなら適当に弄るといいだろう。
openallurl.ahk
追記1
選択範囲のソースを取得できることをすっかり忘れてた。というわけでJavaScriptで全て解決するっぽいのでがんばる。
一応ahk経由だとポップアップブロックが発生しないというメリットが一応あるんだがな。そこら辺は使う人次第か。
追記2
渡した分だけウインドウが作られたって書いたけど、設定を良く見たらSDIにチェックが入っているせいだった。チェック外してみたところ、コマンドラインでも普通にタブが開いた。
Info
- 投稿日
- 2007年1月10日
- タグ
- ahk、opera
- このエントリの固定リンク
- http://diary/log/1502.html
- ブックマークに追加する
-
- コメント
2007
0110
Tagsahkopera