int main(int argc,char *argv[]) { LowTerm lowterm; int i; if(Config_Get(argc, argv, &lowterm) != 0){ fprintf(stderr, "Total Terminal Count : %d\n", lowterm.terminal_count); return -1; } Stack_New(&lowterm.visible_list, lowterm.terminal_count); gtk_init(&argc, &argv); for(i = 0;i < lowterm.terminal_count; i++){ /* fprintf(stderr, "Terminal Address : %p\n", &(lowterm.terminal[i])); */ lowterm.terminal[i].visible_list_pointer = &(lowterm.visible_list); Terminal_New(i, &(lowterm.terminal[i])); Terminal_Set(lowterm.terminal[i]); Terminal_Show_Hide(lowterm.terminal[i].window, &(lowterm.terminal[i])); } // 초기 윈도우 크기(width/height), 윈도우명, 실행명령을 파라미터로 받을수 있도록 한다. // urxvt를 밀어버리고 이걸로 쓸 예정, urxvt는 한글입력이 뭐같아서 싫어 gtk_main(); free(lowterm.terminal); Stack_Delete(&(lowterm.visible_list)); return 0; }
int main(void) { Terminal term = Terminal_New(true); Terminal_Configure(&term, false, false); Terminal_InputLine line = Terminal_InputLine_New(&term); App app; app.interrupt = false; line.onKeyPress = Terminal_InputLine_OnKeyPress_For(&app, App_OnKeyPress); line.onKeyEnter = Terminal_InputLine_OnKeyEnter_For(&app, App_OnKeyEnter); int res = ExitStatus_Success; try { while (!app.interrupt) { Terminal_InputLine_Process(&line); } } catchAny { Exception_Print(e); res = ExitStatus_Failure; } finally { Terminal_InputLine_Destroy(&line); Terminal_Destroy(&term); } tryEnd; return res; }
int main(void) { Terminal term = Terminal_New(true); Terminal_Configure(&term, false, false); Terminal_Print(&term, Terminal_Color_Normal, Terminal_Font_Normal, $("Normal.")); Terminal_Print(&term, Terminal_Color_Normal, Terminal_Font_Normal, $("\n")); Terminal_Print(&term, Terminal_Color_Normal, Terminal_Font_Bold, $("Bold font.\n")); Terminal_Print(&term, Terminal_Color_Normal, Terminal_Font_Italics, $("Italic font.\n")); Terminal_Print(&term, Terminal_Color_Normal, Terminal_Font_Underline, $("Underlined font.\n")); Terminal_Print(&term, Terminal_Color_Normal, Terminal_Font_Blink, $("Blinking font.\n")); Terminal_Print(&term, Terminal_Color_ForegroundRed, Terminal_Font_Normal, $("Red foreground.\n")); Terminal_Print(&term, Terminal_Color_BackgroundRed, Terminal_Font_Normal, $("Red background.")); Terminal_Print(&term, Terminal_Color_Normal, Terminal_Font_Normal, $("\n")); Terminal_Print(&term, Terminal_Color_ForegroundRed, Terminal_Font_Bold | Terminal_Font_Italics, $("Red foreground, bold and italic font.\n")); Terminal_Destroy(&term); return ExitStatus_Success; }
def(void, Init, int argc, char *argv[], char *envp[]) { FPU_setExceptions(FPU_Exception_All & ~FPU_Exception_InexactResult); size_t envItems = 0; for (char **cur = envp; *cur != null; cur++) { envItems++; } this->base = String_FromNul(argv[0]); this->env = RdStringArray_New(envItems); this->args = RdStringArray_New(argc - 1); this->logger = Logger_New(Logger_Printer_For(this, ref(OnLogMessage))); this->term = Terminal_New(false); Terminal_SetOutput(&this->term, Channel_StdErr); for (int i = 1; i < argc; i++) { RdStringArray_Push(&this->args, String_FromNul(argv[i])); } fwd(i, envItems) { RdStringArray_Push(&this->env, String_FromNul(envp[i])); }