現在の設定に応じ、メニューを動的に変更する方法について考えてみる。
僕は普段、Ctrl+Enterに「拡張子判別実行」%K"@Zを割り当てている。その時は、
と「実行時にカーソルを下げる(1)」メニュー項目を表示。選択すれば、Ctrl+Enterへの割当が「拡張子判別実行をしてからカーソルを下げる」%K"@Z @DOWNに切り替わる。
もし、現在の設定で、Ctrl+Enterへの割当が「拡張子判別実行をしてからカーソルを下げる」%K"@Z @DOWNになっていれば、
と「実行時にカーソルを下げない(1)」メニュー項目を表示。選択すれば、Ctrl+Enterへの割当が「拡張子判別実行」%K"@Zに切り替わる。
スクリプト
//!*script // メニューの削除 PPx.Execute("*setcust -|M_hoehoe ="); // メニュー項目の登録 if (PPx.Extract("%*getcust(KC_main:^ENTER)")=="@Z @DOWN"){ PPx.Execute('*setcust M_hoehoe:実行時にカーソルを下げない(&1)=*setcust KC_main:^ENTER=@Z'); } else { PPx.Execute('*setcust M_hoehoe:実行時にカーソルを下げる(&1)=*setcust KC_main:^ENTER=@Z @DOWN'); } // メニューを開く PPx.Execute("%M_hoehoe");
思ったこととか
登録すべき適当なコマンドが他に思いつかない…。「その時々で切り替えれば便利な設定」って結構ある気がするんだけどな。
このやり方を応用すれば、「あふモード」「だいなモード」みたいに、その時々でキーバインドその他の設定を大きく、一挙に切り替えるということもできるかもという妄想。ただ俺の使い方だとあまり有用性はなさそうだ。「画像管理モード」とか「テキスト閲覧モード」とかなら案外便利…?
0 件のコメント:
コメントを投稿