板 1- 前 次 新 レス
旧雑記サルベージ
[56]管理人 ★:06/09/06 17:26 ID:???
2004年12月31日
■AutoHotkeyでCygwinのXWinをどうにかする
暇だったのでCygwinの全パッケージをインストールしてXWindowsを弄ってみた。
XWinのマルチウィンドウモードで、余計なコンソールウィンドウを出さず、すべてのウィンドウを閉じたらXWin.exeも終了してくれるようなスクリプトが欲しかったが、.batや.shで作るのが面倒だったのでAutoHotkeyでやることに。
とりあえずこんな感じになった。
\tmp\.X11-unix\X0の削除はなくてもいいような気がするが、いくつかのサイトで見かけたので入れておく。
Xwinの終了は、タスクトレイアイコンのメニューで「Exit」を選んだときの動作にした。
いちいち確認ダイアログが出るが、ここで終了をキャンセルしておけば次回実行時にXWinの起動待ち時間をなくせる。
後、強制終了だとタスクトレイアイコンが残ってしまう。
#NoTrayIcon
DetectHiddenWindows,On
EnvSet,DISPLAY,localhost:0.0
EnvSet,CYGWIN_ROOT,D:\cygwin
EnvSet,PATH,%CYGWIN_ROOT%\bin;%CYGWIN_ROOT%\usr\X11R6\bin;%PATH%
IfWinNotExist,ahk_class cygwin/x
{
IfExist %CYGWIN_ROOT%\tmp\.X11-unix\X0
{
FileSetAttrib,-S,%CYGWIN_ROOT%\tmp\.X11-unix\X0
FileDelete,%CYGWIN_ROOT%\tmp\.X11-unix\X0
}
Run,XWin.exe -multiwindow -clipboard -emulate3buttons,,Hide
Run,rxvt -sr -e bash,,Hide
WinWait,D:\cygwin\bin\rxvt.exe
WinWaitClose,D:\cygwin\bin\rxvt.exe
SendMessage,0x111,200,,,ahk_class cygwin/x
}
else
{
Run,rxvt -sr -e bash,,Hide
ExitApp
}
前 次