[baobab] Use traditional titlebars in Unity



commit 9247a47d27ca8c392273293d1e20b82c43c34965
Author: Tim Lunn <tim feathertop org>
Date:   Sun Mar 1 11:19:52 2015 +1100

    Use traditional titlebars in Unity
    
    Use XDG_CURRENT_DESKTOP to determine whether to display headerbars
    as a toolbar on Unity
    
    https://bugzilla.gnome.org/show_bug.cgi?id=745346

 src/baobab-main-window.ui |  695 +++++++++++++++++++++++----------------------
 src/baobab-window.vala    |   15 +
 2 files changed, 366 insertions(+), 344 deletions(-)
---
diff --git a/src/baobab-main-window.ui b/src/baobab-main-window.ui
index 80224ac..6716d9c 100644
--- a/src/baobab-main-window.ui
+++ b/src/baobab-main-window.ui
@@ -40,363 +40,370 @@
       </object>
     </child>
   </object>
-  <template class="BaobabWindow" parent="GtkApplicationWindow">
-    <property name="title" translatable="yes">Disk Usage Analyzer</property>
-    <property name="icon_name">baobab</property>
-    <child type="titlebar">
-      <object class="GtkHeaderBar" id="header_bar">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="show_close_button">True</property>
+  <object class="GtkHeaderBar" id="header_bar">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="show_close_button">True</property>
+    <style>
+      <class name="titlebar"/>
+    </style>
+    <child>
+      <object class="GtkButton" id="back_button">
+        <property name="valign">center</property>
+        <property name="can_focus">True</property>
+        <property name="action_name">win.show-home-page</property>
         <style>
-          <class name="titlebar"/>
+          <class name="image-button"/>
         </style>
         <child>
-          <object class="GtkButton" id="back_button">
-            <property name="valign">center</property>
-            <property name="can_focus">True</property>
-            <property name="action_name">win.show-home-page</property>
-            <style>
-              <class name="image-button"/>
-            </style>
-            <child>
-              <object class="GtkImage" id="back_button_image">
-                <property name="visible">True</property>
-                <property name="icon_name">go-previous-symbolic</property>
-                <property name="icon_size">1</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="pack_type">start</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="reload_button">
-            <property name="valign">center</property>
-            <property name="can_focus">True</property>
-            <property name="action_name">win.reload</property>
-            <style>
-              <class name="image-button"/>
-            </style>
-            <child>
-              <object class="GtkImage" id="reload_button_image">
-                <property name="visible">True</property>
-                <property name="icon_size">1</property>
-                <property name="icon_name">view-refresh-symbolic</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="pack_type">end</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkMenuButton" id="menu_button">
-            <property name="valign">center</property>
-            <property name="menu_model">winmenu</property>
-            <property name="action_name">win.gear-menu</property>
-            <property name="direction">none</property>
-            <style>
-              <class name="image-button"/>
-            </style>
+          <object class="GtkImage" id="back_button_image">
+            <property name="visible">True</property>
+            <property name="icon_name">go-previous-symbolic</property>
+            <property name="icon_size">1</property>
           </object>
-          <packing>
-            <property name="pack_type">end</property>
-          </packing>
         </child>
       </object>
+      <packing>
+        <property name="pack_type">start</property>
+      </packing>
     </child>
     <child>
