2004-01-01から1年間の記事一覧

選択中のテキストをクリップボードに食わせて自分の所に奪ってくるコマンド。文字列を選択してからCraftLaunchExでこのコマンドを実行すると、選択された文字列をパラメータにしてコマンド入力待ちになる。 <script name='GetSel' paramlist='' format=''> import clcore clcore.RaiseNextWindow() import </script>…

VB版からの拡張として、modキーの指定に左Windowsキーをあらわす「#」が追加された。例として「#e」でエクスプローラーが起動する(Win+Eの標準動作)。#自体を送信したい場合は、「+3」とするか、「{#}」とすること。通常は「+3」とするほうが望ましい。 {SHI…

OnAbbrevが編集できるので、検索を拡張できるかもと思ってmigemoやらなにやらのコードを落としまくる。migemoが実装されれば相当便利だろうと思うけど、誰かやらないだろうか。(そういえば、Deecayさんの部分一致検索はどうなったのだろう。)6/14追記:Deeca…

SendTextは公式にサポートされそうな勢いだが、SendTextで出来ることは限られているので、むしろ&Key系のサポートの方が嬉しいかもしれない。 過去の互換関数は恐らく公式の方で考えているだろうから、こちらは独自路線で、VBのSendKeysのような動きをする関…

今日中に0.90対応したほうがいいんだろうなぁ…。内部的に結構いろいろ変わってるので、時間があるときにじっくり分析してみたい。補完関係なんか弄ればいろいろ遊べそうに思う。というかそろそろclmode_mylauncherとか必要なのか。config.pyのみで済ますには…

import win32gui import win32con win32gui.SendMessage(hwnd, win32con.WM_CHAR, 0x0D, 0) Enterだけ送れてもあんまり意味無いけど。VBのSendKeyは意外に高機能なので実装は面倒だと思う。ちゃんと作れば便利だけど。そしてSendTextモドキを改造してUltima …

まとめサイト

etc

ここに作った。SendTextが本家で対応されそうな勢い。公式に対応されているというのは使用する上でいろいろと都合がいいので嬉しいことだ。可能ならvbライクなSendTextだと使い勝手が良くてありがたい。

clmode_clip.zip リリース版。 クリップボード履歴のとりあえずのリリースに当たって、昨日の版から変更された点。まずはclip_listのセーブを更新時だけに変更。それまではOnTimerの度に毎回保存していた。非常にコストが高いというかバカか俺は。ちなみに、…

16日追記。近日中に完全版にするので、それまで待ったほうがいいかもー。CraftLaunchEXでクリップボードの履歴を取れたら、時計を表示するよりは便利そうだと思ってclmode_clockの代わりに作ってみた。例によってwin32関連のモジュールやPythonの実行環境な…

RSSビューアーとPython

etc

データを食うだけならものすごく簡単そうだが、UIを作ることを考えただけでメンドクサイ。読み込みだけPythonにやらしてUIはC++で作るとか。そしたらPythonが出てくる意味は無いのか。Pythonはもっとちょっとしたツールを書くのに向いてるように思う。

クリップボード関連

