/[antiright]/antiright/src/arshell/update.c
ViewVC logotype

Diff of /antiright/src/arshell/update.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by jefbed, Mon Aug 23 01:15:56 2004 UTC revision 1.4 by jefbed, Wed Dec 22 02:22:43 2004 UTC
# Line 21  Line 21 
21  */  */
22    
23  #include "arshell.h"  #include "arshell.h"
24    #include <time.h>
25    
26  void  void
27  arshell_update()  arshell_update()
# Line 30  arshell_update() Line 31  arshell_update()
31      {      {
32        char *input_string;        char *input_string;
33        iterator=iterator->next;        iterator=iterator->next;
34        input_string=antiright_pipe_read(iterator->command_string);  
35        input_string[strlen(input_string)-1]='\0';        if(iterator->widget==arshell.gui.clockload.clockload)
36                  {
37        if(XmIsLabel(iterator->widget))            char *clockload_label_string;
38              char *time_string;
39              time_t time_date;
40              double load[3];
41              
42              getloadavg(load, 3);
43              (void)time(&time_date);
44              time_string=ctime(&time_date);
45              time_string[strlen(time_string)-1]=' ';
46              asprintf(&clockload_label_string, " %s %d%%", time_string,
47                       (int)(load[1]*100));
48              antiright_label_string(iterator->widget, clockload_label_string);
49              free(clockload_label_string);
50              
51            }
52          else if(iterator->widget == arshell.gui.clockload.mailuser)
53            {
54              char *user=getenv("USER");
55              char *maildir="/var/mail";
56              char *mailfile;
57              Boolean have_mail;
58              struct stat mailfile_stat;
59    
60              asprintf(&mailfile, "%s/%s", maildir, user);
61              
62              stat(mailfile, &mailfile_stat);
63              free(mailfile);
64              fflush(stdout);
65              if(mailfile_stat.st_size > 0)
66                have_mail=True;
67              else
68                have_mail=False;
69              
70              
71              if(have_mail)
72                {        
73                  char *icon;
74                  asprintf(&icon, "%s/havemail.xbm", (char*)ICONDIR);
75                  antiright_set_bitmap_from_file(iterator->widget, icon);
76                  free(icon);
77                }
78              else
79                {
80                  ARCLARG;
81                  antiright_set(XmNlabelType, XmSTRING);
82                  antiright_set_values(iterator->widget);
83                  antiright_label_string(iterator->widget, "");
84                }
85              
86            }
87          else if(XmIsLabel(iterator->widget))
88          {          {
89              
90              input_string=antiright_pipe_read(iterator->command_string);
91              input_string[strlen(input_string)-1]='\0';    
92            antiright_label_string(iterator->widget,            antiright_label_string(iterator->widget,
93                                   input_string);                                   input_string);
94              free(input_string);
95              
96          }          }
97        else if(XmIsScrollBar(iterator->widget))        else if(XmIsScrollBar(iterator->widget))
98          {          {
99            int value_int=atoi(input_string);            int value_int;
100              input_string=antiright_pipe_read(iterator->command_string);
101              input_string[strlen(input_string)-1]='\0';
102              value_int=atoi(input_string);
103              free(input_string);
104            if((value_int>0)&(value_int<=100))            if((value_int>0)&(value_int<=100))
105              {              {
106                XtVaSetValues(iterator->widget,                XtVaSetValues(iterator->widget,
# Line 52  arshell_update() Line 112  arshell_update()
112          {          {
113            assert(arshell.gui.widgets.work != NULL);            assert(arshell.gui.widgets.work != NULL);
114            assert(iterator->widget != NULL);            assert(iterator->widget != NULL);
115              input_string=antiright_pipe_read(iterator->command_string);
116              input_string[strlen(input_string)-1]='\0';
117            /* Append input_string to the work area.  */            /* Append input_string to the work area.  */
118            XmTextInsert(arshell.gui.widgets.work,            XmTextInsert(arshell.gui.widgets.work,
119                         XmTextGetLastPosition(arshell.gui.widgets.work),                         XmTextGetLastPosition(arshell.gui.widgets.work),
120                         input_string);                         input_string);
121              free(input_string);
122            XmTextInsert(arshell.gui.widgets.work,            XmTextInsert(arshell.gui.widgets.work,
123                         XmTextGetLastPosition(arshell.gui.widgets.work),                         XmTextGetLastPosition(arshell.gui.widgets.work),
124                         "\n");                         "\n");
125          }          }
126        else if(iterator->widget==antiright.parent_widget)        else if(iterator->widget==antiright.parent_widget)
127          {          {
128              input_string=antiright_pipe_read(iterator->command_string);
129              input_string[strlen(input_string)-1]='\0';
130            /* Set the title to input_string.  */            /* Set the title to input_string.  */
131            antiright_set_title(input_string);            antiright_set_title(input_string);
132              free(input_string);
133          }          }
       free(input_string);  
134      }      }
135  }  }
136    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26