Date: Sat, 9 Aug 2008 13:28:53 +0200 (CEST) From: Ulrich Spoerlein <uspoerlein@gmail.com> To: FreeBSD-gnats-submit@FreeBSD.org Cc: xride@FreeBSD.org Subject: ports/126391: [PATCH] sysutils/wmbsdbatt: Print current CPU frequency Message-ID: <200808091128.m79BSrgQ003293@roadrunner.spoerlein.net> Resent-Message-ID: <200808091130.m79BU0o1013727@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 126391 >Category: ports >Synopsis: [PATCH] sysutils/wmbsdbatt: Print current CPU frequency >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat Aug 09 11:30:00 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Ulrich Spoerlein >Release: FreeBSD 7.0-STABLE i386 >Organization: >Environment: >Description: I sent these patches to the author a couple of years ago, but they never made it into a new release. Please apply those patches to the FreeBSD port, as they fix some minor nits and will print the current CPU frequency next to the temperature. Something at least I find very useful to have. - Print current CPU frequency next to temperature - Add -b parameter to start with backlight turned on (like other WM dockapps) - Don't call draw_all twice - Fix missing dots in pixmap Added file(s): - files/patch-wmbsdbatt.c - files/patch-zz-frequency Port maintainer (xride@FreeBSD.org) is cc'd. Generated with FreeBSD Port Tools 0.77 >How-To-Repeat: >Fix: --- wmbsdbatt-0.1_3.patch begins here --- Index: Makefile =================================================================== RCS file: /home/ncvs/ports/sysutils/wmbsdbatt/Makefile,v retrieving revision 1.9 diff -u -p -u -r1.9 Makefile --- Makefile 27 Jun 2008 17:43:55 -0000 1.9 +++ Makefile 9 Aug 2008 11:24:09 -0000 @@ -6,7 +6,7 @@ PORTNAME= wmbsdbatt PORTVERSION= 0.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= sysutils windowmaker MASTER_SITES= http://homepage.univie.ac.at/l.ertl/wmbsdbatt/files/ Index: files/patch-wmbsdbatt.c =================================================================== RCS file: files/patch-wmbsdbatt.c diff -N files/patch-wmbsdbatt.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-wmbsdbatt.c 9 Aug 2008 11:24:09 -0000 @@ -0,0 +1,58 @@ +--- wmbsdbatt.c.orig Sat Jul 2 15:23:41 2005 ++++ wmbsdbatt.c Sat Jul 2 15:35:19 2005 +@@ -33,6 +33,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#include <unistd.h> + + #include <sys/types.h> + #include <sys/stat.h> +@@ -112,14 +113,26 @@ + void draw_all(void); + int init_stats(void); + int acpi_exists(void); ++void usage(void); + #if 0 + void draw_rate(void); + #endif + ++void ++usage(void) ++{ ++ fprintf(stderr, "%s\n%s\n%s\n", ++ "usage: wmbsdbatt [-h | -b]", ++ " -h help", ++ " -b start with backlight on"); ++ ++ exit(0); ++} ++ + int + main(int argc, char **argv) + { +- int charging, ncolor, show; ++ int charging, ncolor, show, ch; + long timeout; + long animation_timeout, update_timeout; + struct sigaction sa; +@@ -132,6 +145,19 @@ + + sa.sa_handler = SIG_IGN; + sa.sa_flags = SA_NOCLDWAIT; ++ while ((ch = getopt(argc, argv, "bh")) != -1) { ++ switch (ch) { ++ case 'b': ++ backlight = LIGHTON; ++ break; ++ case 'h': ++ usage(); ++ break; ++ default: ++ usage(); ++ break; ++ } ++ } + + sigemptyset(&sa.sa_mask); + sigaction(SIGCHLD, &sa, NULL); Index: files/patch-zz-frequency =================================================================== RCS file: files/patch-zz-frequency diff -N files/patch-zz-frequency --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-zz-frequency 9 Aug 2008 11:24:09 -0000 @@ -0,0 +1,179 @@ +--- backlight_off.xpm Tue Dec 23 19:27:34 2003 ++++ backlight_off.xpm Wed Jan 11 17:40:26 2006 +@@ -56,15 +56,15 @@ + "+@#%&&&%%%&&&&&&&%%%%%%%%&&&%%%%%%%%&&%&&&&%%&&%%&%%%&%&+$", + "+@#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%&+$", + "+@#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+$", +-"+@#%&&%%%&&&%%%&&&%%%&&&%%%&&&%%%&&&&%&%&&&%&%&&&%%%&&&&+$", +-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$", +-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$", +-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$", +-"+@#%&&%%%&&&%%%&&&%%%&&&%%%&&&%%%&&&&%&%&&&%&%&&&%%%&&&&+$", +-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$", +-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$", +-"+@#%&%&&&%&%&&&%&%&&&%&%&&&%&%&&&%&&%&%&%&%&%&%&%&&&%&&&+$", +-"+@#%&&%%%&&&%%%&&&%%%&&&%%%&&&%%%&&&&%&%&&&%&%&&&%%%&&&&+$", ++"+@#%&%%%&&&%%%&&&%%%&&&%%%&&&&&&&%%%&&&%%%&&&%%%&&&%%%&&+$", ++"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$", ++"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$", ++"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$", ++"+@#%&%%%&&&%%%&&&%%%&&&%%%&&&&&&&%%%&&&%%%&&&%%%&&&%%%&&+$", ++"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$", ++"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$", ++"+@#%%&&&%&%&&&%&%&&&%&%&&&%&&&&&%&&&%&%&&&%&%&&&%&%&&&%&+$", ++"+@#%&%%%&&&%%%&&&%%%&&&%%%&&&&&&&%%%&&&%%%&&&%%%&&&%%%&&+$", + "+@#%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&++$", + ".+++++++++++++++++++++++++++++++++++++++++++++++++++++++$.", + "..$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.."}; +--- backlight_on.xpm Tue Dec 16 00:59:51 2003 ++++ backlight_on.xpm Wed Jan 11 17:49:48 2006 +@@ -39,7 +39,7 @@ + ".++++...............................++$$$+$$$+$$$+.+++.++@", + ".++++.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.+$$$+$$$+$$$++$+.+$+@", + ".++++.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.+$$$+$$$+$$$+++.+$++@", +-".++++$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.+$$$+$$$+$$$++.+$+++@", ++".++++.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.+$$$+$$$+$$$++.+$+++@", + ".++++...............................++$$$+$$$+$$$+.+$+.++@", + ".++++++++++++++++++++++++++++++++++++++++++++++++++$+++$+@", + ".++++...............................++$$$+$$$+$$$+.+++.++@", +@@ -56,15 +56,15 @@ + ".++++++$$$+++++++$$$$$$$$+++$$$$$$$$++$++++$$++$$+$$$+$++@", + ".+++++++++++++++++++++++++++++++++++++$$$$$$$$$$$$$$$$$++@", + ".++++++++++++++++++++++++++++++++++++++++++++++++++++++++@", +-".+++++$$$+++$$$+++$$$+++$$$+++$$$++++$+$+++$+$+++$$$+++++@", +-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@", +-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@", +-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@", +-".+++++$$$+++$$$+++$$$+++$$$+++$$$++++$+$+++$+$+++$$$+++++@", +-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@", +-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@", +-".++++$+++$+$+++$+$+++$+$+++$+$+++$++$+$+$+$+$+$+$+++$++++@", +-".+++++$$$+++$$$+++$$$+++$$$+++$$$++++$+$+++$+$+++$$$+++++@", ++".++++$$$+++$$$+++$$$+++$$$+++++++$$$+++$$$+++$$$+++$$$+++@", ++".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@", ++".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@", ++".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@", ++".++++$$$+++$$$+++$$$+++$$$+++++++$$$+++$$$+++$$$+++$$$+++@", ++".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@", ++".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@", ++".+++$+++$+$+++$+$+++$+$+++$+++++$+++$+$+++$+$+++$+$+++$++@", ++".++++$$$+++$$$+++$$$+++$$$+++++++$$$+++$$$+++$$$+++$$$+++@", + ".++++++++++++++++++++++++++++++++++++++++++++++++++++++++@", + " .++++++++++++++++++++++++++++++++++++++++++++++++++++++@ ", + " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ "}; +--- parts.xpm Tue Dec 16 00:59:51 2003 ++++ parts.xpm Wed Jan 11 17:45:26 2006 +@@ -61,13 +61,13 @@ + "+...+@...++...@@...+@...+@...++...+@...++...+@...++###+$###++###$$###+$###+$###++###+$###++###+$###++###", + ".+++..@@@..+++..+++..@@@..+++..+++..@@@..+++..+++.#+++##$$$##+++##+++##$$$##+++##+++##$$$##+++##+++##+++", + ".@@@..@@@..+++..+++..@@@.&+++..+++..+++..+++..+++.#$$$##$$$##+++##+++##$$$##+++##+++##+++##+++##+++##+++", +-"@.@.@+.+.++.@.++.@.@+...++...@+...@@...++...++...+$#$#$+#+#++#$#++#$#$+###++###$+###$$###++###++###++###", +-"@.@.@+.+.++.@.++.@.@+...++...@+...@@...++...++...+$#$#$+#+#++#$#++#$#$+###++###$+###$$###++###++###++###", +-"@.@.@+.+.++.@.++.@.@+...++...@+...@@...++...++...+$#$#$+#+#++#$#++#$#$+###++###$+###$$###++###++###++###", +-".+.+..@.@..+.+..@.@..+++&&+++..+++..@@@..+++..+++.#+#+##$#$##+#+##$#$##+++&&+++##+++##$$$&#+++##+++&&$$$", +-"+.+.++.+.+@.@.@+.@.@@...+@...++...+@...++...+@...++#+#++#+#+$#$#$+#$#$$###+$###++###+$###++###+$###++###", +-"+.+.++.+.+@.@.@+.@.@@...+@...++...+@...++...+@...++#+#++#+#+$#$#$+#$#$$###+$###++###+$###++###+$###++###", +-"+.+.++.+.+@.@.@+.@.@@...+@...++...+@...++...+@...++#+#++#+#+$#$#$+#$#$$###+$###++###+$###++###+$###++###", ++"@.@.@+.+.++...++...@+...++...@+...@@...++...++...+$#$#$+#+#++###++###$+###++###$+###$$###++###++###++###", ++"@.@.@+.+.++...++...@+...++...@+...@@...++...++...+$#$#$+#+#++###++###$+###++###$+###$$###++###++###++###", ++"@.@.@+.+.++...++...@+...++...@+...@@...++...++...+$#$#$+#+#++###++###$+###++###$+###$$###++###++###++###", ++".+.+..@.@..+++..@.@..+++&&+++..+++..@@@..+++..+++.#+#+##$#$##+++##$#$##+++&&+++##+++##$$$&#+++##+++&&$$$", ++"+.+.++.+.+@...@+...@@...+@...++...+@...++...+@...++#+#++#+#+$###$+###$$###+$###++###+$###++###+$###++###", ++"+.+.++.+.+@...@+...@@...+@...++...+@...++...+@...++#+#++#+#+$###$+###$$###+$###++###+$###++###+$###++###", ++"+.+.++.+.+@...@+...@@...+@...++...+@...++...+@...++#+#++#+#+$###$+###$$###+$###++###+$###++###+$###++###", + ".@@@..+++..@@@..+++..@@@&&+++..+++..@@@&.+++..+++##$$$##+++##$$$##+++##$$$&&+++##+++##$$$&#+++##+++##+++", + "+++++++++++++++++++++++++++++++....+++....+++++++++++++++++..##+++####+++++++++++++++++#################", + "++++++++++++++++++++++++++++++++.+++..+..++.+++++..++.+++.+..+++##+##++#+++++##++#+++#+#################", +--- wmbsdbatt.c Tue Dec 23 19:27:34 2003 ++++ wmbsdbatt.c Wed Jan 11 18:00:47 2006 +@@ -67,6 +67,7 @@ + int battery_time; + int temperature; + int low; ++ int freq; + #if 0 + int capacity; + int rate; +@@ -79,6 +80,7 @@ + static char *sysctl_battery_time = "hw.acpi.battery.time"; + static char *sysctl_temperature = "hw.acpi.thermal.tz0.temperature"; + static char *sysctl_acline = "hw.acpi.acline"; ++static char *sysctl_frequency = "dev.cpu.0.freq"; + + typedef enum { LIGHTOFF, LIGHTON } light; + +@@ -106,6 +108,7 @@ + void draw_batt(void); + void draw_low(void); + void draw_temp(void); ++void draw_freq(void); + void draw_statusdigit(void); + void draw_pcgraph(void); + void blink_batt(void); +@@ -238,7 +241,6 @@ + } + if (show) { + /* show */ +- draw_all(); + if (charging) { + blink_pos--; + } +@@ -284,6 +286,10 @@ + addr -= 273; + acpi_info.temperature = addr; + ++ if (sysctlbyname(sysctl_frequency, &addr, &len, NULL, 0) == -1) ++ err(1, "sysctlbyname(\"%s\")", sysctl_frequency); ++ acpi_info.freq = addr; ++ + if (sysctlbyname(sysctl_acline, &addr, &len, NULL, 0) == -1) + err(1, "sysctlbyname(\"%s\")", sysctl_acline); + acpi_info.acline = addr; +@@ -372,6 +378,7 @@ + draw_temp(); + #endif + draw_temp(); ++ draw_freq(); + + if (acpi_info.battery_status == CHARGING) + blink_batt(); +@@ -471,13 +478,35 @@ + temp = 0; + + dockapp_copyarea(parts, pixmap, (temp / 10) * 5 + light_offset, 40, 5, +- 9, 23, 46); ++ 9, 32, 46); + dockapp_copyarea(parts, pixmap, (temp % 10) * 5 + light_offset, 40, 5, +- 9, 29, 46); ++ 9, 38, 46); + + /* '°C'. */ +- dockapp_copyarea(parts, pixmap, 10 + light_offset, 49, 5, 9, 36, 46); +- dockapp_copyarea(parts, pixmap, 15 + light_offset, 49, 5, 9, 42, 46); ++ dockapp_copyarea(parts, pixmap, 10 + light_offset, 49, 5, 9, 44, 46); ++ dockapp_copyarea(parts, pixmap, 15 + light_offset, 49, 5, 9, 50, 46); ++ ++} ++ ++void ++draw_freq(void) ++{ ++ int light_offset=0; ++ int freq = acpi_info.freq; ++ ++ if (backlight == LIGHTON) ++ light_offset = 50; ++ ++ if (freq < 0) ++ freq = 0; ++ else if (freq > 9999) ++ freq = 9999; ++ if (freq >= 1000) ++ dockapp_copyarea(parts, pixmap, ((freq / 1000) % 10) * 5 + light_offset, 40, 5, 9, 4, 46); ++ if (freq >= 100) ++ dockapp_copyarea(parts, pixmap, ((freq / 100) % 10) * 5 + light_offset, 40, 5, 9, 10, 46); ++ dockapp_copyarea(parts, pixmap, ((freq / 10) % 10) * 5 + light_offset, 40, 5, 9, 16, 46); ++ dockapp_copyarea(parts, pixmap, (freq % 10) * 5 + light_offset, 40, 5, 9, 22, 46); + + } + --- wmbsdbatt-0.1_3.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808091128.m79BSrgQ003293>