-      <object class="GtkGrid" id="window_contents">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <child>
-          <object class="GtkInfoBar" id="infobar">
-            <property name="visible">False</property>
-            <child internal-child="content_area">
-              <object class="GtkBox" id="infobar_content_area">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">8</property>
-                <property name="orientation">vertical</property>
-                <property name="spacing">16</property>
-                <property name="hexpand">True</property>
-                <child>
-                  <object class="GtkLabel" id="infobar_primary_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="selectable">True</property>
-                    <property name="use-markup">True</property>
-                    <property name="halign">GTK_ALIGN_START</property>
-                    <property name="wrap">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="infobar_secondary_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="selectable">True</property>
-                    <property name="use-markup">True</property>
-                    <property name="halign">GTK_ALIGN_START</property>
-                    <property name="wrap">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-            </child>
-            <child internal-child="action_area">
-              <object class="GtkButtonBox" id="infobar_action_area">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">5</property>
-                <property name="orientation">vertical</property>
-                <property name="spacing">6</property>
-                <property name="layout_style">end</property>
-                <child>
-                  <object class="GtkButton" id="infobar_close_button">
-                    <property name="visible">True</property>
-                    <property name="label" translatable="yes">Close</property>
-                  </object>
-                </child>
-              </object>
-            </child>
-          </object>
-        </child>
+      <object class="GtkButton" id="reload_button">
+        <property name="valign">center</property>
+        <property name="can_focus">True</property>
+        <property name="action_name">win.reload</property>
+        <style>
+          <class name="image-button"/>
+        </style>
         <child>
