From 5ce0c65ce4d3b9e2cf8a1c0261e303e1905a779d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Philipp=20H=C3=B6rist?= <forenjunkie@chello.at>
Date: Sun, 28 Jan 2018 11:46:36 +0100
Subject: [PATCH] Move chat options menu

Putting it into the header forced GTK Window Decorations, that makes
the application look alien on all systems except Gnome.
---
 gajim/chat_control.py               |   2 +
 gajim/data/gui/chat_control.ui      | 138 ++++++++++++++++------------
 gajim/data/gui/groupchat_control.ui | 102 ++++++++++++--------
 gajim/data/gui/message_window.ui    |  24 +----
 gajim/data/gui/roster_window.ui     |  27 +-----
 gajim/groupchat_control.py          |   2 +
 gajim/message_window.py             |  32 -------
 gajim/roster_window.py              |   7 --
 8 files changed, 155 insertions(+), 179 deletions(-)

diff --git a/gajim/chat_control.py b/gajim/chat_control.py
index b492d0998a..3e60fbf2d6 100644
--- a/gajim/chat_control.py
+++ b/gajim/chat_control.py
@@ -107,6 +107,8 @@ class ChatControl(ChatControlBase):
         # Menu for the HeaderBar
         self.control_menu = gui_menu_builder.get_singlechat_menu(
             self.control_id)
+        settings_menu = self.xml.get_object('settings_menu')
+        settings_menu.set_menu_model(self.control_menu)
 
         self._audio_banner_image = self.xml.get_object('audio_banner_image')
         self._video_banner_image = self.xml.get_object('video_banner_image')
diff --git a/gajim/data/gui/chat_control.ui b/gajim/data/gui/chat_control.ui
index 74f560baeb..613eba6e62 100644
--- a/gajim/data/gui/chat_control.ui
+++ b/gajim/data/gui/chat_control.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.1 -->
+<!-- Generated with glade 3.20.2 -->
 <interface>
   <requires lib="gtk+" version="3.20"/>
   <object class="GtkAdjustment" id="adjustment1">
@@ -626,58 +626,6 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <child>
-                  <object class="GtkMenuButton" id="emoticons_button">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="tooltip_text" translatable="yes">Show a list of emoticons (Alt+M)</property>
-                    <property name="relief">none</property>
-                    <child>
-                      <object class="GtkImage">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="icon_name">face-smile-symbolic</property>
-                      </object>
-                    </child>
-                    <style>
-                      <class name="chatcontrol-actionbar-button"/>
-                    </style>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkMenuButton" id="formattings_button">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="focus_on_click">False</property>
-                    <property name="receives_default">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <property name="has_tooltip">True</property>
-                    <property name="relief">none</property>
-                    <property name="popup">formattings_menu</property>
-                    <child>
-                      <object class="GtkImage" id="image10">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="icon_name">format-text-bold-symbolic</property>
-                        <property name="icon_size">1</property>
-                      </object>
-                    </child>
-                    <style>
-                      <class name="chatcontrol-actionbar-button"/>
-                    </style>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
                 <child>
                   <object class="GtkComboBox" id="label_selector">
                     <property name="visible">True</property>
@@ -687,7 +635,7 @@
                     <property name="expand">True</property>
                     <property name="fill">True</property>
                     <property name="pack_type">end</property>
-                    <property name="position">2</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -791,7 +739,31 @@ audio-mic-volume-low</property>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="pack_type">end</property>
-                    <property name="position">3</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkMenuButton" id="settings_menu">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="relief">none</property>
+                    <child>
+                      <object class="GtkImage">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="icon_name">open-menu-symbolic</property>
+                      </object>
+                    </child>
+                    <style>
+                      <class name="chatcontrol-actionbar-button"/>
+                    </style>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="pack_type">end</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
                 <child>
@@ -818,7 +790,7 @@ audio-mic-volume-low</property>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
                     <property name="pack_type">end</property>
-                    <property name="position">4</property>
+                    <property name="position">3</property>
                   </packing>
                 </child>
                 <child>
@@ -843,7 +815,7 @@ audio-mic-volume-low</property>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="pack_type">end</property>
-                    <property name="position">5</property>
+                    <property name="position">4</property>
                   </packing>
                 </child>
                 <child>
@@ -870,9 +842,61 @@ audio-mic-volume-low</property>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
                     <property name="pack_type">end</property>
