[Xfce4-commits] <xfce4-taskmanager:master> Display a warning banner when running as root

Mike Massonnet noreply at xfce.org
Sun May 23 20:58:05 CEST 2010


Updating branch refs/heads/master
         to d806b12544e29ee05dffe23e4a1f34d16377734c (commit)
       from 9a26498a8b6f865e2417402d15c099b38a4d2fc2 (commit)

commit d806b12544e29ee05dffe23e4a1f34d16377734c
Author: Mike Massonnet <mmassonnet at xfce.org>
Date:   Sun May 23 13:59:43 2010 +0200

    Display a warning banner when running as root

 src/process-window.c  |    9 +++++++++
 src/process-window.ui |   39 ++++++++++++++++++++++++++++++++++++++-
 2 files changed, 47 insertions(+), 1 deletions(-)

diff --git a/src/process-window.c b/src/process-window.c
index ee86740..4cbe9af 100644
--- a/src/process-window.c
+++ b/src/process-window.c
@@ -96,6 +96,15 @@ xtm_process_window_init (XtmProcessWindow *window)
 	window->priv->cpu_monitor = GTK_WIDGET (gtk_builder_get_object (window->priv->builder, "cpu-monitor"));
 	window->priv->memory_monitor = GTK_WIDGET (gtk_builder_get_object (window->priv->builder, "mem-monitor"));
 
+	if (geteuid () == 0)
+	{
+		gtk_rc_parse_string ("style\"root-warning-style\"{bg[NORMAL]=\"#b4254b\"\nfg[NORMAL]=\"#fefefe\"}\n"
+				"widget\"GtkWindow.*.root-warning\"style\"root-warning-style\"\n"
+				"widget\"GtkWindow.*.root-warning.GtkLabel\"style\"root-warning-style\"");
+		gtk_widget_set_name (GTK_WIDGET (gtk_builder_get_object (window->priv->builder, "root-warning-ebox")), "root-warning");
+		gtk_widget_show_all (GTK_WIDGET (gtk_builder_get_object (window->priv->builder, "root-warning-box")));
+	}
+
 	window->priv->treeview = xtm_process_tree_view_new ();
 	gtk_widget_show (window->priv->treeview);
 	gtk_container_add (GTK_CONTAINER (gtk_builder_get_object (window->priv->builder, "scrolledwindow")), window->priv->treeview);
diff --git a/src/process-window.ui b/src/process-window.ui
index 3a529c2..2a708b1 100644
--- a/src/process-window.ui
+++ b/src/process-window.ui
@@ -105,6 +105,43 @@
           </packing>
         </child>
         <child>
+          <object class="GtkVBox" id="root-warning-box">
+            <property name="orientation">vertical</property>
+            <child>
+              <object class="GtkEventBox" id="root-warning-ebox">
+                <property name="visible">True</property>
+                <child>
+                  <object class="GtkLabel" id="root-warning-label">
+                    <property name="visible">True</property>
+                    <property name="xpad">6</property>
+                    <property name="ypad">3</property>
+                    <property name="label" translatable="yes">Warning, you are using the root account, you may harm your system.</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHSeparator" id="root-warning-separator">
+                <property name="visible">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
           <object class="GtkVBox" id="mainview-vbox">
             <property name="visible">True</property>
             <property name="border_width">6</property>
@@ -127,7 +164,7 @@
             </child>
           </object>
           <packing>
-            <property name="position">1</property>
+            <property name="position">2</property>
           </packing>
         </child>
         <child>



More information about the Xfce4-commits mailing list