Pythonでクリップボードの値を取得する方法を調べてみたら案外簡単だったので拍子抜けした。基本部分は以下の通り。 import win32clipboard import win32con str = '' win32clipboard.OpenClipboard() str = win32clipboard.GetClipboardData(win32con.CF_TE…

RSSリーダ

etc

PythonでRSSリーダでもと思ったけど、仕様がいろいろ雑多で困ったものだ。CraftLaunchEXでRSS読めるってのも面白いと思ったんだけどなぁ。

整形テキスト

etc

整形テキストの中にHTMLタグが混ざるとおかしな具合になるのは仕様なのか。ちょっと困った。

前回アップしたバージョンは日本語処理がかなりやばかったのでいろいろ手を尽くした結果、多分日本語が化けないようになった。utf8のコーデックを使用してStreamReader経由でファイルの内容を受け取り、StreamWriter経由で書き込む。Win98系のOSで動作するの…

覚書色々

&Key系の需要が自分の中では高まってる。もしくは、&Key系と被るけど、&SendTextは拡張してShift、Alt、Ctrlなどが送れるとすごく便利だと思う。clfoobarの拡張で、再生、停止等のコントロールをCraft上からしたい。 先日書いた&SetCommandの出来は酷いので…

config.pyを編集した後で、いちいち再起動するのに簡単なように、VBScriptでCraftLaunchEXを起動できるようにした。 restart.vbsは以下の通り。本体と同じフォルダにおくこと。 Wscript.sleep(500) Set sh=CreateObject("WScript.Shell") sh.run "clnch.exe"…

そんなわけで、XMLを弄って何がしたかったかというと、SetCommandモドキ。編集画面はあまり作る気もしないので、ファイルパスを与えるとShellExecコマンドを登録してくれるという単純な機能しかない。バイトで疲れた頭を無理やり働かせて1時間ぐらいで書いた…

XMLの制御とか。

XMLを読み込んでノードを足して出力する。見た目を気にしなければxml.domにXMLを食わせて吐かせるぐらいは出来るんだけど、writexmlとかtoprettyxmlとか使うたびにインデントと改行がどんどん増えていったり、エレメントの順番がソートされて見づらくなった…

CraftEcho他

CraftEchoは残念ながら無改造では動かない。基本的に無保証なので、バックアップはしっかり取ること。配布元のませまさんにサポートを頼まないこと。こういうものこそ自己責任。 以下の3つはCraftEchoの変更箇所である。上のコメント行はオリジナルのコード…

秀丸に入力文字列をコピーする。command.xmlに以下のコマンドを追加。 import clsendtext wndTitle = None wndClass = 'Hidemaru32Class' childID = 100 hwnd = clsendtext.SendText(wndTitle, wndClass, childID , word) if hwnd: SetForegroundWindow(hwnd,…

DeecayさんがCraftLaunchEX and Python and Scriptsで公開してくださったSendTextのコードを参考に、手を加えてみた。変更点は、子ウインドウをGetDlgItemにIDを指定して取得するようにした事と、テキストをエンコードするようにしたことぐらい。 # -*- codi…

続・秀丸に文字を送る。

WM_CHARで送れることが判明。textはエンコードが必要な模様。そんなわけで必死になってまとめ作業とCraftEchoの動作検証中。

今日のトリビア

etc

stacked ━━ a. 〔俗〕 バストが大きい。 (14へぇ)

HiddenCommandをそれほど活用していたわけではないのだけれど、外部と連携を取るときにはそれなりに便利かもしれない。config.pyに以下のコードを追加。 import clcore from clmode import BaseMode def MyOnExecute( self, event ): if self.StackedCommand…

秀丸に文字を送る。

結論から言うと、今のところ秀丸には文字を送れてない。 秀丸のトップウインドウは、"hidemaru32Class"というクラス名を持つ。そしてテキスト領域のウインドウクラスは、"HM32CLIENT"。どちらにSendMessageでEM_REPLACESELを送っても、秀丸側では反応しない…

入力中の文字列をパラメータ化

いつもファイルを選んだ後で送りたいコマンドを決めようとして面倒な思いをしていたので、先頭に;を挿入してカーソルを先頭に持ってくるスクリプトを作成してみた。config.pyに以下のコードを追加。 def toParam() : SetValue(';' + GetValue()) SetSelectio…

ませCLのEX対応

秀丸マクロ、ませCLのEX対応について。iniファイルの設定を多少変更すれば、ませCL自体はほぼ無改造で動作する。ただし、CraftOpen,CraftEchoは今のところ対応する関数が無いので動かない。 まずはCraftPathの設定をコマンド起動ツール(XPならclnchr.exeの方…

辞書モード

CraftLaunchEX and Python and Scriptsのオンライン辞書モードはすばらしいものだけれど、手元の環境では日本語のアスキーへのエンコードが例外を投げてくれないので、和英辞書が使用できない。しょうがないので、問題のコードの直前に正規表現での判定処理…

自アドレス表示

ソケット関連のライブラリをPython本体から引っ張ってきてCraftLaunchExのフォルダの下に入れておかないと動作しない。ライブラリはPython本体から一通りCraftLaunchExのほうにもコピーしておいたほうが何かといいと思う。 import socket SetValue( socket.g…

etc

自律する意思の無いPCに命令を詰め込んでいく作業は、空っぽの箱に空気を入れるようなものなのかもしれない。どこまで行ってもそれは満たされること無く、何をしたところで最初から満ちている。