+                    <property name="position">5</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkMenuButton" id="emoticons_button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="tooltip_text" translatable="yes">Show a list of emoticons (Alt+M)</property>
+                    <property name="relief">none</property>
+                    <child>
+                      <object class="GtkImage">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="icon_name">face-smile-symbolic</property>
+                      </object>
+                    </child>
+                    <style>
+                      <class name="chatcontrol-actionbar-button"/>
+                    </style>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">6</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkMenuButton" id="formattings_button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="focus_on_click">False</property>
+                    <property name="receives_default">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="relief">none</property>
+                    <property name="popup">formattings_menu</property>
+                    <child>
+                      <object class="GtkImage" id="image10">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="icon_name">format-text-bold-symbolic</property>
+                        <property name="icon_size">1</property>
+                      </object>
+                    </child>
+                    <style>
+                      <class name="chatcontrol-actionbar-button"/>
+                    </style>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">7</property>
+                  </packing>
+                </child>
                 <child>
                   <placeholder/>
                 </child>
diff --git a/gajim/data/gui/groupchat_control.ui b/gajim/data/gui/groupchat_control.ui
index 8e0169d092..eb58e2c200 100644
--- a/gajim/data/gui/groupchat_control.ui
+++ b/gajim/data/gui/groupchat_control.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.1 -->
+<!-- Generated with glade 3.20.2 -->
 <interface>
   <requires lib="gtk+" version="3.20"/>
   <object class="GtkMenu" id="formattings_menu">
@@ -222,17 +222,16 @@
                     <property name="can_focus">False</property>
                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                     <child>
-                      <object class="GtkMenuButton" id="emoticons_button">
+                      <object class="GtkMenuButton" id="settings_menu">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="tooltip_text" translatable="yes">Show a list of emoticons (Alt+M)</property>
                         <property name="relief">none</property>
                         <child>
                           <object class="GtkImage">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="icon_name">face-smile-symbolic</property>
+                            <property name="icon_name">open-menu-symbolic</property>
                           </object>
                         </child>
                         <style>
@@ -242,24 +241,23 @@
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
+                        <property name="pack_type">end</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkMenuButton" id="formattings_button">
-                        <property name="visible">True</property>
+                      <object class="GtkButton" id="authentication_button">
                         <property name="can_focus">True</property>
                         <property name="focus_on_click">False</property>
                         <property name="receives_default">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <property name="has_tooltip">True</property>
+                        <property name="no_show_all">True</property>
                         <property name="relief">none</property>
-                        <property name="popup">formattings_menu</property>
                         <child>
-                          <object class="GtkImage" id="image10">
+                          <object class="GtkImage" id="lock_image">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="icon_name">format-text-bold-symbolic</property>
+                            <property name="stock">gtk-dialog-authentication</property>
                             <property name="icon_size">1</property>
                           </object>
                         </child>
@@ -269,24 +267,23 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
-                        <property name="fill">True</property>
+                        <property name="fill">False</property>
+                        <property name="pack_type">end</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="authentication_button">
+                      <object class="GtkMenuButton" id="encryption_menu">
+                        <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="focus_on_click">False</property>
                         <property name="receives_default">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <property name="no_show_all">True</property>
+                        <property name="tooltip_text" translatable="yes">Choose an encryption</property>
                         <property name="relief">none</property>
                         <child>
-                          <object class="GtkImage" id="lock_image">
+                          <object class="GtkImage">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="stock">gtk-dialog-authentication</property>
-                            <property name="icon_size">1</property>
+                            <property name="icon_name">channel-secure-symbolic</property>
                           </object>
                         </child>
                         <style>
@@ -295,38 +292,48 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
-                        <property name="fill">False</property>
+                        <property name="fill">True</property>
                         <property name="pack_type">end</property>
                         <property name="position">2</property>
                       </packing>
                     </child>
                     <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <object class="GtkComboBox" id="label_selector">
+                      <object class="GtkButton" id="sendfile_button">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="no_show_all">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="focus_on_click">False</property>
+                        <property name="receives_default">True</property>
+                        <property name="relief">none</property>
+                        <child>
+                          <object class="GtkImage">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="icon_name">mail-attachment-symbolic</property>
+                          </object>
+                        </child>
+                        <style>
+                          <class name="chatcontrol-actionbar-button"/>
+                        </style>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
-                        <property name="fill">True</property>
-                        <property name="position">4</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="pack_type">end</property>
+                        <property name="position">3</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkMenuButton" id="encryption_menu">
+                      <object class="GtkMenuButton" id="emoticons_button">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="tooltip_text" translatable="yes">Choose an encryption</property>
+                        <property name="tooltip_text" translatable="yes">Show a list of emoticons (Alt+M)</property>
                         <property name="relief">none</property>
                         <child>
                           <object class="GtkImage">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="icon_name">channel-secure-symbolic</property>
