2012-09 / 2012-09-01

前のエントリ: 西武ライオンズ戦@西武ドーム [diary]
次のエントリ: CraftLaunch + だいなファイラでスラッシュ(/)区切りのパス取得 [win]

CraftLaunch 3.x に移行
2012-09-01-1 / カテゴリ: [アプリ][win] / [permlink]

10年以上 CraftLaunch ってランチャアプリ使ってるんだけど、バージョンずっと古いまま(2.04)だったので、いい加減最新版(3.x)に移行してみた。

以降に戸惑ってたのが、環境変数を使った設定と、ウィンドウをアクティブにするコマンド設定がよくわからなかったからなんだけど、環境変数は単に %HOME% とかで参照できることに気付いた(旧版だと%env[HOME]とか書く)ので、移行の障壁がなくなった(笑)
ウィンドウのアクティブ化に関しては、愛用しているだいなファイラー側が複数起動しないタイプだったので個人利用上問題なかった。

んで、コマンドの設定を終えてふと「空欄コマンド」の設定がないことに気付いて調べたところ、 config.py を直接見ないとだめらしい。
初期状態だとShiftとかCtrlの装飾ありの実行だったけど、見よう見まねで「空欄状態でEnterのみでだいなファイラ起動」を設定
--- config.py.org	2012-09-01 14:36:45.470986900 +0900
+++ config.py	2012-09-01 23:17:04.994104300 +0900
@@ -52,3 +52,3 @@
 def callback( wnd, arg ):
-            process_name, class_name = arg[0], arg[1]
+            process_name, class_name, app_path, exec_path = arg[0], arg[1], arg[2], arg[3]
     if (process_name==None or wnd.getProcessName()==process_name) and (class_name==None or wnd.getClassName()==class_name):
@@ -57,2 +57,6 @@
         return False
+            elif (app_path!=None):
+                # アプリ起動設定の場合
+                shellExecute( None, None, app_path, u"", exec_path )
+                return False
     return True
@@ -60,7 +64,15 @@
 if mod==MODKEY_SHIFT:
-            pyauto.Window.enum( callback, ["cfiler.exe",None] )
+            pyauto.Window.enum( callback, ["cfiler.exe",None,None,None] )
 elif mod==MODKEY_CTRL:
-            pyauto.Window.enum( callback, ["notepad.exe","Notepad"] )
+            pyauto.Window.enum( callback, ["notepad.exe","Notepad",None,None] )
 elif mod==MODKEY_SHIFT|MODKEY_CTRL:
-            pyauto.Window.enum( callback, ["mintty.exe","MinTTY"] )
+            pyauto.Window.enum( callback, ["mintty.exe","MinTTY",None,None] )
+        else:
+            pyauto.Window.enum( callback, ["DYNA.EXE",None,u"C:/local/appli/dyna/DYNA.EXE",u"C:/local/appli/dyna"] )
 
既存の「アクティブなウインドウを検索するためのプロセス名」パラメタに加えて、実行パスとディレクトリを設定して、そのコマンドを起動(shellExecute())するようにしてる。
無修飾のEnter押下については、modの判定がわからなかったので、else:節で実行

と言ってもこれ、pyauto.Window.enum()の機能的にちょっと実装の仕方がおかしいので(やりたいことはできてるけど)そのうち直したい…
あと「起動済みだったらアクティブ、未起動なら起動」とかもやりたい。
更についでに「最小化状態なら最小化解除」がデフォルト設定でも動作してない…
前のエントリ: 西武ライオンズ戦@西武ドーム [diary]
次のエントリ: CraftLaunch + だいなファイラでスラッシュ(/)区切りのパス取得 [win]

2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12