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

📄 gkrellm.h

📁 系统任务管理器
💻 H
📖 第 1 页 / 共 2 页
字号:
	gboolean	config_loaded;	gboolean	log;	gint		h;	void		(*cb_height)();	gpointer	cb_height_data;	GtkWidget	*height_spin_button;	/* grid_resolution must be an integer and will be mapped into an integer	|  1,2,5 or 1,1.5,2,3,5,7 sequence if map_sequence is TRUE.  If	|  map_sequence is false, grid_resolution will be the spin_button	|  value * spin_factor so spin buttons may have non-integer settings.	*/	gint		grid_resolution;	gboolean	auto_grid_resolution;	gboolean	auto_resolution_stick;	gboolean	sequence_125;	void		(*cb_grid_resolution)();	gpointer	cb_grid_resolution_data;	GtkWidget	*grid_resolution_spin_button;	GtkWidget	*auto_resolution_control_menubar;	GtkItemFactory	*auto_resolution_item_factory;	gchar		*grid_resolution_label;	gboolean	adjustment_is_set;	gboolean	map_sequence;	gfloat		spin_factor;	gfloat		low,		/* Stuff for the grid_resolution spin adjustment */				high,				step0,				step1;	gint		digits,				width;	gboolean	fixed_grids;	void		(*cb_fixed_grids)();	gpointer	cb_fixed_grids_data;	GtkWidget	*fixed_grids_spin_button;	GList		*cd_list;			/* Same list as in parent GkrellmChart */	GList		**chart_cd_list;	gboolean	cb_block;	}	GkrellmChartconfig;  /* GkrellmCharts are drawn in layers and each data value drawn has its own  |  layer (the GkrellmChartdata struct -> image/color of the drawn data and  |  the data colored grid lines).  Each layer is a chart sized pixmap  |  with grid lines drawn on it.  A chart is drawn by drawing the  |  background followed by stenciling each data layer through a  |  data_bitmap.  */typedef struct	{	GdkPixmap	*pixmap;			/* Working layer pixmap with grid lines	*/	GdkPixmap	**src_pixmap;		/* The layer source image/color		*/	GdkPixmap	*grid_pixmap;		/* The grid pixmap to draw on src 	*/	}	GkrellmChartlayer;typedef struct	{	GtkWidget		*vbox,					*image;	GkrellmPiximage	*piximage;	GdkPixmap		*pixmap,					*clean_pixmap;	GdkBitmap		*mask;	gint			height;			/* Width is _GK.chart_width */	}	GkrellmSpacer;typedef struct	{	gchar			*text;	gint			x, y;	gint			w, h;	gint			baseline,					y_ink;	gboolean		cache_valid;	}	GkrellmTextRun;typedef struct	{	GtkWidget	*box;			/* Container box this chart is packed into */	GtkWidget	*drawing_area;	GkrellmPanel *panel;	GList		*cd_list;		/* Same cd_list as in GkrellmChartconfig struct */	gint		cd_list_index;	void		(*draw_chart)(gpointer);	gpointer	draw_chart_data;	gint		x, y, w, h;		/* h tracks h in GkrellmChartconfig	*/	GkrellmChartconfig	*config;	gboolean	shown;	gboolean	redraw_all;	gint		position,				tail;	gboolean	primed;	gint		privat;	gint		i0;				/* Draw start index */	gint		alloc_width;	gint		scale_max;	gint		maxval,				maxval_auto,				maxval_auto_base,				maxval_peak;	gulong		previous_total;	gint		style_id;	GdkPixmap	*pixmap;			/* The expose pixmap.			*/	GkrellmPiximage				*bg_piximage,				*bg_grid_piximage;	GdkPixmap	*bg_pixmap,			/* Working bg with grid lines	*/				*bg_src_pixmap,		/* bg with no grid lines		*/				*bg_grid_pixmap,	/* This + bg_src_pixmap builds bg_pixmap*/				*bg_clean_pixmap,	/* This + trans builds bg_src_pixmap */				*bg_text_pixmap;	/* Pango rendered chart text layer */	GdkBitmap	*bg_mask;	gint		transparency;	gboolean	bg_piximage_override;	guint		bg_sequence_id;	gchar		*text_format_string;	GList		*text_run_list;		/* Caching chart text runs */	gint		h_text,				y_ink,				baseline_ref;	guint		text_run_sequence_id;	gboolean	text_format_reuse;	gint		y_mapped,				auto_recalibrate_delay;	GtkWidget	*config_window;	GkrellmSpacer	top_spacer,					bottom_spacer;	GkrellmStyle	*style;	gpointer		monitor;	}	GkrellmChart;  /* Values for GkrellmChartdata draw_style */#define	CHARTDATA_IMPULSE	0#define	CHARTDATA_LINE		1  /* Values for GkrellmChartdata flags */#define CHARTDATA_ALLOW_HIDE			1#define CHARTDATA_NO_CONFIG_DRAW_STYLE	2#define CHARTDATA_NO_CONFIG_INVERTED	4#define CHARTDATA_NO_CONFIG_SPLIT		8#define CHARTDATA_NO_CONFIG				0xftypedef struct	{	gint		flags;	GkrellmChart *chart;			/* GkrellmChart this data belong to */	gchar		*label;	gulong		current,				previous,				discard;	gboolean	monotonic;	GkrellmChartlayer layer;	/* The image + grid for this data layer */	GdkBitmap	*data_bitmap;	/* Draw data here, use as clipmask for layer*/	gint		*data;	gint		draw_style;	gboolean	inverted;	gboolean	hide;	gboolean	split_chart;	gfloat		split_fraction,				split_share;	GtkWidget	*split_fraction_spin_button;	gint		y_p,				y_pp;	gboolean	y_p_valid;	gint		y,				/* Each data layer draws at an offset y and */				h,				/* within height h of its parent GkrellmChart*/				w;				/* Width of data allocated.				*/	gint		maxval;	}	GkrellmChartdata;typedef struct	{	GkrellmPanel *panel;	GkrellmDecal *decal;	void		(*cb_button_click)();	gpointer	data;	gint		(*cb_in_button)();	gpointer	in_button_data;	gpointer	privat;	gint		cur_index;	gint		pressed_index;	gint		saved_index;	gint		sensitive;	gint		type;	void		(*cb_button_right_click)();	gpointer	right_data;	}	GkrellmDecalbutton;typedef struct	{	gchar		*command;	gint		type;	gint		pad;	FILE		*pipe;		/* Read the output of some commands */	GkrellmDecalbutton	*button;	GtkTooltips	*tooltip;	gchar		*tooltip_comment;	GkrellmDecal *decal;		/* Used if DECAL_LAUNCHER type	*/	GkrellmMargin margin;	GtkWidget	*widget;	}	GkrellmLauncher;/* ------- Alerts ------- */#define	GKRELLM_ALERTCONFIG_KEYWORD			"alert_config"typedef struct	{	struct _GkrellmMonitor	*mon;	gchar		*name,				*tab_name;	void		(*warn_func)(),				(*alarm_func)(),				(*update_func)(),				(*check_func)(),				(*destroy_func)();	void		(*config_create_func)(),				(*config_apply_func)(),				(*config_save_func)(),				(*config_load_func)();	}	GkrellmAlertPlugin;typedef struct	{	GkrellmAlertPlugin	*alert_plugin;	gpointer			data;	}	GkrellmAlertPluginLink;typedef struct	{	gboolean	warn_on,				alarm_on;	gfloat		warn_limit,				alarm_limit;	gint		warn_delay,				alarm_delay;	GtkWidget	*warn_limit_spin_button,				*alarm_limit_spin_button;	}	GkrellmTrigger;typedef struct	{	GkrellmDecal *decal;	gint		x, y, w, h;	GdkPixmap	*pixmap;	GdkBitmap	*mask;	gint		frame,				nframes,				dir;	}	GkrellmAlertdecal;typedef struct	{	GkrellmKrell *krell;	gint		krell_position;	}	GkrellmAlertkrell;typedef struct	{	GkrellmPanel *panel;	gchar		*name,				*unit_string;	GkrellmAlertdecal ad;	GkrellmAlertkrell ak;	gboolean	activated,				freeze,				do_panel_updates,				suppress_command,				check_low,				check_high,				check_hardwired;	gchar		*warn_command,				*alarm_command;	gint		warn_repeat_set,				warn_repeat,				alarm_repeat_set,				alarm_repeat;	gint		delay;	void		(*cb_trigger)();	gpointer	cb_trigger_data;	void		(*cb_stop)();	gpointer	cb_stop_data;	void		(*cb_config)();	gpointer	cb_config_data;	void		(*cb_config_create)();	gpointer	cb_config_create_data;	void		(*cb_command_process)();	gpointer	cb_command_process_data;	GtkWidget	*config_window,				*warn_command_entry,				*alarm_command_entry,				*warn_repeat_spin_button,				*alarm_repeat_spin_button,				*delay_spin_button,				*delete_button,				*icon_box;	gboolean	do_alarm_command,				do_warn_command;	gfloat		max_high,		/* limit adjustment values */				min_low,				step0,				step1;	gint		digits;	gint		delay_high,		/* delay adjustment values */				delay_low,				delay_step;	GkrellmTrigger low,				high;	gboolean	config_closing,				config_modified;	gchar		*id_string;		/* For unique alert names for alert plugins */	GList		*plugin_list;	}	GkrellmAlert;/* ------------------------ */#define	GKRELLM_SPACER_CHART	0#define	GKRELLM_SPACER_METER	1#define	CHART_PANEL_TYPE	0#define	METER_PANEL_TYPE	1#define	N_PANEL_TYPES		2#define	PANEL_LAUNCHER		CHART_PANEL_TYPE#define	METER_LAUNCHER		METER_PANEL_TYPE#define	DECAL_LAUNCHER		3#define	DEFAULT_STYLE_ID	0/* GkrellmStyle names for the builtin monitors.  Define them globally so plugins|  can lookup a builtin style_id.  These names are used as subdirectory|  names under the current theme where monitor specific images are located.|  They also are used in the GkrellmStyle lines in the gkrellmrc|		(eg. GkrellmStyleMeter  cpu.textcolor ....*/#define	CPU_STYLE_NAME			"cpu"#define	DISK_STYLE_NAME			"disk"#define	NET_STYLE_NAME			"net"#define	PROC_STYLE_NAME			"proc"#define	INET_STYLE_NAME			"inet"#define	MEM_STYLE_NAME			"mem"#define SWAP_STYLE_NAME			"swap"#define	FS_STYLE_NAME			"fs"#define	MAIL_STYLE_NAME			"mail"  /* APM monitor is now named Battery, but don't want to break themes. */#define	BATTERY_STYLE_NAME		"apm"#define UPTIME_STYLE_NAME		"uptime"#define	CLOCK_STYLE_NAME		"clock"#define	CAL_STYLE_NAME			"cal"#define	HOST_STYLE_NAME			"host"#define	TIMER_STYLE_NAME		"timer"typedef struct	{	gint		timer_ticks,				second_tick,				two_second_tick,				five_second_tick,				ten_second_tick,				minute_tick,				hour_tick,				day_tick;	}	GkrellmTicks;extern GkrellmTicks	GK;/* ================= User Config ==================*/  /* Values for GkrellmMonitor id  |  Give an id number to all builtin monitors  |				____ cccc ___i iiii  */#define	MON_CPU		0#define	MON_PROC	1#define	MON_DISK	2#define	MON_NET		3#define	MON_INET	4#define	N_CHART_MONITORS 5#define	MON_MEM		5#define	MON_FS		6#define	MON_MAIL	7#define	MON_BATTERY	8#define	MON_APM		MON_BATTERY#define	MON_UPTIME	9#define	MON_CLOCK	10#define	MON_CAL		11#define	MON_TIMER	12#define	MON_HOST	13#define	MON_SWAP	14#define MON_VOLTAGE	15#define N_BUILTIN_MONITORS	16#define MON_PLUGIN	16#define	MON_ID_MASK		0x1f#define MON_INSERT_AFTER		0x200#define MON_CONFIG_MASK			0xf00#define	MON_GRAVITY_MASK		0xf000#define	GRAVITY(n)			((n) << 12)#define	PLUGIN_GRAVITY(m)	(((m)->insert_before_id & MON_GRAVITY_MASK) >> 12)#define	PLUGIN_INSERT_BEFORE_ID(p)	((p)->insert_before_id & MON_ID_MASK)#define PLUGIN_INSERT_AFTER(p)	\							(((p)->insert_before_id & MON_INSERT_AFTER) >> 9)#define	MONITOR_ID(m)			((m)->id & MON_ID_MASK)#define	MONITOR_CONFIG(m,flag)	(((m)->id & MON_CONFIG_MASK) & flag)#define	MONITOR_ENABLED(mon)	((mon)->privat->enabled)typedef struct	{	GtkWidget		*main_vbox,					*vbox;	gint			config_page;	GtkTreeRowReference	*row_reference;	GtkWidget		*config_vbox;	gboolean		config_created;	void			(*cb_disable_plugin)(void);	gint			insert_before_id,					gravity,					button_id;	gboolean		insert_after;	gboolean		enabled,					created,					from_command_line,					spacers_shown,					cap_images_off,					spacer_overlap_off,					instant_apply;	GkrellmStyle	*panel_style,					*chart_style;	gchar			*style_name;	gint			style_type,					style_id;	/* helper until I consolidate image lists */	gint			top_type,					bottom_type;	GkrellmSpacer	top_spacer,					bottom_spacer;	}	GkrellmMonprivate;typedef struct _GkrellmMonitor	{	gchar		*name;	gint		id;	void		(*create_monitor)(GtkWidget *, gint);	void		(*update_monitor)(void);	void		(*create_config)(GtkWidget *);	void		(*apply_config)(void);	void		(*save_user_config)(FILE *);	void		(*load_user_config)(gchar *);	gchar		*config_keyword;		void		(*undef2)(void);	void		(*undef1)(void);	GkrellmMonprivate *privat;	gint		insert_before_id;		/* If plugin, insert before this mon*/		void		*handle;				/* If monitor is a plugin.	*/	gchar		*path;					/* 	"						*/	}	GkrellmMonitor;extern GList	*gkrellm_monitor_list;#include "gkrellm-public-proto.h"

⌨️ 快捷键说明

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