+                            <property name="icon_name">face-smile-symbolic</property>
                           </object>
                         </child>
                         <style>
@@ -336,22 +343,25 @@
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
-                        <property name="pack_type">end</property>
-                        <property name="position">5</property>
+                        <property name="position">4</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="sendfile_button">
+                      <object class="GtkMenuButton" id="formattings_button">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="focus_on_click">False</property>
                         <property name="receives_default">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="has_tooltip">True</property>
                         <property name="relief">none</property>
+                        <property name="popup">formattings_menu</property>
                         <child>
-                          <object class="GtkImage">
+                          <object class="GtkImage" id="image10">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="icon_name">mail-attachment-symbolic</property>
+                            <property name="icon_name">format-text-bold-symbolic</property>
+                            <property name="icon_size">1</property>
                           </object>
                         </child>
                         <style>
@@ -360,9 +370,23 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="pack_type">end</property>
-                        <property name="position">6</property>
+                        <property name="fill">True</property>
+                        <property name="position">5</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="label_selector">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="no_show_all">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">7</property>
                       </packing>
                     </child>
                   </object>
diff --git a/gajim/data/gui/message_window.ui b/gajim/data/gui/message_window.ui
index 854cd7db3e..79efdaac4f 100644
--- a/gajim/data/gui/message_window.ui
+++ b/gajim/data/gui/message_window.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.0 -->
+<!-- Generated with glade 3.20.2 -->
 <interface>
   <requires lib="gtk+" version="3.12"/>
   <object class="GtkEventBox" id="chat_tab_ebox">
@@ -64,25 +64,6 @@
       </object>
     </child>
   </object>
-  <object class="GtkHeaderBar" id="headerbar">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="show_close_button">True</property>
-    <child>
-      <object class="GtkMenuButton" id="header_menu">
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="receives_default">True</property>
-        <child>
-          <object class="GtkImage">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="icon_name">open-menu-symbolic</property>
-          </object>
-        </child>
-      </object>
-    </child>
-  </object>
   <object class="GtkApplicationWindow" id="message_window">
     <property name="name">MessageWindow</property>
     <property name="can_focus">False</property>
@@ -96,5 +77,8 @@
         <property name="scrollable">True</property>
       </object>
     </child>
+    <child type="titlebar">
+      <placeholder/>
+    </child>
   </object>
 </interface>
diff --git a/gajim/data/gui/roster_window.ui b/gajim/data/gui/roster_window.ui
index 4601484bc2..cac95c47ec 100644
--- a/gajim/data/gui/roster_window.ui
+++ b/gajim/data/gui/roster_window.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.0 -->
+<!-- Generated with glade 3.20.2 -->
 <interface>
   <requires lib="gtk+" version="3.12"/>
   <object class="GtkAccelGroup" id="accelgroup1"/>
@@ -115,29 +115,8 @@
         </child>
       </object>
     </child>
-  </object>
-  <object class="GtkHeaderBar" id="headerbar">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="title">Gajim</property>
-    <property name="show_close_button">True</property>
-    <child>
-      <object class="GtkMenuButton" id="header_menu">
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="receives_default">True</property>
-        <property name="no_show_all">True</property>
-        <child>
-          <object class="GtkImage">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="icon_name">open-menu-symbolic</property>
-          </object>
-        </child>
-      </object>
-      <packing>
-        <property name="pack_type">end</property>
-      </packing>
+    <child type="titlebar">
+      <placeholder/>
     </child>
   </object>
 </interface>
diff --git a/gajim/groupchat_control.py b/gajim/groupchat_control.py
index a5b6a82ce1..c1aeb87d8a 100644
--- a/gajim/groupchat_control.py
+++ b/gajim/groupchat_control.py
@@ -482,6 +482,8 @@ class GroupchatControl(ChatControlBase):
         self.gc_tooltip = tooltips.GCTooltip()
 
         self.control_menu = gui_menu_builder.get_groupchat_menu(self.control_id)
+        settings_menu = self.xml.get_object('settings_menu')
+        settings_menu.set_menu_model(self.control_menu)
 
         app.ged.register_event_handler('gc-presence-received', ged.GUI1,
             self._nec_gc_presence_received)
