[gnome-system-monitor] Memmaps: use system monospace font



commit 0f136ada28bed6c6a097a6718089ff3a72d1f005
Author: Stefano Facchini <stefano facchini gmail com>
Date:   Sun Aug 18 21:59:21 2013 +0200

    Memmaps: use system monospace font
    
    https://bugzilla.gnome.org/show_bug.cgi?id=706267

 src/memmaps.cpp |   43 +++++--------------------------------------
 src/util.cpp    |   12 ++++++++++++
 src/util.h      |    2 ++
 3 files changed, 19 insertions(+), 38 deletions(-)
---
diff --git a/src/memmaps.cpp b/src/memmaps.cpp
index f75b2f1..14a51d1 100644
--- a/src/memmaps.cpp
+++ b/src/memmaps.cpp
@@ -63,41 +63,6 @@ namespace
         }
     };
 
-
-
-
-#if 0
-
-    struct ColumnState
-    {
-        unsigned visible;
-        unsigned id;
-        unsigned width;
-
-        int pack() const
-        {
-            unsigned p = 0;
-            p |= (this->visible & 0x0001) << 24;
-            p |= (this->id      & 0x00ff) << 16;
-            p |= (this->width   & 0xffff);
-            return p;
-        }
-
-        void unpack(int i)
-        {
-            this->visible = 0x0001 & (i >> 24);
-            this->id      = 0x00ff & (i >> 16);
-            this->width   = 0xffff & i;
-        }
-    };
-
-
-
-
-#endif
-
-
-
     class InodeDevices
     {
         typedef std::map<guint16, string> Map;
@@ -383,6 +348,8 @@ create_memmapsdata (GsmApplication *app)
     gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tree), TRUE);
     g_object_unref (G_OBJECT (model));
 
+    gchar *font = get_monospace_system_font_name ();
+
     for (i = 0; i < MMAP_COL_MAX; i++) {
         GtkCellRenderer *cell;
         GtkTreeViewColumn *col;
@@ -415,18 +382,18 @@ create_memmapsdata (GsmApplication *app)
                 break;
         }
 
-
         switch (i) {
             case MMAP_COL_VMSTART:
             case MMAP_COL_VMEND:
             case MMAP_COL_FLAGS:
             case MMAP_COL_VMOFFSET:
-            case MMAP_COL_DEVICE:
-                g_object_set(cell, "family", "monospace", NULL);
+                g_object_set (cell, "font", font, NULL);
                 break;
         }
     }
 
+    g_free (font);
+
     return new MemMapsData(tree);
 }
 
diff --git a/src/util.cpp b/src/util.cpp
index d052a96..a34050b 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -647,3 +647,15 @@ namespace procman
     }
 
 }
+
+gchar *
+get_monospace_system_font_name ()
+{
+    GSettings *desktop_settings = g_settings_new ("org.gnome.desktop.interface");
+    char *font;
+
+    font = g_settings_get_string (desktop_settings, "monospace-font-name");
+    g_object_unref (desktop_settings);
+
+    return font;
+}
diff --git a/src/util.h b/src/util.h
index 6dda021..6d32808 100644
--- a/src/util.h
+++ b/src/util.h
@@ -28,6 +28,8 @@ procman_debug_real(const char *file, int line, const char *func,
 
 #define procman_debug(FMT, ...) procman_debug_real(__FILE__, __LINE__, __func__, FMT, ##__VA_ARGS__)
 
+gchar * get_monospace_system_font_name (void);
+
 inline string make_string(char *c_str)
 {
     if (!c_str) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]