回精華區
作者rainphiz.bbs@cpu.tfcis.org ( ) 看板: plan
標題Re: 如何增加快速離站熱鍵
時間動力核心 (2005/05/15 Sun 05:11:41) Updated: 2005/06/23
※ 引述《Smaller.bbs@kfking.com (聖賢之心凡人之體)》之銘言:
> 像是WD系統的ctrl+q
> 可以快速離站
> 感恩

: maple.p

/* xover.c */
+ int quick_exit(void);

: xover.c:quick_exit()      在 every_Z() 前面新增此函示

int
quick_exit()
{
  outz("確定要離站(Y/N)?[N] ");
  if (vkey() == 'y')
  {
    vmsg("謝謝光臨, 記得常來喔!");
    u_exit("EXIT ");
    exit(0);
  }

  return XO_FOOT;
}

: menu.c:menu()       選單按 ^Q 快速離站

    case Ctrl('U'):
      every_U(0);
      goto every_key;
+   case Ctrl('Q'):
+     quick_exit();
+     goto every_key;

: xover.c:xover()     介面按 ^Q 快速離站,只有沒被指定為 Query 時才有用

    else if (cmd == Ctrl('U'))
    {
      cmd = every_U(zone);
    }
+   else if ((cmd == Ctrl('Q')) &&
+     (zone != XZ_BMW) && (zone != XZ_GEM) && (zone != XZ_MBOX) &&
+     (zone != XZ_PAL) && (zone != XZ_ULIST) &&
+     (zone != XZ_POST) && (zone != XZ_XPOST) &&
+     (zone != XZ_VOTE))
+   {
+     cmd = quick_exit();
+   }

> -------------------------------------------------------------------------- <

  讓 ^Z 增加個離站選項

: xover.c

#ifdef MY_FAVORITE
- #define MSG_ZONE_SWITCH "快速切換:... (U)使用者 (W)水球:"
+ #define MSG_ZONE_SWITCH "快速切換:... (U)使用者 (W)水球 (Q)離站:"
#else
- #define MSG_ZONE_SWITCH "快速切換:... (U)使用者 (W)水球:"
+ #define MSG_ZONE_SWITCH "快速切換:... (U)使用者 (W)水球 (Q)離站:"
#endif

: xover.c:every_Z()

  case 'w':
    if (HAS_PERM(PERM_BASIC))
      cmd = XZ_BMW;
    break;
+  case 'q':
+    cmd = quick_exit();
+    break;

--
  我倒是覺得這功能讓 client 來實現即可
  例如 PCMan 的 Alt+W 或是 KKman 的 Ctrl+Del

--
  Origin:  Maple-itoc˙動力核心  cpu.tfcis.org 
  Author: rainphiz adsl-220-229-60-4.NH.sparqnet.net 發表
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