用lilyterm上mud

  由於用lilytermmud的時候,有些深灰色的字(色碼是^[[1;30m的顏色)會看不太到,而lilyterm本身沒有可供設定各種色碼對應顏色的選項,但予兒又特別偏愛lilyterm(因為喜歡這個名字XD),只好從原始碼下手了。(lilyterm版本為0.9.6)

  首先找到開一個新的Terminal的時候設定顏色的地方,在src/profile.c的850行附近:

// set font/background colors
vte_terminal_set_default_colors(VTE_TERMINAL(vtebox));
vte_terminal_set_color_foreground(VTE_TERMINAL(vtebox), &(win_data->fg_color));
vte_terminal_set_color_background(VTE_TERMINAL(vtebox), &(win_data->bg_color));
在該函式的前面加入自己的顏色定義,前八項分別為暗色的色碼0~7,後八項為亮色的色碼0~7:
GdkColor colors[16]={{ 0, 0x0000, 0x0000, 0x0000 }, 
                     { 0, 0x8000, 0x0000, 0x0000 }, 
                     { 0, 0x0000, 0x8000, 0x0000 }, 
                     { 0, 0x8000, 0x8000, 0x0000 }, 
                     { 0, 0x0000, 0x0000, 0x8000 }, 
                     { 0, 0x8000, 0x0000, 0x8000 }, 
                     { 0, 0x0000, 0x8000, 0x8000 }, 
                     { 0, 0xE000, 0xE000, 0xE000 },
                     { 0, 0x9000, 0x9000, 0x9000 }, 
                     { 0, 0xF000, 0x0000, 0x0000 }, 
                     { 0, 0x0000, 0xF000, 0x0000 }, 
                     { 0, 0xF000, 0xF000, 0x0000 }, 
                     { 0, 0x0000, 0x0000, 0xF000 }, 
                     { 0, 0xF000, 0x0000, 0xF000 }, 
                     { 0, 0x0000, 0xF000, 0xF000 }, 
                     { 0, 0xF000, 0xF000, 0xF000 }};
最後把原本設定顏色那段註解起來,用這個新定義的顏色來設定色彩:
vte_terminal_set_colors(VTE_TERMINAL(vtebox),
  &(win_data->fg_color), &(win_data->bg_color), &colors, 16);

  這樣就可以快樂地用百合花終端機來上mud囉(當然別忘了要重新編譯XD)。想知道更多VteTerminal的使用方法可以去找它的Reference Manual

發表留言

只對管理員顯示

果園二三事

予兒

Author:予兒
關於此果園
關於果園主人

找果子/找種子
新採收的果實
種子分類室
新栽的幼苗
過往播種記錄
最新好吃水果
請稍候,正在讀取中…
RSS飛行種子
果園聯外道路