由於用lilyterm上mud的時候,有些深灰色的字(色碼是^[[1;30m的顏色)會看不太到,而lilyterm本身沒有可供設定各種色碼對應顏色的選項,但予兒又特別偏愛lilyterm(因為喜歡這個名字XD),只好從原始碼下手了。(lilyterm版本為0.9.6)
首先找到開一個新的Terminal的時候設定顏色的地方,在src/profile.c的850行附近:
在該函式的前面加入自己的顏色定義,前八項分別為暗色的色碼0~7,後八項為亮色的色碼0~7:// 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));
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。
沒有留言:
張貼留言