Merge with gkrellm-2.3.3 from upstream

This commit is contained in:
Stefan Gehn 2009-12-26 17:08:15 +00:00
parent a7ea973741
commit a9c193f84c
83 changed files with 9880 additions and 9468 deletions

View File

@ -1,5 +1,32 @@
GKrellM Changelog
-----------------
2.3.3 - Mon Dec 21, 2009
------------------------
* gkrellm.spec update from Tim Keller.
* Patch from Cyrus Rahman: restore gkrellm_sys_main_init() call to proper
place and fix FreeBSD sensors for amd64 and fix allocate sensor bug.
* Patch from Hajimu Umemoto: add --without-ntlm option
* Patches from Hajimu Umemoto for FreeBSD:
- Support SMP CPU charts coming in FreeBSD 6.4-RELEASE and 7.1-RELEASE
- Use sysctl for swap info on recent FreeBSD; suppress compile warnings
- Include patch from Pietro Cerutti for coretemp(4) sensor support and
fix bug causing only one instance of a sensor type to be added.
- Include patch from Sven Berkvens-Matthijsse to enable battery support
on amd64 using ACPI.
* Patch from Stefan Gehn: Makefile & configure ntlm detect use pkg-config.
* Patch from Erik-Jan: sensors monitor option to show temperature units.
* Patch from Hans de Goede: rename getline to gkrellm_getline to avoid
conflict with new getline function in recent glibc.
* Bugfixes
o Fix a crah by moving "unable to connect" Gtk dialogs outside
of the connect to client thread.
o Divide by zero crash in Linux battery monitor when batteries are dead.
o Patch from Hans de Goede: fix a crash by adding openssl mail check
locking to mail monitor.
* Translation updates
o pt_BR.po update from Vinicius Moreira de Oliveira
2.3.2 - Fri Oct 3, 2008
------------------------
* Patch from Stefan Gehn:

View File

@ -5,7 +5,7 @@
<h3>Changelog for GKrellM Plugins</h3>
<hr size="4">
<h4>Changes for versions 2.3.1 - 2.3.2</h4>
<h4>Changes for versions 2.3.1 - 2.3.3</h4>
none
<h4>Changes for version 2.3.0</h4>

View File

@ -10,7 +10,7 @@
<pre>
Changes in 2.2.3 - 2.3.2
Changes in 2.2.3 - 2.3.3
------------------------
None

View File

@ -87,7 +87,7 @@ BINMODE = 755
#GTOP_LIBS_D = -L$(GTOP_PREFIX)/lib -lgtop -lgtop_common -lgtop_sysdeps
#export GTOP_INCLUDE GTOP_LIBS GTOP_LIBS_D
VERSION = 2.3.2
VERSION = 2.3.3
INSTALLROOT ?= $(DESTDIR)$(PREFIX)

2
README
View File

@ -5,7 +5,7 @@ Author: Bill Wilson
Email: billw--at--gkrellm.net
Homepage: http://gkrellm.net
Copyright (c) 1999-2008 by Bill Wilson. This program is free software
Copyright (c) 1999-2009 by Bill Wilson. This program is free software
which I release under the GNU General Public License.
Read the COPYRIGHT file for more info.

View File

@ -1,4 +1,4 @@
.TH gkrellm 1 "Oct 24, 2006" "GNU/Linux" "User's Manual"
.TH gkrellm 1 "Dec 21, 2009" "GNU/Linux" "User's Manual"
.SH "NAME"
gkrellm \- The GNU Krell Monitors

View File

@ -1,5 +1,5 @@
%define name gkrellm
%define version 2.3.2
%define version 2.3.3
%define release 1
%define prefix /usr
@ -7,7 +7,7 @@ Summary: Multiple stacked system monitors: 1 process.
Name: %{name}
Version: %{version}
Release: %{release}
Copyright: GPL
License: GPL
Group: X11/Utilities
URL: http://gkrellm.net
Source: http://members.dslextreme.com/users/billw/gkrellm/%{name}-%{version}.tar.bz2
@ -55,6 +55,7 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/gkrellm.1.gz
%{_mandir}/man1/gkrellmd.1.gz
%{_includedir}/gkrellm2/gkrellm*
%{_includedir}/gkrellm2/log*
%{_libdir}/pkgconfig/gkrellm.pc
%{_datadir}/locale/*/LC_MESSAGES/gkrellm.mo

View File

@ -1,4 +1,4 @@
.TH gkrellmd 1 "Oct 24, 2006" "GNU/Linux" "User's Manual"
.TH gkrellmd 1 "Dec 21, 2009" "GNU/Linux" "User's Manual"
.SH "NAME"
gkrellmd \- The GNU Krell Monitors Server

View File

@ -6,7 +6,7 @@
--------------------------------------
In the gkrellm po directory, create the .po template (.pot):
xgettext -k_ -kN_ ../src/*.c ../src/sysdeps/*.c -o po/gkrellm.pot
xgettext -k_ -kN_ ../src/*.c ../src/sysdeps/*.c -o gkrellm.pot
or
make enable_nls=1 messages

1158
po/bg.po

File diff suppressed because it is too large Load Diff

1158
po/cs.po

File diff suppressed because it is too large Load Diff

1158
po/da.po

File diff suppressed because it is too large Load Diff

1158
po/de.po

File diff suppressed because it is too large Load Diff

1164
po/es.po

File diff suppressed because it is too large Load Diff

1160
po/fr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1158
po/it.po

File diff suppressed because it is too large Load Diff

1160
po/ja.po

File diff suppressed because it is too large Load Diff

1158
po/nl.po

File diff suppressed because it is too large Load Diff

1160
po/pl.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1158
po/ru.po

File diff suppressed because it is too large Load Diff

1162
po/sl.po

File diff suppressed because it is too large Load Diff

1162
po/sv.po

File diff suppressed because it is too large Load Diff

10
server/configure vendored
View File

@ -3,7 +3,7 @@
# Configure some things for gkrellmd when make is run.
# This configure is run automatically so no need to run it by hand.
#
# Copyright (C) 2006 Bill Wilson
# Copyright (C) 2006-2009 Bill Wilson
for i
do
@ -36,6 +36,9 @@ int main()
{
FILE *f;
#if SENSORS_API_VERSION < 0x400 /* libsensors 3 code */
FILE *f;
f = fopen("/etc/sensors.conf", "r");
if (!f)
return 1;
@ -43,6 +46,11 @@ int main()
return 1;
fclose(f);
return 0;
#else /* libsensors 4 code */
if (sensors_init(NULL) != 0)
return 1;
return 0;
#endif
}
EOF

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -17,6 +17,18 @@
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see http://www.gnu.org/licenses/
|
|
| Additional permission under GNU GPL version 3 section 7
|
| If you modify this program, or any covered work, by linking or
| combining it with the OpenSSL project's OpenSSL library (or a
| modified version of that library), containing parts covered by
| the terms of the OpenSSL or SSLeay licenses, you are granted
| additional permission to convey the resulting work.
| Corresponding Source for a non-source form of such a combination
| shall include the source code for the parts of OpenSSL used as well
| as that of the covered work.
*/
#include "configure.h"

View File