-          <object class="GtkStack" id="main_stack">
+          <object class="GtkImage" id="reload_button_image">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="transition_type">slide-left-right</property>
-            <child>
-              <object class="GtkGrid" id="home_page">
-                <property name="can_focus">False</property>
-                <property name="visible">True</property>
-                <property name="orientation">vertical</property>
-                <child>
-                  <object class="GtkScrolledWindow" id="location_scrolled_window">
-                    <property name="visible">True</property>
-                    <property name="vexpand">True</property>
-                    <property name="hexpand">True</property>
-                    <property name="hscrollbar-policy">never</property>
-                    <child>
-                      <object class="BaobabLocationList" id="location_list">
-                        <property name="visible">True</property>
-                        <property name="halign">center</property>
-                        <property name="width-request">700</property>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-               </object>
-            </child>
-            <child>
-              <object class="GtkGrid" id="result_page">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="column_homogeneous">True</property>
-                <child>
-                  <object class="GtkScrolledWindow" id="scrolled_window">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="shadow_type">in</property>
-                    <property name="hexpand">True</property>
-                    <child>
-                      <object class="GtkTreeView" id="treeview">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <child internal-child="selection">
-                          <object class="GtkTreeSelection" id="treeview_selection1"/>
-                        </child>
-                        <child>
-                          <object class="GtkTreeViewColumn" id="folder_column">
-                            <property name="resizable">True</property>
-                            <property name="sizing">grow-only</property>
-                            <property name="title" translatable="yes">Folder</property>
-                            <property name="expand">True</property>
-                            <property name="reorderable">True</property>
-                            <property name="sort_column_id">0</property>
-                            <child>
-                              <object class="BaobabCellRendererProgress" id="usage_column_bar_renderer">
-                                <property name="xpad">4</property>
-                                <property name="ypad">4</property>
-                              </object>
-                              <attributes>
-                                <attribute name="value">2</attribute>
-                                <attribute name="state">7</attribute>
-                              </attributes>
-                            </child>
-                            <child>
-                              <object class="BaobabCellRendererName" id="folder_column_text_renderer"/>
-                              <attributes>
-                                <attribute name="name">0</attribute>
-                                <attribute name="state">7</attribute>
-                              </attributes>
-                            </child>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkTreeViewColumn" id="size_column">
-                            <property name="resizable">True</property>
-                            <property name="sizing">grow-only</property>
-                            <property name="title" translatable="yes">Size</property>
-                            <property name="reorderable">True</property>
-                            <property name="sort_column_id">4</property>
-                            <child>
-                              <object class="BaobabCellRendererSize" id="size_column_size_renderer">
-                                <property name="xalign">1.0</property>
-                                <property name="show-allocated-size">True</property>
-                              </object>
-                              <attributes>
-                                <attribute name="size">3</attribute>
-                                <attribute name="alloc-size">4</attribute>
-                                <attribute name="state">7</attribute>
-                              </attributes>
-                            </child>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkTreeViewColumn" id="contents_column">
-                            <property name="resizable">True</property>
-                            <property name="sizing">grow-only</property>
-                            <property name="title" translatable="yes">Contents</property>
-                            <property name="reorderable">True</property>
-                            <property name="sort_column_id">6</property>
-                            <child>
-                              <object class="BaobabCellRendererItems" id="contents_column_items_renderer">
-                                <property name="xalign">1.0</property>
-                              </object>
-                              <attributes>
-                                <attribute name="items">6</attribute>
-                                <attribute name="state">7</attribute>
-                              </attributes>
-                            </child>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkTreeViewColumn" id="time_modified_column">
-                            <property name="resizable">True</property>
-                            <property name="sizing">grow-only</property>
-                            <property name="title" translatable="yes">Modified</property>
-                            <property name="reorderable">True</property>
-                            <property name="sort_column_id">5</property>
-                            <child>
-                              <object class="BaobabCellRendererTime" id="modified_column_time_renderer">
-                                <property name="xalign">1.0</property>
-                              </object>
-                              <attributes>
-                                <attribute name="time">5</attribute>
-                              </attributes>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkGrid" id="chart_grid">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="hexpand">True</property>
-                    <property name="vexpand">True</property>
-                    <child>
-                      <object class="GtkStack" id="spinner_stack">
-                        <property name="visible">True</property>
-                        <child>
-                          <object class="GtkStack" id="chart_stack">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="transition_type">crossfade</property>
-                            <child>
-                              <object class="BaobabRingschart" id="rings_chart">
-                                <property name="visible">True</property>
-                                <property name="hexpand">True</property>
-                                <property name="vexpand">True</property>
-                              </object>
-                              <packing>
-                                <property name="name">rings</property>
-                                <property name="title" translatable="yes">Rings Chart</property>
-                                <property name="icon_name">view-ringschart-symbolic</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="BaobabTreemap" id="treemap_chart">
-                                <property name="visible">True</property>
-                                <property name="hexpand">True</property>
-                                <property name="vexpand">True</property>
-                              </object>
-                              <packing>
-                                <property name="name">treemap</property>
-                                <property name="title" translatable="yes">Treemap Chart</property>
-                                <property name="icon_name">view-treemap-symbolic</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkSpinner" id="spinner">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="width_request">128</property>
-                            <property name="height_request">128</property>
-                            <property name="halign">GTK_ALIGN_CENTER</property>
-                            <property name="valign">GTK_ALIGN_CENTER</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkActionBar" id="chart_action_bar">
-                      <property name="visible">True</property>
-                        <child type="center">
-                          <object class="GtkStackSwitcher" id="chart_stack_switcher">
-                            <property name="visible">True</property>
-                            <property name="stack">chart_stack</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-              </object>
-            </child>
+            <property name="icon_size">1</property>
+            <property name="icon_name">view-refresh-symbolic</property>
           </object>
         </child>
       </object>
+      <packing>
+        <property name="pack_type">end</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkMenuButton" id="menu_button">
+        <property name="valign">center</property>
+        <property name="menu_model">winmenu</property>
+        <property name="action_name">win.gear-menu</property>
+        <property name="direction">none</property>
+        <style>
+          <class name="image-button"/>
+        </style>
+      </object>
+      <packing>
+        <property name="pack_type">end</property>
+      </packing>
     </child>
