File: ml_term_manager.h

package info (click to toggle)
mlterm 2.4.0.cvs20020414-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 14,416 kB
  • ctags: 3,528
  • sloc: ansic: 48,035; sh: 6,413; perl: 1,701; makefile: 443
file content (143 lines) | stat: -rw-r--r-- 3,048 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/*
 *	$Id: ml_term_manager.h,v 1.36 2002/03/28 20:17:23 arakiken Exp $
 */

/*
 * ANTI_ALIAS macro should be concerned.
 */

#ifndef  __ML_TERM_MANAGER_H__
#define  __ML_TERM_MANAGER_H__


#include  <kiklib/kik_types.h>	/* u_int */

#include  "ml_pty.h"
#include  "ml_vt100_parser.h"
#include  "ml_font_manager.h"
#include  "ml_color_manager.h"
#include  "ml_window_manager.h"
#include  "ml_term_screen.h"	/* ml_system_event_listener_t */


typedef struct ml_display
{
	char *  name ;
	Display *  display ;
	
	ml_window_manager_t  win_man ;
	ml_color_manager_t  color_man ;

} ml_display_t ;

typedef struct ml_term
{
	ml_pty_t *  pty ;
	ml_display_t *  display ;
	ml_window_t *  root_window ;
	ml_vt100_parser_t *  vt100_parser ;
	ml_font_manager_t *  font_man ;

} ml_term_t ;

typedef struct ml_config
{
	int  x ;
	int  y ;
	int  geom_hint ;
	u_int  cols ;
	u_int  rows ;
	u_int  screen_width_ratio ;
	u_int  screen_height_ratio ;
	u_int  font_size ;
	u_int  num_of_log_lines ;
	u_int  line_space ;
	u_int  tab_size ;
	ml_iscii_lang_t  iscii_lang ;
	ml_mod_meta_mode_t  mod_meta_mode ;
	ml_bel_mode_t  bel_mode ;
	ml_sb_mode_t  sb_mode ;
	u_int  col_size_a ;
	ml_char_encoding_t  encoding ;
	ml_font_present_t  font_present ;
	ml_vertical_mode_t  vertical_mode ;

	char *  disp_name ;
	char *  app_name ;
	char *  title ;
	char *  icon_name ;
	char *  term_type ;
	char *  scrollbar_view_name ;
	char *  pic_file_path ;
	char *  conf_menu_path ;
	char *  fg_color ;
	char *  bg_color ;
	char *  sb_fg_color ;
	char *  sb_bg_color ;
	char *  cmd_path ;
	char **  cmd_argv ;
	
	u_int8_t  step_in_changing_font_size ;
	u_int16_t  brightness ;
	u_int8_t  fade_ratio ;
	int8_t  use_scrollbar ;
	int8_t  use_login_shell ;
	int8_t  xim_open_in_startup ;
	int8_t  use_bidi ;
	int8_t  big5_buggy ;
	int8_t  iso88591_font_for_usascii ;
	int8_t  not_use_unicode_font ;
	int8_t  only_use_unicode_font ;
	int8_t  copy_paste_via_ucs ;
	int8_t  use_transbg ;
	int8_t  use_multi_col_char ;
	int8_t  use_vertical_cursor ;
	int8_t  use_extended_scroll_shortcut ;
	int8_t  use_dynamic_comb ;

} ml_config_t ;

typedef struct  ml_term_manager
{
	ml_display_t **  displays ;
	u_int  num_of_displays ;
	
	ml_term_t *  terms ;
	u_int  max_terms ;
	u_int  num_of_terms ;
	u_int  num_of_startup_terms ;
	
	/* 32 is the very max of terminals */
	u_int32_t  dead_mask ;

	int  sock_fd ;
	
	ml_system_event_listener_t  system_listener ;
	
	ml_font_custom_t  normal_font_custom ;
	ml_font_custom_t  v_font_custom ;
	ml_font_custom_t  t_font_custom ;
#ifdef  ANTI_ALIAS
	ml_font_custom_t  aa_font_custom ;
	ml_font_custom_t  vaa_font_custom ;
	ml_font_custom_t  taa_font_custom ;
#endif
	ml_color_custom_t  color_custom ;
	ml_keymap_t  keymap ;
	ml_termcap_t  termcap ;

	ml_config_t  conf ;

	int8_t  is_genuine_daemon ;
	
} ml_term_manager_t ;


int  ml_term_manager_init( ml_term_manager_t *  term_man , int  argc , char **  argv) ;

int  ml_term_manager_final( ml_term_manager_t *  term_man) ;

void  ml_term_manager_event_loop( ml_term_manager_t *  term_man) ;


#endif