vte를 이용한 간단한 터미널

사용자 삽입 이미지
오! 이런 위젯이 있는지 몰랐네요..

간단한 위젯인데.. 이거 하나만 쓰면 그냥 터미널이 바로 뜨니..

조금만 해보면 자신만의 터미널을 만드는것도 쉬울거 같네요..

gnome-terminal,tilda가 이 vte 라이브러리를 사용하네요

아마 가상 터미널 애뮬리이팅? 의 약자인듯하네여..

30줄도 안대는 코드로 터미널 하나가 완성됩니다

해더->vte/vte.h,gtk/gtk.h

1 #include
2 #include
3
4 int main(int argc,char *argv[])
5 {
6 GtkWidget *terminal;
7 GtkWidget *window;
8
9 gtk_init(&argc,&argv);
10
11 window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
12
13 terminal=vte_terminal_new(); //위젯 생성
14 //터미널 씰헁조건 같은거..
15 vte_terminal_fork_command(VTE_TERMINAL(terminal),
16 getenv("SHELL"),NULL,NULL,"/home/lowid",
17 TRUE,TRUE,TRUE);
18
19 gtk_container_add(GTK_CONTAINER(window),terminal);
20
21 g_signal_connect(GTK_OBJECT(window),"destroy",gtk_main_quit,NULL);
22 g_signal_connect(GTK_OBJECT(terminal),"child-exited",gtk_main_quit,NULL); //터미널에서 exit 쳤을때
23 gtk_widget_show_all(window);
24
25 gtk_main();
26 return 0;
27 }

다른건 gtk창만드는것과 같고 다른게 있다면 vte의 함수를 가따 썻다는거 뿐

함수는 다음을 참고 하세연..클뤽~!


참고하면 좋은 소스


링크타고 보시면 아시겠지만 터미널을 제어할수 있는 함수가 몇개 되더군요..
이거 이용하면 그놈터미널정도(?)의 수준으로 터미널 만드는건 아주 어려운일 같은 정도는 아닌거 같습니다
추가>vte_terminal_fork_command 함수의 두번째 인자 getenv("SHELL")을 해야 쉘이 뜹니당..(처음 프로그램 정해줌)
안해주면 커서만 가만히 놀고 있음.. 이거 몰라가꾸 하루죙일 뻘짓,..

'Programming > GTK+' 카테고리의 다른 글

xlib 에러 해결!  (2) 2007.02.28
gtk Thread  (2) 2007.02.27
libglade 컴파일법  (1) 2006.12.14
TODAY.... 삽질 DAY  (6) 2006.08.09
(초보) gtk 작성팁  (10) 2006.08.04