;; ウィンドウの位置とサイズを引数で変更
;; 「X座標 Y座標 ウィンドウ幅 ウインドウの高さ」の4つの引数を取る
;; > xyzzy の音 - バッファ/ウィンドウ/フレーム
;; > http://hie.s64.xrea.com/xyzzy/note/buffer.html#xyzzy-resize
;; を参考にした
(require "wip/winapi")
(unless (fboundp 'SetWindowPos)
(c:*define-dll-entry winapi:BOOL SetWindowPos
(winapi:HWND winapi:HWND winapi:INT winapi:INT winapi:INT winapi:INT winapi:UINT)
"user32"))
;サイズを変更
(defun xyzzy-resize ()
(interactive)
(if si:*command-line-args* (setq x (pop si:*command-line-args*))(setq x "1280"))
(if si:*command-line-args* (setq y (pop si:*command-line-args*))(setq y "43"))
(if si:*command-line-args* (setq w (pop si:*command-line-args*))(setq w "608"))
(if si:*command-line-args* (setq h (pop si:*command-line-args*))(setq h "1023"))
;位置/サイズを指定
(SetWindowPos (get-window-handle) 0
(parse-integer x) ;X座標
(parse-integer y) ;Y座標
(parse-integer w) ;ウィンドウ幅
(parse-integer h) ;ウィンドウ高さ
0))
xyzzy -e (xyzzy-resize) 1280 43 608 1023
のように「X座標 Y座標 幅 高さ」の数値を与えて外部から変更する。
0 件のコメント:
コメントを投稿