+  </object>
+  <template class="BaobabWindow" parent="GtkApplicationWindow">
+    <property name="title" translatable="yes">Disk Usage Analyzer</property>
+    <property name="icon_name">baobab</property>
+    <child>
+      <object class="GtkBox" id="vbox">
+      <property name="orientation">vertical</property>
+      <property name="visible">True</property>
+      <child>
+        <object class="GtkGrid" id="window_contents">
+          <property name="visible">True</property>
+          <property name="orientation">vertical</property>
+          <child>
+            <object class="GtkInfoBar" id="infobar">
+              <property name="visible">False</property>
+              <child internal-child="content_area">
+                <object class="GtkBox" id="infobar_content_area">
+                  <property name="visible">True</property>
+                  <property name="can_focus">False</property>
+                  <property name="border_width">8</property>
+                  <property name="orientation">vertical</property>
+                  <property name="spacing">16</property>
+                  <property name="hexpand">True</property>
+                  <child>
+                    <object class="GtkLabel" id="infobar_primary_label">
+                      <property name="visible">True</property>
+                      <property name="can_focus">True</property>
+                      <property name="selectable">True</property>
+                      <property name="use-markup">True</property>
+                      <property name="halign">GTK_ALIGN_START</property>
+                      <property name="wrap">True</property>
+                    </object>
+                    <packing>
+                      <property name="expand">False</property>
+                      <property name="fill">True</property>
+                      <property name="position">0</property>
+                    </packing>
+                  </child>
+                  <child>
+                    <object class="GtkLabel" id="infobar_secondary_label">
+                      <property name="visible">True</property>
+                      <property name="can_focus">True</property>
+                      <property name="selectable">True</property>
+                      <property name="use-markup">True</property>
+                      <property name="halign">GTK_ALIGN_START</property>
+                      <property name="wrap">True</property>
+                    </object>
+                    <packing>
+                      <property name="expand">False</property>
+                      <property name="fill">True</property>
+                      <property name="position">1</property>
+                    </packing>
+                  </child>
+                </object>
+              </child>
+              <child internal-child="action_area">
+                <object class="GtkButtonBox" id="infobar_action_area">
+                  <property name="visible">True</property>
+                  <property name="can_focus">False</property>
+                  <property name="border_width">5</property>
+                  <property name="orientation">vertical</property>
+                  <property name="spacing">6</property>
+                  <property name="layout_style">end</property>
+                  <child>
+                    <object class="GtkButton" id="infobar_close_button">
+                      <property name="visible">True</property>
+                      <property name="label" translatable="yes">Close</property>
+                    </object>
+                  </child>
+                </object>
+              </child>
+            </object>
+          </child>
+          <child>
+            <object class="GtkStack" id="main_stack">
+              <property name="visible">True</property>
+              <property name="can_focus">False</property>
+              <property name="transition_type">slide-left-right</property>
+              <child>
+                <object class="GtkGrid" id="home_page">
+                  <property name="can_focus">False</property>
+                  <property name="visible">True</property>
+                  <property name="orientation">vertical</property>
+                  <child>
+                    <object class="GtkScrolledWindow" id="location_scrolled_window">
+                      <property name="visible">True</property>
+                      <property name="vexpand">True</property>
+                      <property name="hexpand">True</property>
+                      <property name="hscrollbar-policy">never</property>
+                      <child>
+                        <object class="BaobabLocationList" id="location_list">
+                        <property name="halign">center</property>
+                        <property name="width-request">700</property>
+                        </object>
+                      </child>
+                    </object>
+                  </child>
+                 </object>
+              </child>
+              <child>
+                <object class="GtkGrid" id="result_page">
+                  <property name="visible">True</property>
+                  <property name="can_focus">False</property>
+                  <property name="column_homogeneous">True</property>
+                  <child>
+                    <object class="GtkScrolledWindow" id="scrolled_window">
+                      <property name="visible">True</property>
+                      <property name="can_focus">True</property>
+                      <property name="shadow_type">in</property>
+                      <property name="hexpand">True</property>
+                      <child>
+                        <object class="GtkTreeView" id="treeview">
+                          <property name="visible">True</property>
+                          <property name="can_focus">True</property>
+                          <child internal-child="selection">
+                            <object class="GtkTreeSelection" id="treeview_selection1"/>
+                          </child>
+                          <child>
+                            <object class="GtkTreeViewColumn" id="folder_column">
+                              <property name="resizable">True</property>
+                              <property name="sizing">grow-only</property>
+                              <property name="title" translatable="yes">Folder</property>
+                              <property name="expand">True</property>
+                              <property name="reorderable">True</property>
+                              <property name="sort_column_id">0</property>
+                              <child>
+                                <object class="BaobabCellRendererProgress" id="usage_column_bar_renderer">
+                                  <property name="xpad">4</property>
+                                  <property name="ypad">4</property>
+                                </object>
+                                <attributes>
+                                  <attribute name="value">2</attribute>
+                                  <attribute name="state">7</attribute>
+                                </attributes>
+                              </child>
+                              <child>
+                                <object class="BaobabCellRendererName" id="folder_column_text_renderer"/>
+                                <attributes>
+                                  <attribute name="name">0</attribute>
+                                  <attribute name="state">7</attribute>
+                                </attributes>
+                              </child>
+                            </object>
+                          </child>
+                          <child>
+                            <object class="GtkTreeViewColumn" id="size_column">
+                              <property name="resizable">True</property>
+                              <property name="sizing">grow-only</property>
+                              <property name="title" translatable="yes">Size</property>
+                              <property name="reorderable">True</property>
+                              <property name="sort_column_id">4</property>
+                              <child>
+                                <object class="BaobabCellRendererSize" id="size_column_size_renderer">
+                                  <property name="xalign">1.0</property>
+                                  <property name="show-allocated-size">True</property>
+                                </object>
+                                <attributes>
+                                  <attribute name="size">3</attribute>
+                                  <attribute name="alloc-size">4</attribute>
+                                  <attribute name="state">7</attribute>
+                                </attributes>
+                              </child>
+                            </object>
+                          </child>
+                          <child>
+                            <object class="GtkTreeViewColumn" id="contents_column">
+                              <property name="resizable">True</property>
+                              <property name="sizing">grow-only</property>
+                              <property name="title" translatable="yes">Contents</property>
+                              <property name="reorderable">True</property>
+                              <property name="sort_column_id">6</property>
+                              <child>
+                                <object class="BaobabCellRendererItems" id="contents_column_items_renderer">
+                                  <property name="xalign">1.0</property>
+                                </object>
+                                <attributes>
+                                  <attribute name="items">6</attribute>
+                                  <attribute name="state">7</attribute>
+                                </attributes>
+                              </child>
+                            </object>
+                          </child>
+                          <child>
+                            <object class="GtkTreeViewColumn" id="time_modified_column">
+                              <property name="resizable">True</property>
+                              <property name="sizing">grow-only</property>
+                              <property name="title" translatable="yes">Modified</property>
+                              <property name="reorderable">True</property>
+                              <property name="sort_column_id">5</property>
+                              <child>
+                                <object class="BaobabCellRendererTime" id="modified_column_time_renderer">
+                                  <property name="xalign">1.0</property>
+                                </object>
+                                <attributes>
+                                  <attribute name="time">5</attribute>
+                                </attributes>
+                              </child>
+                            </object>
+                          </child>
+                        </object>
+                      </child>
+                    </object>
+                    <packing>
+                      <property name="left_attach">0</property>
+                      <property name="top_attach">0</property>
+                      <property name="width">1</property>
+                      <property name="height">1</property>
+                    </packing>
+                  </child>
+                  <child>
+                    <object class="GtkGrid" id="chart_grid">
+                      <property name="visible">True</property>
+                      <property name="can_focus">False</property>
+                      <property name="hexpand">True</property>
+                      <property name="vexpand">True</property>
+                      <child>
+                        <object class="GtkStack" id="spinner_stack">
+                          <property name="visible">True</property>
+                          <child>
+                            <object class="GtkStack" id="chart_stack">
+                              <property name="visible">True</property>
+                              <property name="can_focus">True</property>
+                              <property name="transition_type">crossfade</property>
+                              <child>
+                                <object class="BaobabRingschart" id="rings_chart">
+                                  <property name="visible">True</property>
+                                  <property name="hexpand">True</property>
+                                  <property name="vexpand">True</property>
+                                </object>
+                                <packing>
+                                  <property name="name">rings</property>
+                                  <property name="title" translatable="yes">Rings Chart</property>
+                                  <property name="icon_name">view-ringschart-symbolic</property>
+                                </packing>
+                              </child>
+                              <child>
+                                <object class="BaobabTreemap" id="treemap_chart">
+                                  <property name="visible">True</property>
+                                  <property name="hexpand">True</property>
+                                  <property name="vexpand">True</property>
+                                </object>
+                                <packing>
+                                  <property name="name">treemap</property>
+                                  <property name="title" translatable="yes">Treemap Chart</property>
+                                  <property name="icon_name">view-treemap-symbolic</property>
+                                </packing>
+                              </child>
+                            </object>
+                          </child>
+                          <child>
+                            <object class="GtkSpinner" id="spinner">
+                              <property name="visible">True</property>
+                              <property name="can_focus">False</property>
+                              <property name="width_request">128</property>
+                              <property name="height_request">128</property>
+                              <property name="halign">GTK_ALIGN_CENTER</property>
+                              <property name="valign">GTK_ALIGN_CENTER</property>
+                            </object>
+                          </child>
+                        </object>
+                        <packing>
+                          <property name="left_attach">0</property>
+                          <property name="top_attach">0</property>
+                          <property name="width">1</property>
+                          <property name="height">1</property>
+                        </packing>
+                      </child>
+                      <child>
+                        <object class="GtkActionBar" id="chart_action_bar">
+                        <property name="visible">True</property>
+                          <child type="center">
+                            <object class="GtkStackSwitcher" id="chart_stack_switcher">
+                              <property name="visible">True</property>
+                              <property name="stack">chart_stack</property>
+                            </object>
+                          </child>
+                        </object>
+                        <packing>
+                          <property name="left_attach">0</property>
+                          <property name="top_attach">1</property>
+                          <property name="width">1</property>
+                          <property name="height">1</property>
+                        </packing>
+                      </child>
+                    </object>
+                    <packing>
+                      <property name="left_attach">1</property>
+                      <property name="top_attach">0</property>
+                      <property name="width">1</property>
+                      <property name="height">1</property>
+                    </packing>
+                  </child>
+                </object>
+              </child>
+            </object>
+          </child>
+        </object>
+        <packing>
+          <property name="pack_type">end</property>
+        </packing>
+      </child>
+    </object>
+
+  </child>
   </template>
 </interface>
diff --git a/src/baobab-window.vala b/src/baobab-window.vala
index e67c4ee..eaa394a 100644
--- a/src/baobab-window.vala
+++ b/src/baobab-window.vala
@@ -26,6 +26,8 @@ namespace Baobab {
     public class Window : Gtk.ApplicationWindow {
         private Settings ui_settings;
         [GtkChild]
+        private Gtk.Box vbox;
+        [GtkChild]
         private Gtk.HeaderBar header_bar;
         [GtkChild]
         private Gtk.Button back_button;
@@ -166,6 +168,19 @@ namespace Baobab {
             active_location = null;
             scan_completed_handler = 0;
 
+            var desktop = Environment.get_variable ("XDG_CURRENT_DESKTOP");
+
+            if (desktop == null || !desktop.contains("Unity"))
+            {
+                this.set_titlebar (header_bar);
+            }
+            else
+            {
+                header_bar.show_close_button = false;
+                header_bar.get_style_context().remove_class("titlebar");
+                vbox.pack_start(header_bar,  false, false, 0);
+            }
+
             set_ui_state (home_page, false);
 
             show ();



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