diff --git a/gajim/message_window.py b/gajim/message_window.py
index 80941f216f..53db627413 100644
--- a/gajim/message_window.py
+++ b/gajim/message_window.py
@@ -101,18 +101,6 @@ class MessageWindow(object):
             orig_window.destroy()
             del orig_window
 
-        # Set headermenu
-        # single-window mode: show the header menu on the roster window
-        # all other modes: add the headerbar to the new window
-        # A headerbar has to be set before the window calls show()
-        if parent_window:
-            self.header_menu = app.interface.roster.header_menu
-            self.header_menu.show()
-        else:
-            self.header_menu = self.xml.get_object('header_menu')
-            headerbar = self.xml.get_object('headerbar')
-            self.window.set_titlebar(headerbar)
-
         # NOTE: we use 'connect_after' here because in
         # MessageWindowMgr._new_window we register handler that saves window
         # state when closing it, and it should be called before
@@ -170,9 +158,6 @@ class MessageWindow(object):
         self.notebook.set_show_border(app.config.get('tabs_border'))
         self.show_icon()
 
-    def set_header_menu(self, menu):
-        self.header_menu.set_menu_model(menu)
-
     def change_account_name(self, old_name, new_name):
         if old_name in self._controls:
             self._controls[new_name] = self._controls[old_name]
@@ -589,7 +574,6 @@ class MessageWindow(object):
         ask any confirmation
         """
         def close(ctrl):
-            self.remove_headermenu(self.notebook, ctrl)
             if reason is not None: # We are leaving gc with a status message
                 ctrl.shutdown(reason)
             else: # We are leaving gc without status message or it's a chat
@@ -627,7 +611,6 @@ class MessageWindow(object):
 
         def on_minimize(ctrl):
             if method != self.CLOSE_COMMAND:
-                self.remove_headermenu(self.notebook, ctrl)
                 ctrl.minimize()
                 self.check_tabs()
                 return
@@ -639,13 +622,6 @@ class MessageWindow(object):
         else:
             ctrl.allow_shutdown(method, on_yes, on_no, on_minimize)
 
-    def remove_headermenu(self, notebook, ctrl):
-        page_num = notebook.page_num(ctrl.widget)
-        if page_num == notebook.get_current_page():
-            self.set_header_menu(None)
-        elif notebook.get_n_pages() == 1:
-            self.set_header_menu(None)
-
     def check_tabs(self):
         if self.parent_paned:
             # Do nothing in single window mode
@@ -866,7 +842,6 @@ class MessageWindow(object):
         new_ctrl = self._widget_to_control(notebook.get_nth_page(page_num))
         new_ctrl.set_control_active(True)
         self.show_title(control = new_ctrl)
-        self.set_header_menu(new_ctrl.control_menu)
 
         control = self.get_active_control()
         if isinstance(control, ChatControlBase):
@@ -1321,7 +1296,6 @@ class MessageWindowMgr(GObject.GObject):
                 gtkgui_helpers.resize_window(w.window,
                         app.config.get('roster_width'),
                         app.config.get('roster_height'))
-                self.hide_header_bar(self.parent_win)
 
         self._windows = {}
 
@@ -1335,12 +1309,6 @@ class MessageWindowMgr(GObject.GObject):
             ctrl.update_actions()
             mw.new_tab(ctrl)
 
-    @staticmethod
-    def hide_header_bar(parent_win):
-        header_bar = parent_win.get_titlebar()
-        for child in header_bar.get_children():
-            child.hide()
-
     def save_opened_controls(self):
         if not app.config.get('remember_opened_chat_controls'):
             return
diff --git a/gajim/roster_window.py b/gajim/roster_window.py
index e0cdfd6c87..20ec904977 100644
--- a/gajim/roster_window.py
+++ b/gajim/roster_window.py
@@ -5675,13 +5675,6 @@ class RosterWindow:
         app.interface.msg_win_mgr.connect('window-delete',
             self.on_message_window_delete)
 
-        # Set headermenu but hide it.
-        # MessageWindow will show it if we are in single-window mode
-        headerbar = self.xml.get_object('headerbar')
-        self.window.set_titlebar(headerbar)
-        self.header_menu = self.xml.get_object('header_menu')
-        self.header_menu.hide()
-
         self.advanced_menus = [] # We keep them to destroy them
         if app.config.get('roster_window_skip_taskbar'):
             self.window.set_property('skip-taskbar-hint', True)
-- 
GitLab