@ -23,7 +23,7 @@
#define GKRELLMD_VERSION_MAJOR 2
#define GKRELLMD_VERSION_MINOR 3
#define GKRELLMD_VERSION_REV 2
#define GKRELLMD_VERSION_REV 3
#define GKRELLMD_EXTRAVERSION ""
#define GKRELLMD_CHECK_VERSION(major,minor,rev) \

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -17,6 +17,18 @@
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see http://www.gnu.org/licenses/
|
|
| Additional permission under GNU GPL version 3 section 7
|
| If you modify this program, or any covered work, by linking or
| combining it with the OpenSSL project's OpenSSL library (or a
| modified version of that library), containing parts covered by
| the terms of the OpenSSL or SSLeay licenses, you are granted
| additional permission to convey the resulting work.
| Corresponding Source for a non-source form of such a combination
| shall include the source code for the parts of OpenSSL used as well
| as that of the covered work.
*/
#ifndef GKRELLMD_H
#define GKRELLMD_H

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -17,6 +17,18 @@
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see http://www.gnu.org/licenses/
|
|
| Additional permission under GNU GPL version 3 section 7
|
| If you modify this program, or any covered work, by linking or
| combining it with the OpenSSL project's OpenSSL library (or a
| modified version of that library), containing parts covered by
| the terms of the OpenSSL or SSLeay licenses, you are granted
| additional permission to convey the resulting work.
| Corresponding Source for a non-source form of such a combination
| shall include the source code for the parts of OpenSSL used as well
| as that of the covered work.
*/
#include "gkrellmd.h"

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -17,6 +17,18 @@
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see http://www.gnu.org/licenses/
|
|
| Additional permission under GNU GPL version 3 section 7
|
| If you modify this program, or any covered work, by linking or
| combining it with the OpenSSL project's OpenSSL library (or a
| modified version of that library), containing parts covered by
| the terms of the OpenSSL or SSLeay licenses, you are granted
| additional permission to convey the resulting work.
| Corresponding Source for a non-source form of such a combination
| shall include the source code for the parts of OpenSSL used as well
| as that of the covered work.
*/
#include "gkrellmd.h"

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -17,6 +17,18 @@
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see http://www.gnu.org/licenses/
|
|
| Additional permission under GNU GPL version 3 section 7
|
| If you modify this program, or any covered work, by linking or
| combining it with the OpenSSL project's OpenSSL library (or a
| modified version of that library), containing parts covered by
| the terms of the OpenSSL or SSLeay licenses, you are granted
| additional permission to convey the resulting work.
| Corresponding Source for a non-source form of such a combination
| shall include the source code for the parts of OpenSSL used as well
| as that of the covered work.
*/
#include "gkrellmd.h"

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -17,6 +17,18 @@
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see http://www.gnu.org/licenses/
|
|
| Additional permission under GNU GPL version 3 section 7
|
| If you modify this program, or any covered work, by linking or
| combining it with the OpenSSL project's OpenSSL library (or a
| modified version of that library), containing parts covered by
| the terms of the OpenSSL or SSLeay licenses, you are granted
| additional permission to convey the resulting work.
| Corresponding Source for a non-source form of such a combination
| shall include the source code for the parts of OpenSSL used as well
| as that of the covered work.
*/
#include "gkrellmd.h"
@ -669,7 +681,7 @@ update_inet(GkrellmdMonitor *mon, gboolean first_update)
InetData *in;
static gint check_tcp;
if (!first_update && !GK.second_tick)
return;
@ -1008,7 +1020,7 @@ update_net(GkrellmdMonitor *mon, gboolean first_update)
gkrellm_sys_net_check_routes();
}
gkrellm_sys_net_read_data();
if (GK.second_tick && !net_use_routed)
{
for (list = net_list; list; list = list->next)
@ -2184,7 +2196,7 @@ gkrellmd_update_monitors(void)
}
gkrellmd_send_to_client(client, serve_gstring->str);
serve_gstring = g_string_truncate(serve_gstring, 0);
if (GK.minute_tick || !client->served)
send_time(client);
else if (GK.second_tick)

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -17,6 +17,18 @@
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see http://www.gnu.org/licenses/
|
|
| Additional permission under GNU GPL version 3 section 7
|
| If you modify this program, or any covered work, by linking or
| combining it with the OpenSSL project's OpenSSL library (or a
| modified version of that library), containing parts covered by
| the terms of the OpenSSL or SSLeay licenses, you are granted
| additional permission to convey the resulting work.
| Corresponding Source for a non-source form of such a combination
| shall include the source code for the parts of OpenSSL used as well
| as that of the covered work.
*/
#include "gkrellmd.h"

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -17,6 +17,18 @@
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see http://www.gnu.org/licenses/
|
|
| Additional permission under GNU GPL version 3 section 7
|
| If you modify this program, or any covered work, by linking or
| combining it with the OpenSSL project's OpenSSL library (or a
| modified version of that library), containing parts covered by
| the terms of the OpenSSL or SSLeay licenses, you are granted
| additional permission to convey the resulting work.
| Corresponding Source for a non-source form of such a combination
| shall include the source code for the parts of OpenSSL used as well
| as that of the covered work.
*/
#include "gkrellmd.h"

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -17,6 +17,18 @@
|
| You should have received a copy of the GNU General Public License
| along with this program. If not, see http://www.gnu.org/licenses/
|
|
| Additional permission under GNU GPL version 3 section 7
|
| If you modify this program, or any covered work, by linking or
| combining it with the OpenSSL project's OpenSSL library (or a
| modified version of that library), containing parts covered by
| the terms of the OpenSSL or SSLeay licenses, you are granted
| additional permission to convey the resulting work.
| Corresponding Source for a non-source form of such a combination
| shall include the source code for the parts of OpenSSL used as well
| as that of the covered work.
*/
#include "gkrellmd.h"

View File

@ -29,7 +29,7 @@ BEGIN
VALUE "FileDescription", "GKrellM Daemon"
VALUE "FileVersion", RC_VER_STRING
VALUE "InternalName", "gkrellmd"
VALUE "LegalCopyright", "Copyright (C) 1999-2008 Bill Wilson"
VALUE "LegalCopyright", "Copyright (C) 1999-2009 Bill Wilson"
VALUE "OriginalFilename", "gkrellmd.exe"
VALUE "ProductName", "GKrellM"
VALUE "ProductVersion", RC_VER_STRING

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Stefan Gehn stefan.gkrellm@srcbox.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
* Copyright (C) 1999-2008 Bill Wilson
* Copyright (C) 1999-2009 Bill Wilson
*
* @author Bill Wilson <billw@gkrellm.net>
*

View File

@ -45,6 +45,12 @@ endif
ifeq ($(without-libsensors),1)
CONFIGURE_ARGS += --without-libsensors
endif
ifeq ($(without-ntlm),yes)
CONFIGURE_ARGS += --without-ntlm
endif
ifeq ($(without-ntlm),1)
CONFIGURE_ARGS += --without-ntlm
endif
DUMMY_VAR := $(shell ./configure $(CONFIGURE_ARGS))
HAVE_GNUTLS = $(shell grep -c HAVE_GNUTLS configure.h)

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -67,7 +67,7 @@ static gint
computed_index(GkrellmChart *cp, gint i)
{
gint x;
x = (cp->position + i + 1) % cp->w;
return x;
}
@ -272,7 +272,7 @@ chartdata_ycoord(GkrellmChart *cp, GkrellmChartdata *cd, gint yd)
{
glong y;
guint64 Y;
if (cp->scale_max <= 0)
cp->scale_max = 1;
@ -1173,7 +1173,7 @@ gkrellm_draw_chart_text(GkrellmChart *cp, gint style_id, gchar *str)
buf[text_length] = '\0';
printf("draw_chart_text: [%s] ", buf);
}
offset = cp->baseline_ref - tr->baseline; /* align baselines */
if (_GK.chart_text_no_fill)
gkrellm_draw_text(cp->pixmap, ts, x, y + offset, s,
@ -1844,7 +1844,7 @@ gkrellm_chart_create(GtkWidget *vbox, GkrellmMonitor *mon, GkrellmChart *cp,
cp->config->chart_cd_list = &cp->cd_list;
if (!cp->box)
{
{
cp->box = gtk_vbox_new(FALSE, 0); /* not a hbox anymore !! */
gtk_box_pack_start(GTK_BOX(vbox), cp->box, FALSE, FALSE, 0);
@ -2025,7 +2025,7 @@ set_grid_resolution_spin_button(GkrellmChart *cp, gint res)
if (!cp || !cp->config_window || !cp->config->grid_resolution_spin_button)
return;
spin = GTK_SPIN_BUTTON(cp->config->grid_resolution_spin_button);
gtk_spin_button_set_value(spin, (gfloat) res);
gtk_spin_button_set_value(spin, (gfloat) res);
}
static void

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -1620,7 +1620,7 @@ KeyTable update_table[] =
static gint
getline(gint fd, gchar *buf, gint len)
gkrellm_getline(gint fd, gchar *buf, gint len)
{
fd_set read_fds;
struct timeval tv;
@ -1714,7 +1714,7 @@ read_server_setup(gint fd)
while (1)
{
rs=getline(fd, buf, sizeof(buf));
rs=gkrellm_getline(fd, buf, sizeof(buf));
if(rs<0)
return FALSE;
if (!strcmp(buf, "</gkrellmd_setup>"))
@ -1732,7 +1732,7 @@ read_server_setup(gint fd)
table_size = sizeof(update_table) / sizeof(KeyTable);
while (1)
{
rs=getline(fd, buf, sizeof(buf));
rs=gkrellm_getline(fd, buf, sizeof(buf));
if(rs<0)
return FALSE;
if (!strcmp(buf, "</initial_update>"))
@ -1870,7 +1870,7 @@ gkrellm_connect_to(gchar *server, gint server_port)
return fd;
}
gboolean
enum GkrellmConnectResult
gkrellm_client_mode_connect(void)
{
gchar buf[128];
@ -1879,10 +1879,8 @@ gkrellm_client_mode_connect(void)
_GK.server_port = GKRELLMD_SERVER_PORT;
client_fd = gkrellm_connect_to(_GK.server, _GK.server_port);
if (client_fd < 0) {
g_warning("%s\n", _("Unable to connect."));
return FALSE;
}
if (client_fd < 0)
return BAD_CONNECT;
snprintf(buf, sizeof(buf), "gkrellm %d.%d.%d%s\n",
GKRELLM_VERSION_MAJOR, GKRELLM_VERSION_MINOR,
@ -1891,11 +1889,11 @@ gkrellm_client_mode_connect(void)
/* Initial setup lines from server are read in blocking mode.
*/
if(!read_server_setup(client_fd)){
if(!read_server_setup(client_fd))
{
close(client_fd);
return FALSE;
}
return BAD_SETUP;
}
/* Extra stuff not handled in read_server_setup()
*/
@ -1911,23 +1909,23 @@ gkrellm_client_mode_connect(void)
server_alive = TRUE;
return TRUE;
return GOOD_CONNECT;
}
static gboolean client_mode_thread_busy;
gint
enum GkrellmConnectState
gkrellm_client_server_connect_state(void)
{
if (client_mode_thread_busy) /* reconnect in progress? */
return 2;
return CONNECTING;
if (_GK.client_mode && client_input_id > 0) /* Currently connected? */
return 1;
return CONNECTED;
else if (_GK.client_mode)
return 0;
return DISCONNECTED;
else
return -1;
return NO_CLIENT;
}
static gpointer

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

11
src/configure vendored
View File

@ -3,7 +3,7 @@
# Configure some things for GKrellM when make is run.
# This configure is run automatically so no need to run it by hand.
#
# Copyright (C) 2003 Bill Wilson
# Copyright (C) 2003-2009 Bill Wilson
for i
do
@ -19,6 +19,10 @@ do
then
without_libsensors=yes
fi
if [ "$i" = "--without-ntlm" ]
then
without_ntlm=yes
fi
done
PKG_INCLUDE=`pkg-config gtk+-2.0 --cflags`
@ -121,6 +125,8 @@ fi
rm -f test test.exe test.o test.c
if [ "$without_ntlm" != "yes" ]
then
# echo "Checking for libntlm... " 1>& 2
echo "Checking for libntlm... " 1>& 5
@ -151,7 +157,8 @@ else
# echo "Not found, mail check will not have ntlm support..." 1>& 2
echo "Not found, mail check will not have ntlm support..." 1>& 5
fi
fi
# end of ntlm check
rm -f test test.exe test.o test.c

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -1354,7 +1354,7 @@ fstab_user_permission(Mount *m)
{
struct stat my_stat;
g_stat(m->device, &my_stat);
stat(m->device, &my_stat);
if ( strstr(m->options, "user")
|| (strstr(m->options, "owner") && my_stat.st_uid == uid)
)

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -49,6 +49,21 @@
#define GKRELLM_FLOAT_FACTOR 1000.0
enum GkrellmConnectResult
{
GOOD_CONNECT,
BAD_CONNECT,
BAD_SETUP
};
enum GkrellmConnectState
{
CONNECTING,
CONNECTED,
DISCONNECTED,
NO_CLIENT
};
enum GkrellmState
{
INITIALIZING,
@ -488,10 +503,12 @@ void gkrellm_winop_state_below(gboolean);
/* client */
gint gkrellm_connect_to(gchar *, gint);
gboolean gkrellm_client_mode_connect(void);
enum GkrellmConnectResult
gkrellm_client_mode_connect(void);
void gkrellm_client_mode_disconnect(void);
struct tm *gkrellm_client_server_time(void);
gint gkrellm_client_server_connect_state(void);
enum GkrellmConnectState
gkrellm_client_server_connect_state(void);
void gkrellm_client_mode_connect_thread(void);
gint gkrellm_client_server_get_net_timer(void);

View File

@ -270,7 +270,7 @@ GkrellmDecalbutton *gkrellm_make_scaled_button(GkrellmPanel *p,
gboolean auto_hide, gboolean set_default_border,
gint depth, gint cur_index, gint pressed_index,
gint x, gint y, gint w, gint h);
GkrellmDecalbutton *gkrellm_decal_is_button(GkrellmDecal *);
void gkrellm_set_in_button_callback(GkrellmDecalbutton *,
gint (*func)(), gpointer data);
@ -572,7 +572,7 @@ gboolean gkrellm_disk_temperature_display(gpointer sr, gchar *disk_name,
gfloat t, gchar units);
void gkrellm_disk_temperature_remove(gchar *disk_name);
/* Functions exported by net.c
*/
gint gkrellm_net_routes(void);

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -35,7 +35,7 @@
#define GKRELLM_VERSION_MAJOR 2
#define GKRELLM_VERSION_MINOR 3
#define GKRELLM_VERSION_REV 2
#define GKRELLM_VERSION_REV 3
#define GKRELLM_EXTRAVERSION ""
#define GKRELLM_CHECK_VERSION(major,minor,rev) \

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -768,7 +768,7 @@ create_about_tab(GtkWidget *vbox)
gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0);
buf = g_strdup_printf(_("GKrellM %d.%d.%d%s\nGNU Krell Monitors\n\n"
"Copyright (c) 1999-2007 by Bill Wilson\n"
"Copyright (c) 1999-2009 by Bill Wilson\n"
"billw@gkrellm.net\n"
"http://gkrellm.net\n\n"
"Released under the GNU General Public License"),
@ -1140,7 +1140,7 @@ _("Make gkrellm a topmost window (restart gkrellm for this to take effect)."));
vbox2 = gkrellm_gtk_framed_vbox(vbox1, NULL, 0, FALSE, 0, 0);
gkrellm_gtk_check_button_connected(vbox2, &dock_type_button,
_GK.dock_type, FALSE, FALSE, 0,
cb_dock_type, NULL,
cb_dock_type, NULL,
_("Set window type to be a dock or panel"));
vbox2 = gkrellm_gtk_framed_vbox(vbox1, NULL, 0, FALSE, 0, 0);
@ -1615,7 +1615,7 @@ gkrellm_load_theme_config(void)
gint i;
/* Need to load the theme from ~/.gkrellm/theme_config only at startup
| or if re-reading because of theme_event - these are only times
| or if re-reading because of theme_event - these are only times
| _GK.theme_path will be NULL. Note: _GK.theme_path will not be NULL
| at startup if there is a command line theme, so no theme scaling if
| using command line theme.
@ -2299,7 +2299,7 @@ create_config_window(void)
GList *list;
GkrellmMonitor *mon;
gchar *config_name, *window_title;
if (config_window)
{
gtk_window_present(GTK_WINDOW(config_window));
@ -2320,7 +2320,7 @@ create_config_window(void)
gtk_window_set_wmclass(GTK_WINDOW(config_window),
"Gkrellm_conf", "Gkrellm");
gtk_container_set_border_width(GTK_CONTAINER(config_window), 2);
config_hbox = gtk_hbox_new(FALSE, 4);
gtk_container_add(GTK_CONTAINER(config_window), config_hbox);

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -254,11 +254,12 @@ draw_sysname(void)
void
update_host(void)
{
gchar **parts;
gint connect_state, delta, step, h_scroll;
gint hz = gkrellm_update_HZ();
static gint reconnect_timeout, y_target, asym;
static gboolean recheck_sysname;
gchar **parts;
gint delta, step, h_scroll;
gint hz = gkrellm_update_HZ();
static gint reconnect_timeout, y_target, asym;
static gboolean recheck_sysname;
enum GkrellmConnectState connect_state;
if (decal_sysname && system_name_mode == 1 && system_dtext.reduced)
{
@ -295,7 +296,7 @@ update_host(void)
/* If we loose the server connection, trigger a hardwired alarm.
*/
connect_state = gkrellm_client_server_connect_state();
if (connect_state == 2) /* thread is trying a reconnect */
if (connect_state == CONNECTING) /* thread is trying a reconnect */
{
if (_GK.client_server_reconnect_timeout <= 0)
{
@ -303,7 +304,7 @@ update_host(void)
draw_sysname();
}
}
else if (connect_state == 0) /* Lost connection */
else if (connect_state == DISCONNECTED) /* Lost connection */
{
gkrellm_check_alert(server_alert, 2.0); /* Alarm */
if ( _GK.client_server_reconnect_timeout > 0

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -115,7 +115,7 @@ GCRY_THREAD_OPTION_PTHREAD_IMPL;
/* Here's the list of all the mailbox types the Mail monitor knows about.
| The MBOX_FETCH is a pseudo internal mailbox where the counts read from
| the fetch program are kept. Additionally MBOX_FETCH_TOOLTIP types
| are constructed just so the fetch programs output lines can be
| are constructed just so the fetch programs output lines can be
| reported in a tooltip. Real mailboxes that GKrellM creates in its
| config and knows how to check have MBOX_INTERNAL set. And
| finally there can be external (plugin) mailboxes created which
@ -306,6 +306,21 @@ static gint anim_frame,
static gint style_id;
#ifdef HAVE_SSL
#ifndef HAVE_GNUTLS
static GMutex **ssl_locks;
static void
ssl_locking_cb(int mode, int n, const char *file, int line)
{
if (mode & CRYPTO_LOCK)
g_mutex_lock(ssl_locks[n]);
else
g_mutex_unlock(ssl_locks[n]);
}
#endif
#endif
/* This may be called from gkrellm_sys_main_init()
*/
void
@ -390,7 +405,7 @@ update_tooltip(void)
MailAccount *account;
GString *mboxes = NULL;
gchar buf[128];
if (show_tooltip)
{
mboxes = g_string_sized_new(512);
@ -412,10 +427,10 @@ update_tooltip(void)
else if (! format_remote_mbox_name(mbox, buf, sizeof(buf)))
continue; /* Can't get a name, so no tooltip for you! */
if (mboxes->len > 0)
if (mboxes->len > 0)
g_string_append_c(mboxes, '\n');
g_string_append(mboxes, buf);
if (count_mode == MSG_NEW_TOTAL_COUNT)
snprintf(buf, sizeof(buf), "(%d/%d)",
mbox->new_mail_count, mbox->mail_count);
@ -429,7 +444,7 @@ update_tooltip(void)
if (show_tooltip && mboxes && mboxes->len > 0)
{
#if GTK_CHECK_VERSION(2,12,0)
gtk_widget_set_tooltip_text(mail->drawing_area, mboxes->str);
gtk_widget_set_tooltip_text(mail->drawing_area, mboxes->str);
#else
gtk_tooltips_set_tip(tooltip, mail->drawing_area, mboxes->str, "");
gtk_tooltips_enable(tooltip);
@ -447,8 +462,8 @@ update_tooltip(void)
if (mboxes)
g_string_free(mboxes, TRUE);
}
/* Look at a From line to see if it is valid, lines look like:
| From sending_address dayofweek month dayofmonth timeofday year
| eg: From billw@gkrellm.net Fri Oct 22 13:52:49 2010
@ -490,7 +505,7 @@ is_multipart_mail(gchar *buf, gchar *separator)
gchar *fieldstart;
gchar *sepstart;
gint seplen;
if (strncmp(buf, "Content-Type: ", 14) != 0)
return FALSE;
if (strncmp(&buf[14], "multipart/", 10) != 0)
@ -750,9 +765,6 @@ ssl_negotiate(ConnInfo *conn, Mailbox *mbox)
{
SSL_METHOD *ssl_method;
SSLeay_add_ssl_algorithms();
SSL_load_error_strings();
if (mbox->account->use_ssl == SSL_TRANSPORT)
ssl_method = SSLv23_client_method();
else
@ -1228,7 +1240,7 @@ check_imap(Mailbox *mbox)
return tcp_shutdown(&conn, mbox, tcp_error_message[4], FALSE);
if ((ss = strstr(mbox->tcp_in->str, "MESSAGES")) == NULL)
return tcp_shutdown(&conn, mbox, tcp_error_message[4], FALSE);
}
}
else
return tcp_shutdown(&conn, mbox, tcp_error_message[4], FALSE);
}
@ -1323,7 +1335,7 @@ sylpheed_mark_new_count(Mailbox *mbox)
if (!f)
return FALSE;
if ( fread(&ver, sizeof(ver), 1, f) == 1
&& SYLPHEED_MARK_VERSION == ver
)
@ -1448,12 +1460,12 @@ check_maildir(Mailbox *mbox)
| And Netscape mail does status with X-Mozilla-Status: xxxS
| where S is bitwise or of status flags:
| 1: read 2: replied 4: marked 8: deleted
|
|
| Evolution uses status with X-Evolution: 00000000-xxxx where xxxx status is
| a bitfield in hexadecimal (see enum _CamelMessageFlags in evolution/camel
| source) and most importantly CAMEL_MESSAGE_SEEN = 1<<4.
*/
/* test if buf is a status for standard mail, mozilla or evolution
/* test if buf is a status for standard mail, mozilla or evolution
*/
static gboolean
is_status(gchar *buf)
@ -1505,7 +1517,7 @@ status_is_old(gchar *buf)
return FALSE;
}
/* test if a mail is marked as deleted
/* test if a mail is marked as deleted
| Evolution uses status with X-Evolution: 00000000-xxxx where xxxx status is
| a bitfield in hexadecimal (see enum _CamelMessageFlags in evolution/camel source)
| and most importantly CAMEL_MESSAGE_DELETED = 1<<1.
@ -1751,7 +1763,7 @@ draw_mail_text_decal(gint new_mail_count, gint mail_count)
strcpy(tbuf, "-");
else
snprintf(tbuf, sizeof(tbuf), "%d", mail_count);
snprintf(buf, sizeof(buf), "%s/%s", nbuf, tbuf);
snprintf(buf, sizeof(buf), "%s/%s", nbuf, tbuf);
}
}
w = gkrellm_gdk_string_width(ts.font, buf);
@ -2249,7 +2261,7 @@ update_mail(void)
if (GK.second_tick && (++second_count % local_check_timeout) == 0)
local_check = TRUE;
fetch_check = fetch_check_is_local ? local_check : remote_check;
if (remote_check || local_check)
mua_is_launched(); /* update pipe, avoid lingering zombie */
@ -2283,7 +2295,7 @@ update_mail(void)
if (fetch_check)
(*mbox->check_func)(mbox);
break;
case MBOX_CHECK_INLINE: /* Local mailbox or maildir check */
if (local_check)
{
@ -2525,7 +2537,7 @@ cb_panel_press(GtkWidget *widget, GdkEventButton *ev)
if (ev->button == 1 && ev->x >= d->x && ev->x < d->x + d->w)
force_mail_check = TRUE;
return FALSE;
}
}
static void
dup_account(MailAccount *dst, MailAccount *src)
@ -3361,7 +3373,7 @@ cb_tree_selection_changed(GtkTreeSelection *selection, gpointer data)
active = (account->port == default_port) ? FALSE : TRUE;
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(port_button), active);
sprintf(buf, "%d", account->port);
gtk_entry_set_text(GTK_ENTRY(port_entry), buf);
gtk_entry_set_text(GTK_ENTRY(port_entry), buf);
}
else if (local_supported)
{
@ -3950,7 +3962,7 @@ create_mail_tab(GtkWidget *tab_vbox)
gtk_box_pack_start(GTK_BOX(hbox), mbox_path_entry, TRUE, TRUE, 2);
gtk_entry_set_text(GTK_ENTRY(mbox_path_entry), "");
g_signal_connect (G_OBJECT (mbox_path_entry), "activate",
G_CALLBACK(mailbox_enter_cb), NULL);
G_CALLBACK(mailbox_enter_cb), NULL);
}
/* Remote mailbox account entry */
@ -4200,7 +4212,7 @@ create_mail_tab(GtkWidget *tab_vbox)
mh_seq_ignore, TRUE, TRUE, 0,
multi_toggle_button_cb, NULL,
_("Ignore .mh_sequences when checking MH mail."));
/* --Info tab */
vbox = gkrellm_gtk_framed_notebook_page(tabs, _("Info"));
text = gkrellm_gtk_scrolled_text_view(vbox, NULL,
@ -4246,6 +4258,12 @@ static GkrellmMonitor monitor_mail =
GkrellmMonitor *
gkrellm_init_mail_monitor(void)
{
#ifdef HAVE_SSL
#ifndef HAVE_GNUTLS
int i, num_locks = CRYPTO_num_locks();
#endif
#endif
monitor_mail.name = _(monitor_mail.name);
enable_mail = TRUE;
show_tooltip = TRUE;
@ -4266,6 +4284,15 @@ gkrellm_init_mail_monitor(void)
#ifdef HAVE_GNUTLS
gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
gnutls_global_init();
#else
#ifdef HAVE_SSL
SSL_load_error_strings();
SSL_library_init();
ssl_locks = g_new(GMutex *, num_locks);
for (i = 0; i < num_locks; i++)
ssl_locks[i] = g_mutex_new();
CRYPTO_set_locking_callback(ssl_locking_cb);
#endif
#endif
mail_fetch = g_new0(Mailbox, 1);

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -645,7 +645,9 @@ top_frame_button_press(GtkWidget *widget, GdkEventButton *ev, gpointer data)
}
gtk_window_present(GTK_WINDOW(top_window));
if (_GK.client_mode && gkrellm_client_server_connect_state() == 0)
if ( _GK.client_mode
&& gkrellm_client_server_connect_state() == DISCONNECTED
)
gkrellm_client_mode_connect_thread();
if (!_GK.withdrawn) /* Move window unless in the slit */
@ -2047,8 +2049,12 @@ setup_signal_handler(void)
gint
main(gint argc, gchar **argv)
{
gint i;
gchar *s;
gint i;
gchar *s;
enum GkrellmConnectResult connect_result;
GtkWidget *dlg;
gkrellm_sys_main_init();
#ifdef ENABLE_NLS
gtk_set_locale();
@ -2186,15 +2192,44 @@ main(gint argc, gchar **argv)
g_debug("--- GKrellM %d.%d.%d ---\n", GKRELLM_VERSION_MAJOR,
GKRELLM_VERSION_MINOR, GKRELLM_VERSION_REV);
gkrellm_sys_main_init(); //FIXME: call this later or earlier?
_GK.w_display = gdk_screen_get_width(gdk_screen_get_default());
_GK.h_display = gdk_screen_get_height(gdk_screen_get_default());
if (_GK.server && !gkrellm_client_mode_connect())
if (_GK.server)
{
gkrellm_exit(0);
return 0;
connect_result = gkrellm_client_mode_connect();
while (connect_result == BAD_CONNECT)
{
gint result;
dlg = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR, GTK_BUTTONS_YES_NO,
"GKrellM cannot connect to server:\n"
"\t%s:%d\n\n"
"Do you want to retry?",
_GK.server, _GK.server_port);
result = gtk_dialog_run(GTK_DIALOG(dlg));
gtk_widget_destroy(dlg);
if (result == GTK_RESPONSE_YES)
connect_result = gkrellm_client_mode_connect();
else
break;
}
if (connect_result == BAD_SETUP)
{
dlg = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
"GKrellM cannot get initial setup from server:\n"
"\t\t%s:%d\n",
_GK.server, _GK.server_port);
gtk_dialog_run(GTK_DIALOG(dlg));
gtk_widget_destroy(dlg);
}
if (connect_result != GOOD_CONNECT)
{
gkrellm_exit(0);
return 0;
}
}
check_gkrellm_directories();
@ -2272,11 +2307,8 @@ main(gint argc, gchar **argv)
gkrellm_start_timer(_GK.update_HZ);
setup_signal_handler();
/* Enter main event-loop */
gtk_main();
/* Save settings, positions and inet-monitor history */
gkrellm_save_all();
/* disconnect from gkrellm-server if we're a client */

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -1072,7 +1072,7 @@ save_plugins_placement_file(void)
GkrellmMonitor *builtin, *plugin;
GkrellmMonprivate *mp;
gchar *path;
if (!plugin_placement_modified || _GK.demo || _GK.no_config)
return;
path = gkrellm_make_config_file_name(gkrellm_homedir(),
@ -1134,7 +1134,7 @@ save_plugins_enable_file(void)
GList *list;
GkrellmMonitor *m;
gchar *path, *s;
if (!plugin_enable_list_modified || _GK.demo)
return;
path = gkrellm_make_config_file_name(gkrellm_homedir(),
@ -1177,7 +1177,7 @@ scan_for_plugins(gchar *path)
GkrellmMonitor *m = NULL;
gchar *s;
gboolean exists;
if (!path || !*path || (dir = g_dir_open(path, 0, NULL)) == NULL)
return;
while ((name = (gchar *) g_dir_read_name(dir)) != NULL)

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -191,7 +191,8 @@ gkrellm_sensors_add_sensor(gint type, gchar *sensor_path, gchar *id_name,
/* ======================================================================== */
static gboolean use_threads,
thread_data_valid,
units_fahrenheit;
units_fahrenheit,
show_units = TRUE;
static gboolean thread_busy;
@ -375,7 +376,7 @@ gkrellm_sensor_draw_temperature_decal(GkrellmPanel *p, GkrellmDecal *d,
w = gkrellm_gdk_string_width(d->text_style.font, buf)
+ d->text_style.effect;
}
d->x_off = d->w - w;
if (d->x_off < 0)
d->x_off = 0;
@ -522,7 +523,12 @@ sensor_read_temperature(Sensor *sensor, gfloat *temp, gchar *units)
if (temp)
*temp = t;
if (units)
*units = units_fahrenheit ? 'F':'C';
{
if (show_units)
*units = units_fahrenheit ? 'F':'C';
else
*units = '\0';
}
if ((_GK.debug_level & DEBUG_SENSORS) && sensor)
printf("sensor_temp: %s %s t=%.2f\n",
sensor->name_locale, sensor->path, sensor->value);
@ -778,7 +784,7 @@ gkrellm_sensors_interface_remove(gint _interface)
}
}
}
while (removed_one);
while (removed_one);
}
static void
@ -1036,7 +1042,7 @@ layout_volt_decals(GkrellmPanel *p, GkrellmStyle *style)
cols = n;;
volt_mon_width = w / cols; /* spread them out */
x = (w - cols * volt_mon_width) / 2 + m->left;
gkrellm_get_top_bottom_margins(style, &y, NULL);
c = 0;
for (list = volt_list; list; list = list->next)
@ -1362,7 +1368,10 @@ make_temperature_panel(GtkWidget *vbox, gint first_create)
return;
style = gkrellm_meter_style(style_id);
m = gkrellm_get_style_margins(style);
format = units_fahrenheit ? "188.8F" : "88.8C";
if (show_units)
format = units_fahrenheit ? "188.8F" : "88.8C";
else
format = units_fahrenheit ? "188.8" : "88.8";
assign_textstyles(temperature_list, &ts_name, &ts_sensor, format);
gkrellm_get_top_bottom_margins(style, &y, NULL);
y += bezel_style->border.top;
@ -1473,7 +1482,7 @@ make_volt_panel(GtkWidget *vbox, gint first_create)
style = gkrellm_meter_style(style_id);
make_volt_decals(pVolt, style);
layout_volt_decals(pVolt, style);
gkrellm_panel_configure(pVolt, NULL, style);
/* Make the bottom margin reference against the bottom volt decals
@ -1587,7 +1596,7 @@ create_sensors(GtkWidget *vbox, gint first_create)
| THEME_DIR/sensors/bg_volt.png
| and for a border for it from the gkrellmrc in the format:
| set_piximage_border sensors_bg_volt l,r,t,b
| There is no default for bg_volt image, ie it may end up being NULL.
| There is no default for bg_volt image, ie it may end up being NULL.
*/
xpm = gkrellm_using_default_theme() ? bg_volt_xpm : NULL;
if (bezel_piximage)
@ -1773,6 +1782,8 @@ save_sensors_config(FILE *f_not_used)
fprintf(f, "%s units_fahrenheit %d\n", SENSOR_CONFIG_KEYWORD,
units_fahrenheit);
fprintf(f, "%s show_units %d\n", SENSOR_CONFIG_KEYWORD,
show_units);
fprintf(f, "%s volt_display_mode %d\n", SENSOR_CONFIG_KEYWORD,
display_mode);
/* _GK.mbmon_port is handled in config.c so that the port can be
@ -1807,6 +1818,8 @@ load_sensors_config(gchar *arg)
sscanf(item, "%d", &sensor_config_sysdep_private);
else if (!strcmp(config, "units_fahrenheit"))
sscanf(item, "%d", &units_fahrenheit);
else if (!strcmp(config, "show_units"))
sscanf(item, "%d", &show_units);
else if (!strcmp(config, "volt_display_mode"))
sscanf(item, "%d", &display_mode);
else if (!strcmp(config, "sensor_float_factor"))
@ -2526,7 +2539,7 @@ enable_cb(GtkCellRendererText *cell, gchar *path_string, gpointer data)
-1);
s->enabled = !enabled;
gtk_tree_store_set(GTK_TREE_STORE(model), &iter,
ENABLE_COLUMN, s->enabled,
ENABLE_COLUMN, s->enabled,
-1);
change_row_reference(model, path);
gtk_tree_path_free(path);
@ -2588,6 +2601,21 @@ cb_temperature_units(GtkWidget *button, gpointer data)
gkrellm_proc_draw_sensors(NULL);
}
static void
cb_show_units(GtkWidget *button, gpointer data)
{
gint show;
show = GTK_TOGGLE_BUTTON(button)->active;
if (show == show_units)
return;
show_units = show;
gkrellm_sensors_rebuild(DO_TEMP, FALSE, FALSE);
gkrellm_cpu_draw_sensors(NULL);
gkrellm_proc_draw_sensors(NULL);
}
static void
cb_voltages_display(GtkWidget *entry, gpointer data)
{
@ -2655,7 +2683,7 @@ static gchar *sensor_info_text0[] =
"\n",
};
static gchar *sensor_info_text1[] =
static gchar *sensor_info_text1[] =
{
N_("<h>Setup\n"),
N_("Enter data scaling factors and offsets for the sensors if the default\n"
@ -2812,6 +2840,10 @@ create_sensors_tab(GtkWidget *tab_vbox)
units_fahrenheit, FALSE, FALSE, 0,
cb_temperature_units, NULL,
_("Display fahrenheit"));
gkrellm_gtk_check_button_connected(box, &button,
show_units, FALSE, FALSE, 0,
cb_show_units, NULL,
_("Show units"));
if (!sensor_list)
gtk_widget_set_sensitive(button, FALSE);

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -33,14 +33,20 @@
| as that of the covered work.
*/
#include <sys/param.h>
#include <sys/sysctl.h>
#include <osreldate.h>
#if __FreeBSD_version < 500000
#include <kvm.h>
kvm_t *kvmd = NULL;
char errbuf[_POSIX2_LINE_MAX];
#endif
// extern gboolean force_meminfo_update(void);
#if defined(__i386__)
#if defined(__i386__) || defined(__amd64__)
static void scan_for_sensors();
#endif
@ -51,13 +57,15 @@ gkrellm_sys_main_init(void)
/* We just ignore error, here. Even if GKrellM doesn't have
| kmem privilege, it runs with available information.
*/
#if __FreeBSD_version < 500000
kvmd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, errbuf);
#endif
if (setgid(getgid()) != 0)
{
fprintf(stderr, "Can't drop setgid privileges.");
exit(1);
}
#if defined(__i386__)
#if defined(__i386__) || defined(__amd64__)
scan_for_sensors();
#endif
if (setuid(getuid()) != 0)
@ -72,9 +80,6 @@ gkrellm_sys_main_cleanup(void)
{
}
#include <sys/param.h>
#include <sys/sysctl.h>
static int
gk_sysctlnametomib(const char *name, int *mibp, size_t *lenp)
{
@ -90,38 +95,43 @@ gk_sysctlnametomib(const char *name, int *mibp, size_t *lenp)
/* ===================================================================== */
/* CPU monitor interface */
#include <osreldate.h>
#if __FreeBSD_version >= 500101
#include <sys/resource.h>
#else
#include <sys/dkstat.h>
#endif
#include <kvm.h>
extern kvm_t *kvmd;
static int oid_cp_time[CTL_MAXNAME + 2];
static int oid_cp_times[CTL_MAXNAME + 2];
static size_t oid_cp_time_len = sizeof(oid_cp_time);
static size_t oid_cp_times_len = sizeof(oid_cp_times);
static gint have_cp_time;
static gint maxid;
static gint ncpus;
static u_long cpumask;
static long *cp_times;
void
gkrellm_sys_cpu_read_data(void)
{
long cp_time[CPUSTATES];
int len = sizeof(cp_time);
long cp_time[CPUSTATES], *cp_timep;
size_t len;
#if __FreeBSD_version < 500000
static struct nlist nl[] = {
#define N_CP_TIME 0
{ "_cp_time" },
{ "" }
};
#endif
if (have_cp_time)
{
if (sysctl(oid_cp_time, oid_cp_time_len,
cp_time, &len, 0, 0) < 0)
len = sizeof(cp_time);
if (sysctl(oid_cp_time, oid_cp_time_len, cp_time, &len,
NULL, 0) < 0)
return;
}
#if __FreeBSD_version < 500000
else
{
if (kvmd == NULL)
@ -133,22 +143,92 @@ gkrellm_sys_cpu_read_data(void)
sizeof(cp_time)) != sizeof(cp_time))
return;
}
#endif
/* Currently, SMP is not supported */
gkrellm_cpu_assign_data(0, cp_time[CP_USER], cp_time[CP_NICE],
cp_time[CP_SYS], cp_time[CP_IDLE]);
if (ncpus > 1)
{
gint i, j;
gkrellm_cpu_assign_composite_data(cp_time[CP_USER],
cp_time[CP_NICE],
cp_time[CP_SYS],
cp_time[CP_IDLE]);
len = (maxid + 1) * sizeof(long) * CPUSTATES;
if (sysctl(oid_cp_times, oid_cp_times_len, cp_times, &len,
NULL, 0) < 0)
return;
for (i = j = 0; i <= maxid; ++i)
{
if ((cpumask & (1ul << i)) == 0)
continue;
cp_timep = &cp_times[i * CPUSTATES];
gkrellm_cpu_assign_data(j, cp_timep[CP_USER],
cp_timep[CP_NICE],
cp_timep[CP_SYS],
cp_timep[CP_IDLE]);
++j;
}
}
else
gkrellm_cpu_assign_data(0, cp_time[CP_USER], cp_time[CP_NICE],
cp_time[CP_SYS], cp_time[CP_IDLE]);
}
gboolean
gkrellm_sys_cpu_init(void)
{
static char *name = "kern.cp_time";
gint have_cp_times = FALSE;
gint maxcpus;
size_t len;
long *p;
gkrellm_cpu_set_number_of_cpus(1);
if (gk_sysctlnametomib("kern.cp_time", oid_cp_time,
&oid_cp_time_len) >= 0)
have_cp_time = TRUE;
if (gk_sysctlnametomib(name, oid_cp_time, &oid_cp_time_len) < 0)
return TRUE;
++have_cp_time;
len = sizeof(maxcpus);
if (sysctlbyname("kern.smp.maxcpus", &maxcpus, &len, NULL, 0) >= 0)
{
gint empty, i, j;
if (gk_sysctlnametomib("kern.cp_times", oid_cp_times,
&oid_cp_times_len) < 0)
goto pcpu_probe_done;
len = maxcpus * sizeof(long) * CPUSTATES;
if ((cp_times = malloc(len)) == NULL)
goto pcpu_probe_done;
if (sysctl(oid_cp_times, oid_cp_times_len, cp_times, &len,
NULL, 0) < 0)
{
free(cp_times);
cp_times = NULL;
goto pcpu_probe_done;
}
maxid = (len / CPUSTATES / sizeof(long)) - 1;
cpumask = 0;
ncpus = 0;
for (i = 0; i <= maxid; ++i)
{
empty = 1;
for (j = 0; empty && j < CPUSTATES; ++j)
if (cp_times[i * CPUSTATES + j] != 0)
empty = 0;
if (!empty)
{
cpumask |= (1ul << i);
++ncpus;
}
}
if ((p = realloc(cp_times, len)) != NULL)
cp_times = p;
have_cp_times = TRUE;
}
pcpu_probe_done:
if (!have_cp_times)
ncpus = 1;
gkrellm_cpu_set_number_of_cpus(ncpus);
return TRUE;
}
@ -156,8 +236,6 @@ gkrellm_sys_cpu_init(void)
/* ===================================================================== */
/* Proc monitor interface */
#include <osreldate.h>
#include <sys/sysctl.h>
#if __FreeBSD_version >= 400000
#include <sys/user.h>
#endif
@ -175,13 +253,10 @@ gkrellm_sys_cpu_init(void)
#undef KERNEL
#endif
#include <kvm.h>
#include <limits.h>
#include <paths.h>
#include <utmp.h>
extern kvm_t *kvmd;
static int oid_v_forks[CTL_MAXNAME + 2];
static int oid_v_vforks[CTL_MAXNAME + 2];
static int oid_v_rforks[CTL_MAXNAME + 2];
@ -215,17 +290,19 @@ gkrellm_sys_proc_read_data(void)
static int oid_proc[] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL };
#endif
double avenrun;
static u_int n_processes, n_forks = 0, curpid = -1;
static u_int n_processes, n_forks = 0;
u_int n_vforks, n_rforks;
gint r_forks, r_vforks, r_rforks;
gint len;
size_t len;
#if __FreeBSD_version < 500000
static u_int curpid = -1;
gint nextpid, nforked;
static struct nlist nl[] = {
#define N_NEXTPID 0
{ "_nextpid" },
{ "" }
};
#endif
if (getloadavg(&avenrun, 1) <= 0)
avenrun = 0;
@ -246,6 +323,7 @@ gkrellm_sys_proc_read_data(void)
if (r_forks >= 0 && r_vforks >= 0 && r_rforks >= 0)
n_forks = n_forks + n_vforks + n_rforks;
}
#if __FreeBSD_version < 500000
else
{
/* workaround: Can I get total number of processes? */
@ -268,6 +346,7 @@ gkrellm_sys_proc_read_data(void)
}
}
}
#endif
#if __FreeBSD_version >= 400000
if (sysctl(oid_proc, 3, NULL, &len, NULL, 0) >= 0)
@ -318,10 +397,6 @@ gkrellm_sys_proc_read_users(void)
#if __FreeBSD_version >= 300000
#include <devstat.h>
static struct statinfo statinfo_cur;
#else
#include <kvm.h>
extern kvm_t *kvmd;
#endif
gchar *
@ -479,11 +554,7 @@ gkrellm_sys_disk_init(void)
#include <netinet6/tcp6_var.h>
#endif
#include <kvm.h>
#include <nlist.h>
extern kvm_t *kvmd;
extern char errbuf[];
#endif
@ -582,7 +653,7 @@ gkrellm_sys_inet_read_tcp_data(void)
gint tcp_status;
struct xinpgen *xig, *oxig;
gchar *buf;
gint len = 0;
size_t len = 0;
if (!initialized)
{
@ -655,17 +726,14 @@ gkrellm_sys_inet_init(void)
/* ===================================================================== */
/* Memory/Swap monitor interface */
#include <osreldate.h>
#include <kvm.h>
#include <limits.h>
#include <sys/conf.h>
#if __FreeBSD_version < 400000
#include <sys/rlist.h>
#endif
#include <sys/vmmeter.h>
#include <sys/sysctl.h>
#include <vm/vm_param.h>
#if __FreeBSD_version < 410000
static struct nlist nl_mem[] = {
#define N_CNT 0
{ "_cnt" },
@ -687,17 +755,20 @@ static struct nlist nl_mem[] = {
#endif
{ "" }
};
extern kvm_t *kvmd;
extern char errbuf[];
#endif
static int
swapmode(guint64 *retavail, guint64 *retfree)
swapmode(unsigned long long *retavail, unsigned long long *retfree)
{
guint64 used, avail;
#if __FreeBSD_version >= 400000
static int psize = -1;
struct kvm_swap kvmswap;
#if __FreeBSD_version >= 500000
struct xswdev xsw;
size_t mibsize, size;
int mib[16], n;
#endif
#else
char *header;
int hlen, nswap, nswdev, dmmax;
@ -734,21 +805,37 @@ swapmode(guint64 *retavail, guint64 *retfree)
}
warning--; /* decrease counter, see end of function */
#if __FreeBSD_version >= 400000
#if __FreeBSD_version >= 500000
mibsize = sizeof mib / sizeof mib[0];
if (gk_sysctlnametomib("vm.swap_info", mib, &mibsize) == -1)
return(0);
kvmswap.ksw_total = 0;
kvmswap.ksw_used = 0;
for (n = 0; ; ++n)
{
mib[mibsize] = n;
size = sizeof xsw;
if (sysctl(mib, mibsize + 1, &xsw, &size, NULL, 0) == -1)
break;
kvmswap.ksw_total += xsw.xsw_nblks;
kvmswap.ksw_used += xsw.xsw_used;
}
#else
if (kvmd == NULL)
return(0);
#if __FreeBSD_version >= 400000
if (kvm_getswapinfo(kvmd, &kvmswap, 1, 0) < 0)
{
fprintf(stderr, "kvm_getswapinfo failed\n");
return(0);
}
#endif
if (psize < 0)
psize = getpagesize();
psize = getpagesize();
*retavail = avail = (quad_t)kvmswap.ksw_total * psize;
used = (quad_t)kvmswap.ksw_used * psize;
*retfree = avail - used;
#else
if (kvmd == NULL)
return(0);
if (kvm_read(kvmd, nl_mem[VM_NSWAP].n_value,
&nswap, sizeof(nswap)) != sizeof(nswap))
return(0);
@ -898,7 +985,7 @@ get_bufspace(guint64 *bufspacep)
}
if (sysctl(oid_bufspace, oid_bufspace_len,
&bufspace, &bufspace_len, 0, 0) < 0)
&bufspace, &bufspace_len, NULL, 0) < 0)
return 0;
#endif
*bufspacep = bufspace;
@ -942,9 +1029,9 @@ static struct mibtab mibs[] = {
#endif
static guint64 swapin,
swapout,
swap_total,
swap_used;
swapout;
static unsigned long long swap_total,
swap_used;
void
gkrellm_sys_mem_read_data(void)
@ -954,15 +1041,14 @@ gkrellm_sys_mem_read_data(void)
static gint swappgsin = -1;
static gint swappgsout = -1;
gint dpagein, dpageout;
struct vmmeter sum;
guint64 total, used, x_used, free, shared, buffers, cached;
struct vmtotal vmt;
size_t length_vmt = sizeof(vmt);
static int oid_vmt[] = { CTL_VM, VM_TOTAL };
#if __FreeBSD_version >= 410000
gint i;
FILE *f;
gchar buf[160];
#else
struct vmmeter sum;
#endif
#if 0
@ -981,60 +1067,49 @@ gkrellm_sys_mem_read_data(void)
}
shared = 0;
if (kvmd == NULL)
{
#if __FreeBSD_version >= 410000
if (!first_time_done)
{
for (i = 0; mibs[i].name; ++i)
{
mibs[i].oid_len = sizeof(mibs[i].oid);
if (gk_sysctlnametomib(mibs[i].name,
mibs[i].oid,
&mibs[i].oid_len) < 0)
return;
mibs[i].value_len = sizeof(mibs[i].value);
}
++first_time_done;
}
if (!first_time_done)
{
for (i = 0; mibs[i].name; ++i)
if (sysctl(mibs[i].oid, mibs[i].oid_len,
&mibs[i].value,
&mibs[i].value_len, 0, 0) < 0)
return;
total = (mibs[MIB_V_PAGE_COUNT].value -
mibs[MIB_V_WIRE_COUNT].value) << pshift;
x_used = (mibs[MIB_V_ACTIVE_COUNT].value +
mibs[MIB_V_INACTIVE_COUNT].value) << pshift;
free = mibs[MIB_V_FREE_COUNT].value << pshift;
if (sysctl(oid_vmt, 2, &vmt, &length_vmt, NULL, 0) == 0)
shared = vmt.t_rmshr << pshift;
get_bufspace(&buffers);
cached = mibs[MIB_V_CACHE_COUNT].value << pshift;
used = x_used - buffers - cached;
gkrellm_mem_assign_data(total, used, free, shared, buffers, cached);
swapin = mibs[MIB_V_SWAPPGSIN].value;
swapout = mibs[MIB_V_SWAPPGSOUT].value;
/* Try linprocfs for swap info */
if ((f = fopen(PROC_MEMINFO_FILE, "r")) == NULL)
return;
/* total: used: free: shared: buffers: cached: */
while ((fgets(buf, sizeof(buf), f)) != NULL)
{
if (strncmp(buf, "Swap:", 5) == 0)
{
sscanf(buf, "Swap: %llu %llu",
&swap_total, &swap_used);
break;
}
mibs[i].oid_len = sizeof(mibs[i].oid);
if (gk_sysctlnametomib(mibs[i].name, mibs[i].oid,
&mibs[i].oid_len) < 0)
return;
mibs[i].value_len = sizeof(mibs[i].value);
}
fclose(f);
#endif
return;
}
for (i = 0; mibs[i].name; ++i)
if (sysctl(mibs[i].oid, mibs[i].oid_len, &mibs[i].value,
&mibs[i].value_len, NULL, 0) < 0)
return;
total = (mibs[MIB_V_PAGE_COUNT].value -
mibs[MIB_V_WIRE_COUNT].value) << pshift;
x_used = (mibs[MIB_V_ACTIVE_COUNT].value +
mibs[MIB_V_INACTIVE_COUNT].value) << pshift;
free = mibs[MIB_V_FREE_COUNT].value << pshift;
if (sysctl(oid_vmt, 2, &vmt, &length_vmt, NULL, 0) == 0)
shared = vmt.t_rmshr << pshift;
get_bufspace(&buffers);
cached = mibs[MIB_V_CACHE_COUNT].value << pshift;
used = x_used - buffers - cached;
gkrellm_mem_assign_data(total, used, free, shared, buffers, cached);
if (swappgsin < 0)
{
dpagein = 0;
dpageout = 0;
}
else
{
dpagein = (mibs[MIB_V_SWAPPGSIN].value - swappgsin) << pshift;
dpageout = (mibs[MIB_V_SWAPPGSOUT].value - swappgsout) << pshift;
}
swappgsin = mibs[MIB_V_SWAPPGSIN].value;
swappgsout = mibs[MIB_V_SWAPPGSOUT].value;
#else
if (kvmd == NULL)
return;
if (nl_mem[0].n_type == 0)
if (kvm_nlist(kvmd, nl_mem) < 0 || nl_mem[0].n_type == 0)
return;
@ -1051,6 +1126,7 @@ gkrellm_sys_mem_read_data(void)
cached = sum.v_cache_count << pshift;
used = x_used - buffers - cached;
gkrellm_mem_assign_data(total, used, free, shared, buffers, cached);
if (swappgsin < 0)
{
dpagein = 0;
@ -1058,11 +1134,12 @@ gkrellm_sys_mem_read_data(void)
}
else
{
dpagein = (sum.v_swappgsin - swappgsin) << (pshift - 10);
dpageout = (sum.v_swappgsout - swappgsout) << (pshift - 10);
dpagein = (sum.v_swappgsin - swappgsin) << pshift;
dpageout = (sum.v_swappgsout - swappgsout) << pshift;
}
swappgsin = sum.v_swappgsin;
swappgsout = sum.v_swappgsout;
#endif
if (dpagein > 0 || dpageout > 0 || first_time_done == 0)
{
@ -1090,8 +1167,8 @@ gkrellm_sys_mem_init(void)
/* ===================================================================== */
/* Battery monitor interface */
#if defined(__i386__) || defined(__amd64__)
#if defined(__i386__)
#include <osreldate.h>
#include <machine/apm_bios.h>
#define APMDEV "/dev/apm"
@ -1099,6 +1176,7 @@ gkrellm_sys_mem_init(void)
#define L_ON_LINE 1
#define L_CHARGING 3
#define L_UNKNOWN 0xFF
#endif
/* following two definitions are taken from sys/dev/acpica/acpiio.h */
#define ACPI_BATT_STAT_CHARGING 0x0002
@ -1125,16 +1203,18 @@ gkrellm_sys_battery_read_data(void)
size_t size;
int acpi_info[4];
int i;
#if defined(__i386__)
int f, r;
struct apm_info info;
gint batt_num = 0;
#endif
gboolean available, on_line, charging;
gint percent, time_left;
gint batt_num = 0;
if (!first_time_done)
{
first_time_done = TRUE;
#ifdef ACPI_SUPPORTS_MULTIPLE_BATTERIES
#if defined(ACPI_SUPPORTS_MULTIPLE_BATTERIES) || defined(__amd64__)
/*
* XXX: Disable getting battery information via ACPI
* to support multiple batteries via APM sim until
@ -1174,6 +1254,7 @@ gkrellm_sys_battery_read_data(void)
return;
}
#if defined(__i386__)
if ((f = open(APMDEV, O_RDONLY)) == -1)
return;
if ((r = ioctl(f, APMIO_GETINFO, &info)) == -1) {
@ -1231,6 +1312,7 @@ gkrellm_sys_battery_read_data(void)
#endif
close(f);
#endif
}
gboolean
@ -1258,7 +1340,7 @@ gkrellm_sys_battery_init(void)
/* ===================================================================== */
/* Sensor monitor interface */
#if defined(__i386__)
#if defined(__i386__) || defined(__amd64__)
typedef struct
{
@ -1286,7 +1368,6 @@ static VoltDefault voltdefault0[] =
};
#include <dirent.h>
#include <osreldate.h>
#include <machine/cpufunc.h>
#if __FreeBSD_version >= 500042
#include <dev/smbus/smb.h>
@ -1298,6 +1379,7 @@ static VoltDefault voltdefault0[] =
#define INTERFACE_IO 0
#define INTERFACE_SMB 1
#define INTERFACE_ACPI 2
#define INTERFACE_CORETEMP 3 /* Already in Celsius */
/* Addresses to use for /dev/io */
#define WBIO1 0x295
@ -1331,7 +1413,7 @@ get_data(int iodev, u_char command, int interface, u_char *ret)
struct smbcmd cmd;
bzero(&cmd, sizeof(cmd));
cmd.data.byte_ptr = &byte;
cmd.data.byte_ptr = (char *)&byte;
cmd.slave = 0x5a;
cmd.cmd = command;
if (ioctl(iodev, SMB_READB, (caddr_t)&cmd) == -1)
@ -1357,6 +1439,8 @@ gkrellm_sys_sensors_get_temperature(gchar *path, gint id,
{
u_char byte;
int value;
size_t size;
if (interface == MBMON_INTERFACE)
{
@ -1366,15 +1450,24 @@ gkrellm_sys_sensors_get_temperature(gchar *path, gint id,
if (interface == INTERFACE_ACPI)
{
int value;
size_t size = sizeof(value);
size = sizeof(value);
if (sysctlbyname(path, &value, &size, NULL, 0) < 0)
return FALSE;
if (temp)
*temp = (gfloat) TZ_KELVTOC(value);
return TRUE;
}
if (interface == INTERFACE_CORETEMP)
{
size = sizeof(value);
if (sysctlbyname(path, &value, &size, NULL, 0) < 0)
return FALSE;
if (temp)
*temp = (gfloat) value;
return TRUE;
}
if (get_data(iodev, LM78_TEMP, interface, &byte))
{
if (temp)
@ -1447,7 +1540,7 @@ gkrellm_sys_sensors_init(void)
gchar mib_name[256], label[8];
gint interface, id;
int oid_acpi_temp[CTL_MAXNAME + 2];
size_t oid_acpi_temp_len = sizeof(oid_acpi_temp);
size_t oid_acpi_temp_len;
GList *list;
struct freebsd_sensor *sensor;
@ -1455,10 +1548,12 @@ gkrellm_sys_sensors_init(void)
*/
gkrellm_sys_sensors_mbmon_check(TRUE);
for (id = 0;;)
{
/* ACPI Thermal */
for (id = 0;; id++)
{
snprintf(mib_name, sizeof(mib_name),
"hw.acpi.thermal.tz%d.temperature", id);
oid_acpi_temp_len = sizeof(oid_acpi_temp);
if (gk_sysctlnametomib(mib_name, oid_acpi_temp,
&oid_acpi_temp_len) < 0)
break;
@ -1470,7 +1565,27 @@ gkrellm_sys_sensors_init(void)
gkrellm_sensors_add_sensor(SENSOR_TEMPERATURE, NULL,
mib_name, 0, 0,
interface, 1.0, 0.0, NULL, label);
}
}
/* Coretemp */
for (id = 0;; id++)
{
snprintf(mib_name, sizeof(mib_name),
"dev.cpu.%d.temperature", id);
oid_acpi_temp_len = sizeof(oid_acpi_temp);
if (gk_sysctlnametomib(mib_name, oid_acpi_temp,
&oid_acpi_temp_len) < 0)
break;
interface = INTERFACE_CORETEMP;
if (!gkrellm_sys_sensors_get_temperature(mib_name, 0, 0,
interface, NULL))
continue;
snprintf(label, sizeof(label), "cpu%d", id);
gkrellm_sensors_add_sensor(SENSOR_TEMPERATURE, NULL,
mib_name, 0, 0,
interface, 1.0, 0.0, NULL, label);
}
if (freebsd_sensor_list)
{
@ -1504,13 +1619,7 @@ sensors_add_sensor(gint type, gchar *id_name, gint id, gint iodev, gint inter,
sensor->factor = factor;
sensor->offset = offset;
sensor->default_label = default_label ? g_strdup(default_label) : NULL;
if (g_list_append(freebsd_sensor_list, sensor) == NULL) {
g_free(sensor->id_name);
if (sensor->default_label)
g_free(sensor->default_label);
g_free(sensor);
return FALSE;
}
freebsd_sensor_list = g_list_append(freebsd_sensor_list, sensor);
return TRUE;
}

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -1804,10 +1804,15 @@ read_sysfs_entry (gchar *buf, gint buflen, gchar const *sysentry)
if (*nl == '\n')
*nl = '\0';
fclose (f);
if (_GK.debug_level & DEBUG_BATTERY)
printf ("read_sysfs_entry: %s = %s\n",
sysentry, buf);
return TRUE;
}
fclose (f);
}
if (_GK.debug_level & DEBUG_BATTERY)
printf ("read_sysfs_entry: cannot read %s\n", sysentry);
return FALSE;
}
@ -1873,7 +1878,8 @@ sysfs_power_data (struct syspower *sp)
}
else
{
percent = charge_now * 100 / charge_full;
if (charge_full > 0)
percent = charge_now * 100 / charge_full;
}
/* Get charging status. */

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2007 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -805,15 +805,6 @@ gkrellm_sys_sensors_sf_init(void)
{
ret = TRUE; // Mark SpeedFan as available
// Wait a bit for a running SpeedFan that has not detected all its sensors yet
i = 10;
while (i-- > 0)
{
if ((pData->NumTemps + pData->NumVolts + pData->NumFans) > 0)
break;
g_usleep(G_USEC_PER_SEC);
}
gkrellm_debug(DEBUG_SYSDEP, "Enumerating %hu temps, %hu voltages and %hu fans\n",
pData->NumTemps, pData->NumVolts, pData->NumFans);

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net
@ -216,7 +216,7 @@ gkrellm_homedir(void)
homedir = (gchar *) g_get_home_dir();
if (!homedir)
homedir = "."; // FIXME: This does not look right to me (stefan)
homedir = ".";
return homedir;
}

View File

@ -1,6 +1,6 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| 2007-2008 Stefan Gehn
| Copyright (C) 1999-2009 Bill Wilson
| 2007-2009 Stefan Gehn
|
| Authors: Bill Wilson billw@gkrellm.net
| Stefan Gehn stefan@gkrellm.srcbox.net

View File

@ -1,6 +1,6 @@
/* GKrellM Windows Portion
| Copyright (C) 2002 Bill Nalen
| 2007-2008 Stefan Gehn
| 2007-2009 Stefan Gehn
|
| Authors: Bill Nalen bill@nalens.com
| Stefan Gehn stefan@gkrellm.srcbox.net

View File

@ -36,7 +36,7 @@ BEGIN
VALUE "FileDescription", "GKrellM"
VALUE "FileVersion", RC_VER_STRING
VALUE "InternalName", "gkrellm"
VALUE "LegalCopyright", "Copyright (C) 1999-2008 Bill Wilson"
VALUE "LegalCopyright", "Copyright (C) 1999-2009 Bill Wilson"
VALUE "OriginalFilename", "gkrellm.exe"
VALUE "ProductName", "GKrellM"
VALUE "ProductVersion", RC_VER_STRING

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net

View File

@ -1,6 +1,6 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| 2007-2008 Stefan Gehn
| Copyright (C) 1999-2009 Bill Wilson
| 2007-2009 Stefan Gehn
|
| Authors: Bill Wilson billw@gkrellm.net
| Stefan Gehn stefan@gkrellm.srcbox.net

View File

@ -1,5 +1,5 @@
/* GKrellM
| Copyright (C) 1999-2008 Bill Wilson
| Copyright (C) 1999-2009 Bill Wilson
|
| Author: Bill Wilson billw@gkrellm.net
| Latest versions might be found at: http://gkrellm.net