☆gmrunで Ctrl+PをUp、Ctrl+NをDownキーと同じように動作させる

gmrunの履歴操作を行う際、カーソルキーのUp/Downを押そうとするとどうしてもホームポジションから右手が離れてしまい不便です。

そこでソースをいじって、キーバインドをなるべくbashに近づけないか試してみました。
今のところ私の知識ですぐに修正できたのは、表題のとおりCtrl+PとCtrl+Nだけです。

例によって環境はubuntu 910 karmic koalaです。
なぜかVersion:0.9.1-2.4ではコンパイルが通らず(引数の型に互換性がない)、0.9.1-4をしています。

今回は手抜きで作業方法は省きます。

修正対象はgtkcompletionline.ccのon_key_press関数です。
修正した後のgtkcompletionline.ccとコンパイルしたgmrunを
https://sites.google.com/site/midspeclowload/files/gmrun_0.9.1-4.mod.tar.gz?attredirects=0&d=1
に置きました。

ちなみに修正内容は下記のとおりです。

--- gmrun-0.9.1.org/src/gtkcompletionline.cc    2010-01-26 23:33:54.783042744 +0900
+++ gmrun-0.9.1/src/gtkcompletionline.cc    2010-01-26 23:58:11.000000000 +0900
@@ -970,6 +970,11 @@
       STOP_PRESS;
       return TRUE;

+     case GDK_P:
+     case GDK_p:
+      if (event->state & GDK_CONTROL_MASK) {
+        ;/* fall to 'case GDK_Up:'*/
+      } else goto ordinary;
      case GDK_Up:
       if (cl->win_compl != NULL) {
         int &item = cl->list_compl_items_where;
@@ -1005,6 +1010,11 @@
      }
      return FALSE;

+     case GDK_N:
+     case GDK_n:
+      if (event->state & GDK_CONTROL_MASK) {
+        ;/* fall to 'case GDK_Down:'*/
+      } else goto ordinary;
      case GDK_Down:
       if (cl->win_compl != NULL) {
         int &item = cl->list_compl_items_where;

0 件のコメント:

コメントを投稿