Added support for blink
[monky] / src / text_object.h
index 6dae129..ba3803b 100644 (file)
@@ -7,7 +7,7 @@
  * Please see COPYING for details
  *
  * Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
- * Copyright (c) 2005-2008 Brenden Matthews, Philip Kovacs, et. al.
+ * Copyright (c) 2005-2009 Brenden Matthews, Philip Kovacs, et. al.
  *     (see AUTHORS)
  * All rights reserved.
  *
@@ -42,6 +42,7 @@
 #endif
 
 enum text_object_type {
+       OBJ_read_tcp,
        OBJ_addr,
 #if defined(__linux__)
        OBJ_addrs,
@@ -56,6 +57,7 @@ enum text_object_type {
        OBJ_battery_time,
        OBJ_battery_percent,
        OBJ_battery_bar,
+       OBJ_battery_short,
 #endif /* !__OpenBSD__ */
        OBJ_buffers,
        OBJ_cached,
@@ -76,27 +78,39 @@ enum text_object_type {
        OBJ_font,
        OBJ_cpu,
        OBJ_cpubar,
+#ifdef X11
+       OBJ_cpugauge,
        OBJ_cpugraph,
        OBJ_loadgraph,
+#endif /* X11 */
        OBJ_diskio,
        OBJ_diskio_read,
        OBJ_diskio_write,
+#ifdef X11
        OBJ_diskiograph,
        OBJ_diskiograph_read,
        OBJ_diskiograph_write,
+#endif /* X11 */
        OBJ_downspeed,
        OBJ_downspeedf,
+#ifdef X11
        OBJ_downspeedgraph,
+#endif /* X11 */
        OBJ_else,
        OBJ_endif,
+       OBJ_eval,
        OBJ_image,
        OBJ_exec,
        OBJ_execi,
        OBJ_texeci,
        OBJ_execbar,
-       OBJ_execgraph,
        OBJ_execibar,
+#ifdef X11
+       OBJ_execgauge,
+       OBJ_execgraph,
        OBJ_execigraph,
+       OBJ_execigauge,
+#endif /* X11 */
        OBJ_execp,
        OBJ_execpi,
        OBJ_freq,
@@ -131,11 +145,23 @@ enum text_object_type {
        OBJ_i8k_right_fan_rpm,
        OBJ_i8k_ac_status,
        OBJ_i8k_buttons_status,
+#if defined(IBM)
        OBJ_ibm_fan,
        OBJ_ibm_temps,
        OBJ_ibm_volume,
        OBJ_ibm_brightness,
-       OBJ_if_up,
+       OBJ_smapi,
+#ifdef X11
+       OBJ_smapi_bat_bar,
+#endif /* X11 */
+       OBJ_smapi_bat_perc,
+       OBJ_smapi_bat_temp,
+       OBJ_smapi_bat_power,
+       OBJ_if_smapi_bat_installed,
+#endif /* IBM */
+       /* information from sony_laptop kernel module
+        * /sys/devices/platform/sony-laptop */
+       OBJ_sony_fanspeed,
        OBJ_if_gw,
        OBJ_ioscheduler,
        OBJ_gw_iface,
@@ -153,13 +179,21 @@ enum text_object_type {
        OBJ_wireless_link_qual_perc,
        OBJ_wireless_link_bar,
 #endif /* __linux__ */
+#if defined(__FreeBSD__) || defined(__linux__)
+       OBJ_if_up,
+#endif
        OBJ_if_empty,
        OBJ_if_match,
        OBJ_if_existing,
        OBJ_if_mounted,
        OBJ_if_running,
+       OBJ_if_updatenr,
        OBJ_top,
        OBJ_top_mem,
+       OBJ_top_time,
+#ifdef IOSTATS
+       OBJ_top_io,
+#endif
        OBJ_tail,
        OBJ_head,
        OBJ_lines,
@@ -168,28 +202,42 @@ enum text_object_type {
        OBJ_loadavg,
        OBJ_machine,
        OBJ_mails,
+       OBJ_new_mails,
+       OBJ_seen_mails,
+       OBJ_unseen_mails,
+       OBJ_flagged_mails,
+       OBJ_unflagged_mails,
+       OBJ_forwarded_mails,
+       OBJ_unforwarded_mails,
+       OBJ_replied_mails,
+       OBJ_unreplied_mails,
+       OBJ_draft_mails,
+       OBJ_trashed_mails,
        OBJ_mboxscan,
        OBJ_mem,
        OBJ_memeasyfree,
        OBJ_memfree,
-       OBJ_membar,
+#ifdef X11
+       OBJ_memgauge,
        OBJ_memgraph,
+#endif /* X11 */
+       OBJ_membar,
        OBJ_memmax,
        OBJ_memperc,
-       OBJ_mem_res,
-       OBJ_mem_vsize,
        OBJ_mixer,
        OBJ_mixerl,
        OBJ_mixerr,
+#ifdef X11
        OBJ_mixerbar,
        OBJ_mixerlbar,
        OBJ_mixerrbar,
+#endif /* X11 */
+       OBJ_if_mixer_mute,
 #ifdef X11
        OBJ_monitor,
        OBJ_monitor_number,
-#endif
+#endif /* X11 */
        OBJ_nameserver,
-       OBJ_new_mails,
        OBJ_nodename,
        OBJ_nvidia,
        OBJ_pre_exec,
@@ -203,8 +251,6 @@ enum text_object_type {
        OBJ_swapmax,
        OBJ_swapperc,
        OBJ_sysname,
-       OBJ_temp1,      /* i2c is used instead in these */
-       OBJ_temp2,
        OBJ_text,
        OBJ_time,
        OBJ_utime,
@@ -214,17 +260,17 @@ enum text_object_type {
        OBJ_updates,
        OBJ_upspeed,
        OBJ_upspeedf,
+#ifdef X11
        OBJ_upspeedgraph,
+#endif /* X11 */
        OBJ_uptime,
        OBJ_uptime_short,
        OBJ_user_names,
        OBJ_user_terms,
        OBJ_user_times,
        OBJ_user_number,
-       OBJ_imap,
        OBJ_imap_messages,
        OBJ_imap_unseen,
-       OBJ_pop3,
        OBJ_pop3_unseen,
        OBJ_pop3_used,
 #if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \
@@ -249,9 +295,6 @@ enum text_object_type {
        OBJ_mpd_vol,
        OBJ_mpd_bitrate,
        OBJ_mpd_status,
-       OBJ_mpd_host,
-       OBJ_mpd_port,
-       OBJ_mpd_password,
        OBJ_mpd_bar,
        OBJ_mpd_elapsed,
        OBJ_mpd_length,
@@ -261,7 +304,7 @@ enum text_object_type {
        OBJ_mpd_percent,
        OBJ_mpd_smart,
        OBJ_if_mpd_playing,
-#endif
+#endif /* MPD */
 #ifdef MOC
        OBJ_moc_state,
        OBJ_moc_file,
@@ -274,8 +317,7 @@ enum text_object_type {
        OBJ_moc_curtime,
        OBJ_moc_bitrate,
        OBJ_moc_rate,
-#endif
-       OBJ_music_player_interval,
+#endif /* MOC */
 #ifdef XMMS2
        OBJ_xmms2_artist,
        OBJ_xmms2_album,
@@ -292,12 +334,14 @@ enum text_object_type {
        OBJ_xmms2_size,
        OBJ_xmms2_percent,
        OBJ_xmms2_status,
+#ifdef X11
        OBJ_xmms2_bar,
+#endif /* X11 */
        OBJ_xmms2_smart,
        OBJ_xmms2_playlist,
        OBJ_xmms2_timesplayed,
        OBJ_if_xmms2_connected,
-#endif
+#endif /* XMMS2 */
 #ifdef AUDACIOUS
        OBJ_audacious_status,
        OBJ_audacious_title,
@@ -312,8 +356,10 @@ enum text_object_type {
        OBJ_audacious_playlist_length,
        OBJ_audacious_playlist_position,
        OBJ_audacious_main_volume,
+#ifdef X11
        OBJ_audacious_bar,
-#endif
+#endif /* X11 */
+#endif /* AUDACIOUS */
 #ifdef BMPX
        OBJ_bmpx_title,
        OBJ_bmpx_artist,
@@ -321,35 +367,60 @@ enum text_object_type {
        OBJ_bmpx_track,
        OBJ_bmpx_uri,
        OBJ_bmpx_bitrate,
-#endif
+#endif /* BMPX */
 #ifdef EVE
        OBJ_eve,
-#endif
+#endif /* EVE */
 #ifdef RSS
        OBJ_rss,
-#endif
+#endif /* RSS */
+#ifdef HAVE_LUA
+       OBJ_lua,
+       OBJ_lua_parse,
+       OBJ_lua_read_parse,
+       OBJ_lua_bar,
+#ifdef X11
+       OBJ_lua_graph,
+       OBJ_lua_gauge,
+#endif /* X11 */
+#endif /* HAVE_LUA */
 #ifdef TCP_PORT_MONITOR
        OBJ_tcp_portmon,
-#endif
+#endif /* TCP_PORT_MONITOR */
 #ifdef HAVE_ICONV
        OBJ_iconv_start,
        OBJ_iconv_stop,
-#endif
+#endif /* HAVE_ICONV */
 #ifdef HDDTEMP
        OBJ_hddtemp,
-#endif
-#ifdef SMAPI
-       OBJ_smapi,
-       OBJ_smapi_bat_bar,
-       OBJ_smapi_bat_perc,
-       OBJ_smapi_bat_temp,
-       OBJ_smapi_bat_power,
-       OBJ_if_smapi_bat_installed,
-#endif
+#endif /* HDDTEMP */
+       OBJ_blink,
+       OBJ_to_bytes,
        OBJ_scroll,
+       OBJ_combine,
        OBJ_entropy_avail,
+       OBJ_entropy_perc,
        OBJ_entropy_poolsize,
-       OBJ_entropy_bar
+       OBJ_entropy_bar,
+#ifdef APCUPSD
+       OBJ_apcupsd,
+       OBJ_apcupsd_name,
+       OBJ_apcupsd_model,
+       OBJ_apcupsd_upsmode,
+       OBJ_apcupsd_cable,
+       OBJ_apcupsd_status,
+       OBJ_apcupsd_linev,
+       OBJ_apcupsd_load,
+       OBJ_apcupsd_loadbar,
+#ifdef X11
+       OBJ_apcupsd_loadgraph,
+       OBJ_apcupsd_loadgauge,
+#endif /* X11 */
+       OBJ_apcupsd_charge,
+       OBJ_apcupsd_timeleft,
+       OBJ_apcupsd_temp,
+       OBJ_apcupsd_lastxfer,
+#endif /* APCUPSD */
 };
 
 struct text_object {
@@ -382,27 +453,33 @@ struct text_object {
                        int w, h;
                } fsbar;                /* 3 */
 
+#ifdef X11
                struct {
                        int l;
                        int w, h;
                } mixerbar;             /* 3 */
+#endif
 
                struct {
                        int fd;
                        int arg;
                        char devtype[256];
                        char type[64];
-               } sysfs;                /* 2 */
+                       float factor, offset;
+               } sysfs;
 
                struct {
                        struct text_object *next;
                        char *s;
+                       int i;
                        char *str;
                } ifblock;
 
                struct {
                        int num;
                        int type;
+                       int was_parsed;
+                       char *s;
                } top;
 
                struct {
@@ -461,6 +538,7 @@ struct text_object {
                        char *action;
                        int act_par;
                        int delay;
+                       unsigned int nrspaces;
                } rss;
 #endif
                struct {
@@ -470,6 +548,17 @@ struct text_object {
                        unsigned int start;
                } scroll;
 
+               struct {
+                       char *left;
+                       char *seperation;
+                       char *right;
+               } combine;
+
+               struct {
+                       char *host;
+                       unsigned int port;
+               } read_tcp;
+
                struct local_mail_s local_mail;
 #ifdef NVIDIA
                struct nvidia_s nvidia;
@@ -481,8 +570,7 @@ struct text_object {
        long line;
        unsigned int c, d, e;
        float f;
-       char showaslog;
-       char global_mode;
+       char char_a, char_b;
 };
 
 /* text object list helpers */