⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settings.c

📁 The major functionality added in this release includes: - Rootless mode in X11 - Widget Templt
💻 C
📖 第 1 页 / 共 5 页
字号:
static voidsettings_throttlemeterset (GtkWidget * item, int num){	session *sess = gtk_object_get_user_data (GTK_OBJECT (item->parent));	sess->setup->prefs.throttlemeter = num;}static voidsettings_page_interface_layout (struct session *sess, GtkWidget * vbox){	GtkWidget *wid;	GtkWidget *tog, *tab;	GtkWidget *left_box, *right_box;	static char *tabmenutext[] = 	{		N_("Bottom"),		N_("Top"),		N_("Left"),		N_("Right"),		N_("Hidden"),		NULL	};	static char *metermenutext[] = 	{		N_("Off"),		N_("Progress bar"),		N_("Info text"),		N_("Both"),		NULL	};	wid = settings_create_group (vbox, _("Buttons"));	settings_create_tworows (wid, &left_box, &right_box);	tog = settings_create_toggle (_("Channel Mode Buttons"), right_box,											prefs.chanmodebuttons,											settings_ptoggle_check,											&(sess->setup->prefs.chanmodebuttons));	add_tip (tog, _("Show the TNSIPMLK buttons"));	tog = settings_create_toggle (_("User List Buttons"), left_box,											prefs.userlistbuttons,											settings_ptoggle_check,											&(sess->setup->prefs.userlistbuttons));	add_tip (tog, _("Show the buttons below the user list"));	wid = settings_create_group (vbox, _("Meters"));	settings_create_tworows (wid, &left_box, &right_box);	tab = settings_create_table (left_box);	settings_create_optmenu (tab, _("Lag meter:"), metermenutext,								settings_lagmeterset, sess, 0, prefs.lagometer);	tab = settings_create_table (right_box);	settings_create_optmenu (tab, _("Throttle meter:"), metermenutext,								settings_throttlemeterset, sess, 0, prefs.throttlemeter);	wid = settings_create_group (vbox, _("Tabs"));	tab = settings_create_table (wid);	settings_create_optmenu (tab, _("Tabs Located at:"), tabmenutext,								settings_tabsset, sess, 0, prefs.tabs_position);	settings_create_tworows (wid, &left_box, &right_box);	tog = settings_create_toggle (_("Channel Tabs"), right_box,											prefs.tabchannels, settings_ptoggle_check,											&(sess->setup->prefs.tabchannels));	add_tip (tog, _("Use tabs for channels instead of separate windows"));	tog = settings_create_toggle (_("Limited Tab Highlighting"), left_box,											prefs.limitedtabhighlight, settings_ptoggle_check,											&(sess->setup->prefs.limitedtabhighlight));	add_tip (tog, _("Only highlight channel tabs for channel messages and actions"));	tog = settings_create_toggle (_("New Tabs to front"), left_box,											prefs.newtabstofront, settings_ptoggle_check,											&(sess->setup->prefs.newtabstofront));	add_tip (tog, _("Bring new query/channel tabs to front"));	tog = settings_create_toggle (_("Private Message Tabs"), right_box,											prefs.privmsgtab, settings_ptoggle_check,											&(sess->setup->prefs.privmsgtab));	add_tip (tog, _("Use tabs for /query instead of separate windows"));	tog =		settings_create_toggle (_										("Use a separate tab/window for server messages"),wid, prefs.use_server_tab, settings_ptoggle_check,&(sess->setup->prefs.use_server_tab));	tog = settings_create_toggle (_("Use a separate tab/window for notices and server notices"),		wid, prefs.notices_tabs, settings_ptoggle_check, &(sess->setup->prefs.notices_tabs));	tog =		settings_create_toggle (_										("Use tabs for DCC, Ignore, Notify etc windows."),wid, prefs.windows_as_tabs, settings_ptoggle_check,&(sess->setup->prefs.windows_as_tabs));}static voidsettings_page_interface_mainwindow (struct session *sess, GtkWidget * vbox){	GtkWidget *wid;	GtkWidget *tab;	gint row_index;	wid = settings_create_group (vbox, _("Window Position"));	gtkutil_label_new (_("If Left and Top are set to zero, X-Chat will use\n"								"your window manager defaults."), wid);	tab = settings_create_table (wid);	row_index = 0;	sess->setup->entry_mainw_left =		settings_create_numberentry (_("Left:"), 0, 40000, 1, tab,								prefs.mainwindow_left, row_index++, 0);	sess->setup->entry_mainw_top =		settings_create_numberentry (_("Top:"), 0, 40000, 1, tab,								prefs.mainwindow_top, row_index++, 0);	wid = settings_create_group (vbox, _("Window Size"));	tab = settings_create_table (wid);	row_index = 0;	sess->setup->entry_mainw_width =		settings_create_numberentry (_("Width:"), 106, 40000, 1, tab,								prefs.mainwindow_width, row_index++, 0);	sess->setup->entry_mainw_height =		settings_create_numberentry (_("Height:"), 138, 40000, 1, tab,								prefs.mainwindow_height, row_index++, 0);	settings_create_toggle (_("Show Session Tree View"), wid, prefs.treeview,									settings_ptoggle_check,									&(sess->setup->prefs.treeview));}static voidsettings_page_interface_channelwindow (struct session *sess, GtkWidget * vbox){	settings_create_window_page (vbox,										  &sess->setup->font_normal,										  prefs.font_normal,										  &sess->setup->background,										  prefs.background,										  prefs.transparent,										  settings_transparent_check,										  prefs.tint,										  &(sess->setup->prefs.tint),										  &(sess->setup->prefs.show_separator),										  &(sess->setup->prefs.indent_nicks),										  &sess->setup->prefs.wordwrap,										  &sess->setup->check_transparent,										  &sess->setup->check_tint,										  &sess->setup->prefs.tint_red,										  &sess->setup->prefs.tint_green,										  &sess->setup->prefs.tint_blue,										  &sess->setup->prefs.auto_indent, sess);}static voidsettings_page_interface_dialogwindow (struct session *sess, GtkWidget * vbox){	settings_create_window_page (vbox,										  &sess->setup->dialog_font_normal,										  prefs.dialog_font_normal,										  &sess->setup->background_dialog,										  prefs.background_dialog,										  prefs.dialog_transparent,										  settings_transparent_dialog_check,										  prefs.dialog_tint,										  &(sess->setup->prefs.dialog_tint),										  &(sess->setup->prefs.dialog_show_separator),										  &(sess->setup->prefs.dialog_indent_nicks),										  &sess->setup->prefs.dialog_wordwrap,										  &sess->setup->dialog_check_transparent,										  &sess->setup->dialog_check_tint,										  &sess->setup->prefs.dialog_tint_red,										  &sess->setup->prefs.dialog_tint_green,										  &sess->setup->prefs.dialog_tint_blue,										  &sess->setup->prefs.auto_indent, sess);}#ifdef USE_PANELstatic voidsettings_page_interface_panel (struct session *sess, GtkWidget * vbox){	GtkWidget *wid;	GtkWidget *tog;	wid = settings_create_group (vbox, _("General"));	tog = settings_create_toggle (_("Hide Session on Panelize"), wid,											prefs.panelize_hide, settings_ptoggle_check,											&(sess->setup->prefs.panelize_hide));	add_tip (tog, _("Hide X-Chat when window moved to the panel"));	wid = settings_create_group (vbox, _("Panel Applet"));	tog = settings_create_toggle (_("Layout For a Vertical Panel"), wid,											prefs.panel_vbox, settings_ptoggle_check,											&(sess->setup->prefs.panel_vbox));	add_tip (tog, _("Layout the X-Chat panel applet for a vertical panel"));}#endifstatic voidsettings_page_irc (struct session *sess, GtkWidget * vbox){	GtkWidget *wid;	GtkWidget *tab;	GtkWidget *tog;	GtkWidget *left_box, *right_box;	gint row_index;	wid = settings_create_group (vbox, _("General"));	settings_create_tworows (wid, &left_box, &right_box);	tog = settings_create_toggle (_("Raw Mode Display"), left_box,											prefs.raw_modes, settings_ptoggle_check,											&(sess->setup->prefs.raw_modes));	add_tip (tog, _("Display raw mode changes instead of interpretations"));	tog = settings_create_toggle (_("Beep on Private Messages"), left_box,											prefs.beepmsg, settings_ptoggle_check,											&(sess->setup->prefs.beepmsg));	add_tip (tog, _("Beep when a private message for you is received"));	tog = settings_create_toggle (_("Beep on Channel Messages"), left_box,											prefs.beepchans, settings_ptoggle_check,											&(sess->setup->prefs.beepchans));	add_tip (tog, _("Beep when a channel message is received"));	tog = settings_create_toggle (_("Send /who #chan on join."), right_box,											prefs.userhost, settings_ptoggle_check,											&(sess->setup->prefs.userhost));	add_tip (tog, _("Find user information when joining a channel."));	tog = settings_create_toggle (_("Perform a periodic mail check."), right_box,											prefs.mail_check, settings_ptoggle_check,											&(sess->setup->prefs.mail_check));	wid = settings_create_group (vbox, _("Your irc settings"));	tab = settings_create_table (wid);	row_index = 0;	settings_create_entry (_("Quit Message:"),								  sizeof (prefs.quitreason) - 1, tab,								  prefs.quitreason,								  &sess->setup->entry_quit, 0, 0, row_index++);	settings_create_entry (_("Part Message:"),								  sizeof (prefs.partreason) - 1, tab,								  prefs.partreason,								  &sess->setup->entry_part, 0, 0, row_index++);	gtkutil_label_new (_("These can be a filename relative to ~/.xchat/ to be\n"								"used as a list of random quit or part reasons."), wid);	wid = settings_create_group (vbox, _("External Programs"));	tab = settings_create_table (wid);	row_index = 0;	settings_create_entry (_("DNS Lookup Program:"),								  sizeof (prefs.dnsprogram) - 1, tab,								  prefs.dnsprogram,								  &sess->setup->entry_dnsprogram, 0, 0, row_index++);	wid = settings_create_group (vbox, _("Timing"));	tab = settings_create_table (wid);	sess->setup->entry_recon_delay =		settings_create_numberentry (_("Auto ReConnect Delay:"), 0, 10000, 1, tab,								prefs.recon_delay, 0, _("seconds."));}static voidsettings_page_irc_ipaddress (struct session *sess, GtkWidget * vbox){	GtkWidget *wid;	GtkWidget *tab;	GtkWidget *tog;	gint row_index;	wid = settings_create_group (vbox, _("Address"));	tab = settings_create_table (wid);	row_index = 0;	settings_create_entry (_("Hostname / IP Number:"),								  sizeof (prefs.hostname) - 1, tab, prefs.hostname,								  &sess->setup->entry_hostname, 0, 0, row_index++);	gtkutil_label_new (_("Most people should leave this blank, it's only\n"								"usefull for machines with multiple addresses."),							 wid);	wid = settings_create_group (vbox, _("Public IP Address"));	tab = settings_create_table (wid);	row_index = 0;	settings_create_entry (_("DCC IP Address:"),								  sizeof (prefs.hostname) - 1, tab, prefs.dcc_ip_str,								  &sess->setup->entry_dcc_ip_str, 0, 0, row_index++);	gtkutil_label_new (_("You may need to set the DCC IP Address if\n"			     "you're behind a NAT router or proxy firewall."),							 wid);	tog = sess->setup->check_ip = settings_create_toggle		(_("Get my IP from Server (for use in DCC Send only)"), wid,		 prefs.ip_from_server, settings_ptoggle_check,		 &(sess->setup->prefs.ip_from_server));	add_tip (tog, _("For people using a 10.* or 192.168.* IP number."));}static voidsettings_proxytypeset (GtkWidget * item, int num){	session *sess = gtk_object_get_user_data (GTK_OBJECT (item->parent));	sess->setup->prefs.proxy_type = num;}static voidsettings_page_proxy (struct session *sess, GtkWidget * vbox){	GtkWidget *wid;	GtkWidget *tab;	gint row_index;	static char *proxymenutext[] =	{		N_("(Disabled)"),		N_("Wingate"),		N_("Socks4"),		N_("Socks5"),		N_("HTTP"),		NULL	};	wid = settings_create_group (vbox, _("General"));	tab = settings_create_table (wid);	row_index = 0;	settings_create_entry (_("Proxy Server Hostname:"),								  sizeof (prefs.proxy_host) - 1, tab, prefs.proxy_host,								  &sess->setup->entry_proxy_host, 0, 0, row_index++);	sess->setup->entry_proxy_port =		settings_create_numberentry (_("Proxy Server Port:"), 0, 65535, 1, tab,								prefs.proxy_port, row_index++, 0);	settings_create_optmenu (tab, _("Proxy Type:"), proxymenutext,								settings_proxytypeset, sess, row_index, prefs.proxy_type);}static voidsettings_page_irc_away (struct session *sess, GtkWidget * vbox){	GtkWidget *wid;	GtkWidget *tab;	GtkWidget *tog;	gint row_index;	wid = settings_create_group (vbox, _("General"));	tog = settings_create_toggle (_("Show away once"), wid,											prefs.show_away_once, settings_ptoggle_check,											&(sess->setup->prefs.show_away_once));	add_tip (tog, _("Only show away messages the first time they're seen"));	tog = settings_create_toggle (_("Announce away messsages"), wid,											prefs.show_away_message,											settings_ptoggle_check,											&(sess->setup->prefs.show_away_message));	add_tip (tog,				_("Announce your away message to the channel(s) you are in"));	wid = settings_create_group (vbox, _("Your away settings"));	tab = settings_create_table (wid);	row_index = 0;	settings_create_entry (_("Away Reason:"),								  sizeof (prefs.awayreason) - 1, tab,								  prefs.awayreason,								  &sess->setup->entry_away, 0, 0, row_index++);}static voidsettings_page_irc_highlighting (struct session *sess, GtkWidget * vbox){	GtkWidget *wid;	GtkWidget *tab;	gint row_index;	wid = settings_create_group (vbox, _("General"));	tab = settings_create_table (wid);	row_index = 0;	settings_create_entry (_("Words to Highlight:"),								  sizeof (prefs.bluestring) - 1, tab,								  prefs.bluestring,								  &sess->setup->entry_bluestring,								  _("(separate with commas)"), 0, row_index++);}static voidsettings_page_irc_logging (struct session *sess, GtkWidget * vbox){	GtkWidget *wid;	GtkWidget *tog, *tab;	gint row_index;	wid = settings_create_group (vbox, _("General"));	tab = settings_create_table (wid);	tog = settings_create_toggle (_("Logging"), wid,											prefs.logging, settings_ptoggle_check,											&(sess->setup->prefs.logging));	add_tip (tog, _("Enable logging conversations to disk"));	tog = settings_create_toggle (_("Always timestamp logs"), wid,											prefs.timestamp_logs, settings_ptoggle_check,											&(sess->setup->prefs.timestamp_logs));	add_tip (tog, _("Always apply timestamp to disk logs"));	row_index = 0;	settings_create_entry (_("Log name mask:"),								  sizeof (prefs.logmask) - 1, tab,								  prefs.logmask, &sess->setup->logmask_entry,								  NULL, NULL, row_index++);	settings_create_entry (_("Log timestamp format:"),								63, tab,								prefs.timestamp_log_format, &sess->setup->logtimestamp_entry,								NULL, NULL, row_index++);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -