[tuxdroid-svn] r766 - in software/gadgets: . PC_monitor PC_monitor/trunk PC_monitor/trunk/pc_monito
Status: Beta
Brought to you by:
ks156
Author: Paul_R Date: 2007-12-07 15:54:01 +0100 (Fri, 07 Dec 2007) New Revision: 766 Added: software/gadgets/PC_monitor/ software/gadgets/PC_monitor/branches/ software/gadgets/PC_monitor/tags/ software/gadgets/PC_monitor/trunk/ software/gadgets/PC_monitor/trunk/pc_monitor.tgf software/gadgets/PC_monitor/trunk/pc_monitor/ software/gadgets/PC_monitor/trunk/pc_monitor/Data/ software/gadgets/PC_monitor/trunk/pc_monitor/Data/cpu_behavior.py software/gadgets/PC_monitor/trunk/pc_monitor/Data/ram_behavior.py software/gadgets/PC_monitor/trunk/pc_monitor/Pictures/ software/gadgets/PC_monitor/trunk/pc_monitor/Pictures/Icons/ software/gadgets/PC_monitor/trunk/pc_monitor/Pictures/Icons/gadget.png software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/conf/ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/conf/other.glade software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/conf/other.pyp software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/widget/ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/widget/other.glade software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/widget/other.pyp software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/init.pyp software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/main.pyp software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/notify.pyp software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/tags software/gadgets/PC_monitor/trunk/pc_monitor/Strings/ software/gadgets/PC_monitor/trunk/pc_monitor/Strings/fr_ALL.xml software/gadgets/PC_monitor/trunk/pc_monitor/about.xml software/gadgets/PC_monitor/trunk/pc_monitor/parts.xml software/gadgets/PC_monitor/trunk/pc_monitor/settings.xml software/gadgets/PC_monitor/trunk/pc_monitor/strings.xml Log: * Added the PC_monitor on SVN to correct a bug : The notify actuator was always activated. I've added a test to run the actuator only when an event occurs. Added: software/gadgets/PC_monitor/trunk/pc_monitor/Data/cpu_behavior.py =================================================================== --- software/gadgets/PC_monitor/trunk/pc_monitor/Data/cpu_behavior.py (rev 0) +++ software/gadgets/PC_monitor/trunk/pc_monitor/Data/cpu_behavior.py 2007-12-07 14:54:01 UTC (rev 766) @@ -0,0 +1,18 @@ +#!/usr/bin/python +# -*- coding: latin-1 -*- +import sys +sys.path.append('/opt/tuxdroid/api/python') +from tux import * +# ----------------------------------------------------------------------------- +# Object "tux" is created by tux.py +# Your script begins here +# ----------------------------------------------------------------------------- +tux.cmd.wings_on(8, 5) +tux.cmd.mouth_on_free() +tux.tts.speak("c p u overload") +tux.sys.wait(1.0) +tux.cmd.mouth_on_free() +# ----------------------------------------------------------------------------- +# End of your script +# ----------------------------------------------------------------------------- +tux.destroy() Added: software/gadgets/PC_monitor/trunk/pc_monitor/Data/ram_behavior.py =================================================================== --- software/gadgets/PC_monitor/trunk/pc_monitor/Data/ram_behavior.py (rev 0) +++ software/gadgets/PC_monitor/trunk/pc_monitor/Data/ram_behavior.py 2007-12-07 14:54:01 UTC (rev 766) @@ -0,0 +1,18 @@ +#!/usr/bin/python +# -*- coding: latin-1 -*- +import sys +sys.path.append('/opt/tuxdroid/api/python') +from tux import * +# ----------------------------------------------------------------------------- +# Object "tux" is created by tux.py +# Your script begins here +# ----------------------------------------------------------------------------- +tux.cmd.wings_on(8, 5) +tux.cmd.mouth_on_free() +tux.tts.speak("Memory is up") +tux.sys.wait(1.0) +tux.cmd.mouth_on_free() +# ----------------------------------------------------------------------------- +# End of your script +# ----------------------------------------------------------------------------- +tux.destroy() Added: software/gadgets/PC_monitor/trunk/pc_monitor/Pictures/Icons/gadget.png =================================================================== (Binary files differ) Property changes on: software/gadgets/PC_monitor/trunk/pc_monitor/Pictures/Icons/gadget.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/conf/other.glade =================================================================== --- software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/conf/other.glade (rev 0) +++ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/conf/other.glade 2007-12-07 14:54:01 UTC (rev 766) @@ -0,0 +1,915 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkWindow" id="window1"> + <property name="height_request">538</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Parameters</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + + <child> + <widget class="GtkVBox" id="vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkFrame" id="frame4"> + <property name="border_width">5</property> + <property name="height_request">64</property> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property> + + <child> + <widget class="GtkAlignment" id="alignment7"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkFixed" id="fixed5"> + <property name="visible">True</property> + + <child> + <widget class="GtkButton" id="button_remote"> + <property name="width_request">62</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Set</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_button_remote_clicked" last_modification_time="Sat, 22 Sep 2007 00:55:36 GMT"/> + </widget> + <packing> + <property name="x">256</property> + <property name="y">0</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_remote"> + <property name="width_request">336</property> + <property name="height_request">16</property> + <property name="visible">True</property> + <property name="label" translatable="yes">Current : None</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">0</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label11"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Remote</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkFrame" id="frame5"> + <property name="border_width">5</property> + <property name="height_request">87</property> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property> + + <child> + <widget class="GtkAlignment" id="alignment8"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkFixed" id="fixed6"> + <property name="visible">True</property> + + <child> + <widget class="GtkSpinButton" id="spin_update"> + <property name="width_request">48</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 1 60 1 10 10</property> + </widget> + <packing> + <property name="x">184</property> + <property name="y">0</property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="spin_notification"> + <property name="width_request">48</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 1 60 1 10 10</property> + </widget> + <packing> + <property name="x">184</property> + <property name="y">32</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label_notification"> + <property name="width_request">328</property> + <property name="height_request">16</property> + <property name="visible">True</property> + <property name="label" translatable="yes">Notification after (sec) :</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">40</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="update_interval_label"> + <property name="width_request">336</property> + <property name="height_request">16</property> + <property name="visible">True</property> + <property name="label" translatable="yes">Update interval (sec) :</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">8</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label12"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Monitoring</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkFrame" id="frame6"> + <property name="border_width">5</property> + <property name="height_request">170</property> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property> + + <child> + <widget class="GtkAlignment" id="alignment9"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkFixed" id="fixed7"> + <property name="visible">True</property> + + <child> + <widget class="GtkSpinButton" id="cpu_spin_threshold"> + <property name="width_request">64</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 1 100 1 10 10</property> + </widget> + <packing> + <property name="x">144</property> + <property name="y">4</property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="cpu_tts_message"> + <property name="width_request">176</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes">coucou</property> + <property name="has_frame">True</property> + <property name="invisible_char">●</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="x">144</property> + <property name="y">40</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label19"> + <property name="width_request">46</property> + <property name="height_request">17</property> + <property name="visible">True</property> + <property name="label" translatable="yes">%</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="x">216</property> + <property name="y">8</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="cpu_behavior_rb"> + <property name="width_request">192</property> + <property name="height_request">32</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Behavior</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">True</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">72</property> + </packing> + </child> + + <child> + <widget class="GtkFileChooserButton" id="cpu_behavior_chooser"> + <property name="width_request">184</property> + <property name="height_request">32</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Sélectionner un fichier</property> + <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property> + <property name="local_only">True</property> + <property name="show_hidden">False</property> + <property name="do_overwrite_confirmation">False</property> + <property name="width_chars">-1</property> + <signal name="selection_changed" handler="on_cpu_behavior_chooser_selection_changed" last_modification_time="Tue, 09 Oct 2007 09:07:39 GMT"/> + </widget> + <packing> + <property name="x">144</property> + <property name="y">68</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="cpu_test_notification"> + <property name="width_request">112</property> + <property name="height_request">32</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Test notification</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_cpu_test_notification_clicked" last_modification_time="Mon, 05 Nov 2007 03:25:12 GMT"/> + </widget> + <packing> + <property name="x">112</property> + <property name="y">111</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="cpu_tts_rb"> + <property name="width_request">160</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">TTS Notification</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">True</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">cpu_behavior_rb</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">40</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="cpu_threshold_label"> + <property name="width_request">336</property> + <property name="height_request">16</property> + <property name="visible">True</property> + <property name="label" translatable="yes">Set threshold :</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">8</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label15"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>CPU</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkFrame" id="frame7"> + <property name="border_width">5</property> + <property name="height_request">170</property> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property> + + <child> + <widget class="GtkAlignment" id="alignment10"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkFixed" id="fixed8"> + <property name="visible">True</property> + + <child> + <widget class="GtkSpinButton" id="ram_spin_threshold"> + <property name="width_request">64</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 1 100 1 10 10</property> + </widget> + <packing> + <property name="x">144</property> + <property name="y">4</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label21"> + <property name="width_request">46</property> + <property name="height_request">17</property> + <property name="visible">True</property> + <property name="label" translatable="yes">%</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="x">216</property> + <property name="y">8</property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="ram_tts_message"> + <property name="width_request">176</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes">Memory is up!</property> + <property name="has_frame">True</property> + <property name="invisible_char">●</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="x">144</property> + <property name="y">38</property> + </packing> + </child> + + <child> + <widget class="GtkFileChooserButton" id="ram_behavior_chooser"> + <property name="width_request">176</property> + <property name="height_request">32</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Sélectionner un fichier</property> + <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property> + <property name="local_only">True</property> + <property name="show_hidden">False</property> + <property name="do_overwrite_confirmation">False</property> + <property name="width_chars">-1</property> + <signal name="selection_changed" handler="on_ram_behavior_chooser_selection_changed" last_modification_time="Tue, 09 Oct 2007 09:08:34 GMT"/> + </widget> + <packing> + <property name="x">144</property> + <property name="y">68</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="ram_threshold_label"> + <property name="width_request">336</property> + <property name="height_request">16</property> + <property name="visible">True</property> + <property name="label" translatable="yes">Set threshold :</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">8</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="ram_test_notification"> + <property name="width_request">112</property> + <property name="height_request">32</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Test notification</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_ram_test_notification_clicked" last_modification_time="Mon, 05 Nov 2007 03:27:31 GMT"/> + </widget> + <packing> + <property name="x">112</property> + <property name="y">111</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="ram_tts_rb"> + <property name="width_request">168</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">TTS Notification</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">40</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="ram_behavior_rb"> + <property name="width_request">184</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Behavior</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">ram_tts_rb</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">72</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label17"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Physical RAM</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkFixed" id="fixed3"> + <property name="visible">True</property> + + <child> + <widget class="GtkButton" id="button2"> + <property name="width_request">96</property> + <property name="height_request">32</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_accept_clicked" last_modification_time="Wed, 11 Jul 2007 19:53:32 GMT"/> + + <child> + <widget class="GtkAlignment" id="alignment4"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkHBox" id="hbox2"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child> + <widget class="GtkImage" id="image2"> + <property name="visible">True</property> + <property name="stock">gtk-apply</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label5"> + <property name="visible">True</property> + <property name="label" translatable="yes">Accept</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + </widget> + <packing> + <property name="x">256</property> + <property name="y">0</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="button3"> + <property name="width_request">96</property> + <property name="height_request">32</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_cancel_clicked" last_modification_time="Thu, 09 Aug 2007 13:50:03 GMT"/> + + <child> + <widget class="GtkAlignment" id="alignment5"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkHBox" id="hbox3"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child> + <widget class="GtkImage" id="image3"> + <property name="visible">True</property> + <property name="stock">gtk-cancel</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label6"> + <property name="visible">True</property> + <property name="label" translatable="yes">Cancel</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + </widget> + <packing> + <property name="x">152</property> + <property name="y">0</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> Added: software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/conf/other.pyp =================================================================== --- software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/conf/other.pyp (rev 0) +++ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/conf/other.pyp 2007-12-07 14:54:01 UTC (rev 766) @@ -0,0 +1,243 @@ +bindtextdomain("params", "") + +class Window(SimpleGladeApp): + + def __init__(self, + path=_me.get_path('root') + '/Scripts/Python/GUI/conf/other.glade', + root="window1", + domain="params", **kwargs): + """ + Constructor + """ + SimpleGladeApp.__init__(self, path, root, domain, **kwargs) + + def new(self): + """ + On new window + """ + self.updates_commons() + self.updates_specifics() + + + def on_cpu_behavior_chooser_selection_changed(self, widget, *args): + if not _me.get_param('first_cpu'): + filename = widget.get_filename() + if filename != "": + filename = str(filename).replace('%20', ' ') + _me.set_param('cpu_behavior_file', filename) + else: + _me.set_param('first_cpu', False) + + + def on_ram_behavior_chooser_selection_changed(self, widget, *args): + if not _me.get_param('first_ram'): + filename = widget.get_filename() + if filename != "": + filename = str(filename).replace('%20', ' ') + _me.set_param('ram_behavior_file', filename) + else: + _me.set_param('first_ram', False) + + + + def updates_commons(self): + """ + Updates common widgets + """ + # Window title + txt = "%s : %s" % (_me.string('name_to_read'), + _me.string('gui_conf_window_title')) + self.get_widget("window1").set_title(txt) + + # Remote Frame + txt = _me.string('gui_conf_remote_title') + self.get_widget("label11").set_text(txt) + + txt = "%s : None" % _me.string('gui_conf_current_bind_lb') + self.get_widget("label_remote").set_text(txt) + + txt = _me.string('gui_conf_remote_set_bt') + self.get_widget("button_remote").set_label(txt) + + # Monitoring Frame + txt = _me.string('gui_conf_update_title') + self.get_widget("label12").set_text(txt) + + txt = "%s" % _me.string('gui_conf_delay_lb') + self.get_widget("update_interval_label").set_text(txt) + + value = _me.get_var('notify_delay') + self.get_widget("spin_update").set_value(value) + + txt = _me.string('gui_conf_notification_label') + self.get_widget('label_notification').set_text(txt) + + value = _me.get_param('spin_notif') + self.get_widget('spin_notification').set_value(value) + + # Bottom buttons + txt = _me.string('gui_conf_cancel_bt') + self.get_widget("label6").set_text(txt) + + txt = _me.string('gui_conf_accept_bt') + self.get_widget("label5").set_text(txt) + + def updates_specifics(self): + """ + Updates specific widgets + """ + #CPU Frame + self.get_widget('label15').set_text('CPU') + + txt = _me.string('gui_conf_threshold_label') + self.get_widget('cpu_threshold_label').set_text(txt) + + value = _me.get_param('spin_cpu_seuil') + self.get_widget('cpu_spin_threshold').set_value(value) + + txt = _me.string('gui_conf_rb_tts') + self.get_widget('cpu_tts_rb').set_label(txt) + + if _me.get_param('tts_active'): + self.get_widget('cpu_tts_rb').set_active(True) + else: + self.get_widget('cpu_behavior_rb').set_active(True) + + txt = _me.get_param('cpu_tts_message') + self.get_widget('cpu_tts_message').set_text(txt) + + txt = _me.string('gui_conf_rb_behavior') + self.get_widget('cpu_behavior_rb').set_label(txt) + + txt = _me.get_param('cpu_behavior_file') + if os.path.isfile(txt): + self.get_widget('cpu_behavior_chooser').set_filename(txt) + else: + txt = _me.get_path('data') + '/cpu_behavior.py' + self.get_widget('cpu_behavior_chooser').set_filename(txt) + + #Ram Frame + + txt = _me.string('gui_conf_ram_frame_label') + self.get_widget('label17').set_text(txt) + + txt = _me.string('gui_conf_rb_tts') + self.get_widget('ram_tts_rb').set_label(txt) + + if _me.get_param('tts_ram_active'): + self.get_widget('ram_tts_rb').set_active(True) + else: + self.get_widget('ram_behavior_rb').set_active(True) + + txt = _me.get_param('ram_tts_message') + self.get_widget('ram_tts_message').set_text(txt) + + txt = _me.string('gui_conf_rb_behavior') + self.get_widget('ram_behavior_rb').set_label(txt) + + txt = _me.string('gui_conf_threshold_label') + self.get_widget('ram_threshold_label').set_text(txt) + + value = _me.get_param('spin_ram_seuil') + self.get_widget('ram_spin_threshold').set_value(value) + + txt = _me.get_param('ram_behavior_file') + if os.path.isfile(txt): + self.get_widget('ram_behavior_chooser').set_filename(txt) + else: + txt = _me.get_path('data') + '/ram_behavior.py' + self.get_widget('ram_behavior_chooser').set_filename(txt) + + + + def on_button_remote_clicked(self, widget, *args): + """ + On button 'set' remote clicked + """ + def remote_set_caption(): + tux.sys.wait(0.1) + gadgets['Manager'].gui('remote').window.set_captions(gadgets[_me.get_name()]) + if gadgets.has_key('Manager'): + if not gadgets['Manager'].gui('remote').showed(): + gadgets['Manager'].gui('remote').show() + thread.start_new_thread(remote_set_caption, ()) + + + def on_accept_clicked(self, widget, *args): + """ + On button 'accept' clicked + """ + #sav tts messages. + txt = self.get_widget('cpu_tts_message').get_text() + _me.set_param('cpu_tts_message', txt) + + txt = self.get_widget('ram_tts_message').get_text() + _me.set_param('ram_tts_message', txt) + + #sav spins val + + value = self.get_widget('spin_notification').get_value() + _me.set_param('spin_notif', int(value)) + value2 = self.get_widget('spin_update').get_value() + if value < value2: + _me.set_var('notify_delay', int(value)) + else: + _me.set_var('notify_delay', int(value2)) + + + value = self.get_widget('cpu_spin_threshold').get_value() + _me.set_param('spin_cpu_seuil', int(value)) + + value = self.get_widget('ram_spin_threshold').get_value() + _me.set_param('spin_ram_seuil', int(value)) + + if self.get_widget('cpu_tts_rb').get_active(): + _me.set_param('tts_active', True) + else: + _me.set_param('tts_active', False) + + if self.get_widget('ram_tts_rb').get_active(): + _me.set_param('tts_ram_active', True) + else: + _me.set_param('tts_ram_active', False) + + self.on_cpu_behavior_chooser_selection_changed(self.get_widget('cpu_behavior_chooser')) + self.on_ram_behavior_chooser_selection_changed(self.get_widget('ram_behavior_chooser')) + + self.get_widget("window1").destroy() + + + def on_cancel_clicked(self, widget, *args): + """ + On button 'cancel' clicked + """ + self.get_widget("window1").destroy() + + + def on_cpu_test_notification_clicked(self, widget, *args): + """ + Event attached to the cpu test notification button. + """ + if self.get_widget('cpu_tts_rb').get_active(): + txt = self.get_widget('cpu_tts_message').get_text() + tux.tts.speak_free(txt) + else: + path = _me.get_param('cpu_behavior_file') + if os.path.isfile(path): + tux.sys.shell("chmod +x '%s'" % path) + tux.sys.shell_free("'%s'" % path) + + + def on_ram_test_notification_clicked(self, widget, *args): + """ + Event attached to the ram test notification button. + """ + if self.get_widget('ram_tts_rb').get_active(): + txt = self.get_widget('ram_tts_message').get_text() + tux.tts.speak_free(txt) + else: + path = _me.get_param('ram_behavior_file') + if os.path.isfile(path): + tux.sys.shell("chmod +x '%s'" % path) + tux.sys.shell_free("'%s'" % path) + Added: software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/widget/other.glade =================================================================== --- software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/widget/other.glade (rev 0) +++ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/widget/other.glade 2007-12-07 14:54:01 UTC (rev 766) @@ -0,0 +1,101 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkWindow" id="window1"> + <property name="visible">True</property> + <property name="title" translatable="yes">Widget</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">False</property> + <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + + <child> + <widget class="GtkFrame" id="frame1"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + + <child> + <widget class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkFixed" id="fixed1"> + <property name="visible">True</property> + + <child> + <widget class="GtkLabel" id="label2"> + <property name="width_request">192</property> + <property name="height_request">16</property> + <property name="visible">True</property> + <property name="label" translatable="yes">...</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">8</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b></b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> Added: software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/widget/other.pyp =================================================================== --- software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/widget/other.pyp (rev 0) +++ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/GUI/widget/other.pyp 2007-12-07 14:54:01 UTC (rev 766) @@ -0,0 +1,16 @@ +bindtextdomain("params", "") + +class Window(SimpleGladeApp): + + def __init__(self, + path=_me.get_path('root') + '/Scripts/Python/GUI/widget/other.glade', + root="window1", + domain="params", **kwargs): + SimpleGladeApp.__init__(self, path, root, domain, **kwargs) + + def new(self): + self.get_widget("window1").set_title(_me.string('name_to_read')) + thread.start_new_thread(self.update, ()) + + def update(self): + _me.update_informations() Added: software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/init.pyp =================================================================== --- software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/init.pyp (rev 0) +++ software/gadgets/PC_monitor/trunk/pc_monitor/Scripts/Python/init.pyp 2007-12-07 14:54:01 UTC (rev 766) @@ -0,0 +1,145 @@ +import sys +import commands +import subprocess +import threading + +def check_changes(): + """ + #Check all changes and add to buffer. + """ + values = _me.update_informations() + liste = _me.get_param('values') + liste.append(values) + _me.set_param('values', liste) + x = _me.get_var('notify_delay') + y = _me.get_param('spin_notif') + v = int(y / x) + if v == 0: + v = 1 + verite_cpu = [] + verite_ram = [] + notify = [False, False] + if len(_me.get_param('values')) == v: + for i in _me.get_param('values'): + if i[0] > _me.get_param('spin_cpu_seuil'): + verite_cpu.append(True) + else: + verite_cpu.append(False) + + if i[1] > _me.get_param('spin_ram_seuil'): + verite_ram.append(True) + else: + verite_ram.append(False) + _me.get_funct('delete_buffer')() + + for i in verite_cpu: + if i != False: + notify[0] = True + + for i in verite_ram: + if i != False: + notify[1] = True + + _me.set_param('cpu_tag', notify[0]) + _me.set_param('ram_tag', notify[1]) + + return notify[0] or notify[1] + + else: + return False + + +def get_mem_charge(): + """ + Function to get the memory load. + """ + def get_freemem(): + """ + Get free memory + """ + cached = commands.getoutput("""cat /proc/meminfo | grep Cached | awk 'BEGIN {FS=":"} {print $2}' | awk '{print $1, $9}'""") + buffers = commands.getoutput("""cat /proc/meminfo | grep Buffers | awk 'BEGIN {FS=":"} {print $2}' | awk '{print $1, $9}'""") + free = commands.getoutput("""cat /proc/meminfo | grep MemFree | awk 'BEGIN {FS=":"} {print $2}' | awk '{print $1, $9}'""") + return str(int(cached.split()[0])/1024 + int(buffers)/1024 + int(free)/1024) + + def get_usedmem(): + """ + Get used memory + """ + total = commands.getoutput("""cat /proc/meminfo | grep MemTotal | awk 'BEGIN {FS=":"} {print $2}' | awk '{print $1, $9}'""") + cached = commands.getoutput("""cat /proc/meminfo | grep Cached | awk 'BEGIN {FS=":"} {print $2}' | awk '{print $1, $9}'""") + buffers = commands.getoutput("""cat /proc/meminfo | grep Buffers | awk 'BEGIN {FS=":"} {print $2}' | awk '{print $1, $9}'""") + free = commands.getoutput("""cat /proc/meminfo | grep MemFree | awk 'BEGIN {FS=":"} {print $2}' | awk '{print $1, $9}'""") + return str(int(total)/1024 - int(cached.split()[0])/1024 - int(buffers)/1024 - int(free)/1024) + + + free = get_freemem() + used = get_usedmem() + + return str(float((float(used) / (float(used) + float(free))) * 100.0)) + + +def get_cpu_charge(): + """ + Function to get the cpu load. + """ + data = commands.getoutput("cat /proc/stat") + u1 = float( data.split()[1] ) + n1 = float( data.split()[2] ) + s1 = float( data.split()[3] ) + i1 = float( data.split()[4] ) + time.sleep(1) + datas = commands.getoutput("cat /proc/stat") + u2 = float( datas.split()[1] ) + n2 = float( datas.split()[2] ) + s2 = float( datas.split()[3] ) + i2 = float( datas.split()[4] ) + usage = (u2-u1) + (n2 - n1) + (s2 - s1) + total = (u2-u1) + (n2 - n1) + (s2 - s1) + (i2 -i1) + lo = (usage/total)* 100 + + return str(lo) + +def tell(): + """ + Tux notify the cpu and ram load is treshold is passed. + """ + if _me.get_param('cpu_tag'): + v = _me.get_param('cpu_load') + x = int(round(float(v))) + y = _me.get_param('spin_cpu_seuil') + + if x >= y: + if _me.get_param('tts_active'): + tux.tts.speak_free(_me.get_param('cpu_tts_message')) + else: + tux.sys.shell("chmod +x '%s'" % ... [truncated message content] |