diff --git a/briar-gtk/briar_gtk/actions/window.py b/briar-gtk/briar_gtk/actions/window.py
index 03fea0a27de3cfe122247dc4a5dfef5b30beabb8..10e2e497fd74288223bd80eb254d64a6e2c9e110 100644
--- a/briar-gtk/briar_gtk/actions/window.py
+++ b/briar-gtk/briar_gtk/actions/window.py
@@ -93,4 +93,5 @@ class WindowActions(Actions):
 
     # pylint: disable=unused-argument
     def _open_private_chat(self, action, contact_id):
-        self.widget.current_controller.open_private_chat(contact_id.get_int32())
+        self.widget.current_controller.open_private_chat(
+            contact_id.get_int32())
diff --git a/briar-gtk/briar_gtk/controllers/chat_menu.py b/briar-gtk/briar_gtk/controllers/chat_menu.py
deleted file mode 100644
index 738fcd489854e760d2b6e0a0495ae459a889cc83..0000000000000000000000000000000000000000
--- a/briar-gtk/briar_gtk/controllers/chat_menu.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2020 Nico Alt
-# SPDX-License-Identifier: AGPL-3.0-only
-# License-Filename: LICENSE.md
-
-
-class ChatMenuController():
-
-    def __init__(self, chat_menu_view, api):
-        pass
diff --git a/briar-gtk/briar_gtk/controllers/main_menu.py b/briar-gtk/briar_gtk/controllers/main_menu.py
deleted file mode 100644
index 3b910004db853247edd238768337f59cdab1cf54..0000000000000000000000000000000000000000
--- a/briar-gtk/briar_gtk/controllers/main_menu.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2020 Nico Alt
-# SPDX-License-Identifier: AGPL-3.0-only
-# License-Filename: LICENSE.md
-
-
-class MainMenuController():
-
-    def __init__(self, main_menu_view, api):
-        pass
diff --git a/briar-gtk/briar_gtk/controllers/main_window.py b/briar-gtk/briar_gtk/controllers/main_window.py
index cf9243a8d4b37978d3c5c7a8156cedf1269cc80e..fecf40c71e84ee2a53f27071508773eac9686ce5 100644
--- a/briar-gtk/briar_gtk/controllers/main_window.py
+++ b/briar-gtk/briar_gtk/controllers/main_window.py
@@ -2,26 +2,16 @@
 # SPDX-License-Identifier: AGPL-3.0-only
 # License-Filename: LICENSE.md
 
-from gettext import gettext as _
-from gi.repository import Gtk
-
-from briar_wrapper.models.contacts import Contacts
-
-from briar_gtk.containers.private_chat import PrivateChatContainer
-from briar_gtk.controllers.main_menu import MainMenuController
 from briar_gtk.controllers.notification import NotificationController
 from briar_gtk.controllers.private_chat import PrivateChatController
 from briar_gtk.controllers.sidebar import SidebarController
-from briar_gtk.define import APP, NOTIFICATION_CONTACT_ADDED
-from briar_gtk.define import NOTIFICATION_PRIVATE_MESSAGE
-from briar_gtk.views.main_menu import MainMenuView
+from briar_gtk.define import APP
 from briar_gtk.views.private_chat import PrivateChatView
 from briar_gtk.views.sidebar import SidebarView
 from briar_gtk.widgets.about_dialog import AboutDialogWidget
-from briar_gtk.widgets.edit_dialog import EditDialog
 
 
-class MainWindowController():
+class MainWindowController:
 
     def __init__(self, main_window_view, builder):
         self._main_window_view = main_window_view
@@ -55,27 +45,21 @@ class MainWindowController():
         self._setup_notification_controller()
         self._setup_sidebar_controller()
         self._setup_private_chat_controller()
-        self._setup_main_menu_controller()
 
     def _setup_notification_controller(self):
         self._notification_controller = NotificationController()
 
     def _setup_sidebar_controller(self):
-        self._sidebar_view = SidebarView(self._builder)
+        sidebar_view = SidebarView(self._builder)
         self._sidebar_controller = SidebarController(
-            self._sidebar_view, APP().api)
+            sidebar_view, APP().api)
 
     def _setup_private_chat_controller(self):
-        self._private_chat_view = PrivateChatView(self._builder)
+        private_chat_view = PrivateChatView(self._builder)
         self._private_chat_controller = PrivateChatController(
-            self._private_chat_view, self._sidebar_controller,
+            private_chat_view, self._sidebar_controller,
             self._builder, APP().api)
 
-    def _setup_main_menu_controller(self):
-        self._main_menu_view = MainMenuView()
-        self._main_menu_controller = MainMenuController(
-            self._main_menu_view, APP().api)
-
     def _setup_destroy_listener(self):
         self._main_window_view.connect("destroy", self._on_destroy)
 
diff --git a/briar-gtk/briar_gtk/controllers/private_chat.py b/briar-gtk/briar_gtk/controllers/private_chat.py
index 95b7e806e7cb655bcb771590794580ab73d3fb8c..21ed83427462ed08a3ac92fe4f78343a7af3310a 100644
--- a/briar-gtk/briar_gtk/controllers/private_chat.py
+++ b/briar-gtk/briar_gtk/controllers/private_chat.py
@@ -9,13 +9,11 @@ from briar_wrapper.models.contacts import Contacts
 from briar_wrapper.models.private_chat import PrivateChat
 
 from briar_gtk.containers.private_chat import PrivateChatContainer
-from briar_gtk.controllers.chat_menu import ChatMenuController
 from briar_gtk.define import APP
-from briar_gtk.views.chat_menu import ChatMenuView
 from briar_gtk.widgets.edit_dialog import EditDialog
 
 
-class PrivateChatController():
+class PrivateChatController:
 
     _current_contact_id = 0
 
@@ -25,10 +23,6 @@ class PrivateChatController():
         self._builder = builder
         self._api = api
 
-        self._chat_menu_view = ChatMenuView()
-        self._chat_menu_controller = ChatMenuController(
-            self._chat_menu_view, api)
-
     def close_private_chat(self):  # formerly `show_sidebar`
         main_window_leaflet = self._builder.get_object("main_window_leaflet")
         main_window_leaflet.set_visible_child(
@@ -117,7 +111,8 @@ class PrivateChatController():
         self._setup_private_chat_widget(contact_name, contact_id)
         self._current_contact_id = contact_id
 
-    def _get_contact_name(self, contact_id):
+    @staticmethod
+    def _get_contact_name(contact_id):
         name = ""
         for contact in Contacts(APP().api).get():
             if contact["contactId"] == contact_id:
@@ -172,8 +167,6 @@ class PrivateChatController():
         children = history_container.get_children()
         for child in children:
             child.destroy()
-        if hasattr(self, "_selected_contact"):
-            del self._selected_contact
 
     def _setup_private_chat_widget(self, contact_name, contact_id):
         self._current_private_chat_widget = PrivateChatContainer(
diff --git a/briar-gtk/briar_gtk/controllers/sidebar.py b/briar-gtk/briar_gtk/controllers/sidebar.py
index 042e3f74f5a38ddf698ab82b797ba42780ef9345..98198bd2c56978752a898aa00dec161cb41c5716 100644
--- a/briar-gtk/briar_gtk/controllers/sidebar.py
+++ b/briar-gtk/briar_gtk/controllers/sidebar.py
@@ -2,15 +2,12 @@
 # SPDX-License-Identifier: AGPL-3.0-only
 # License-Filename: LICENSE.md
 
-from gi.repository import Gio, GLib
+from gi.repository import GLib
 
 from briar_wrapper.models.contacts import Contacts
 
-from briar_gtk.define import APP, NOTIFICATION_CONTACT_ADDED
-from briar_gtk.define import NOTIFICATION_PRIVATE_MESSAGE
 
-
-class SidebarController():
+class SidebarController:
 
     def __init__(self, sidebar_view, api):
         self._sidebar_view = sidebar_view
@@ -34,7 +31,7 @@ class SidebarController():
         socket_listener = self._api.socket_listener
         self._setup_contact_added_listeners(socket_listener)
         self._setup_message_received_listeners(socket_listener)
-        self._setup_contact_connection_listener(socket_listener)
+        self._setup_contact_connection_listener()
 
     def _load_contacts(self, selected_row=-1):
         self.contacts_list = self._contacts.get()
@@ -51,7 +48,7 @@ class SidebarController():
                                             self._refresh_contacts_async)
         self._signals.append(signal_id)
 
-    def _setup_contact_connection_listener(self, socket_listener):
+    def _setup_contact_connection_listener(self):
         callback = self._refresh_contact_connection_state
         signal_ids = self._contacts.watch_connections(callback)
         self._signals.extend(signal_ids)
diff --git a/briar-gtk/briar_gtk/views/chat_menu.py b/briar-gtk/briar_gtk/views/chat_menu.py
deleted file mode 100644
index d2c9f427804a043f158a0481df1817c74083522c..0000000000000000000000000000000000000000
--- a/briar-gtk/briar_gtk/views/chat_menu.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2020 Nico Alt
-# SPDX-License-Identifier: AGPL-3.0-only
-# License-Filename: LICENSE.md
-
-import os
-
-from gi.repository import Gtk
-
-from briar_gtk.define import RESOURCES_DIR
-
-
-class ChatMenuView():
-
-    CHAT_MENU_UI = "chat_menu.ui"
-
-    def __init__(self):
-        self._builder = Gtk.Builder()
-
-    def _add_from_resource(self, ui_filename):
-        self._builder.add_from_resource(
-            os.path.join(RESOURCES_DIR, ui_filename)
-        )
-
-    def _setup_view(self):
-        self._add_from_resource(self.CHAT_MENU_UI)
-        self._builder.connect_signals(self)
-        self._builder.get_object("chat_menu_button").hide()
diff --git a/briar-gtk/briar_gtk/views/main_menu.py b/briar-gtk/briar_gtk/views/main_menu.py
deleted file mode 100644
index 020451bd0682a7074444874c7e97559fb6acf573..0000000000000000000000000000000000000000
--- a/briar-gtk/briar_gtk/views/main_menu.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2020 Nico Alt
-# SPDX-License-Identifier: AGPL-3.0-only
-# License-Filename: LICENSE.md
-
-import os
-
-from gi.repository import Gtk
-
-from briar_gtk.define import RESOURCES_DIR
-
-
-class MainMenuView():
-
-    MAIN_MENU_UI = "main_menu.ui"
-
-    def __init__(self):
-        self._builder = Gtk.Builder()
-
-    def _add_from_resource(self, ui_filename):
-        self._builder.add_from_resource(
-            os.path.join(RESOURCES_DIR, ui_filename)
-        )
-
-    def _setup_view(self):
-        self._add_from_resource(self.MAIN_MENU_UI)
-        self._builder.connect_signals(self)
diff --git a/briar-gtk/briar_gtk/views/main_window.py b/briar-gtk/briar_gtk/views/main_window.py
index 148155128d6cb23384a317f0603342f2bc718d48..8ee40405b406c720cb7c0cddb74e346c14e607db 100644
--- a/briar-gtk/briar_gtk/views/main_window.py
+++ b/briar-gtk/briar_gtk/views/main_window.py
@@ -7,8 +7,6 @@
 
 from gi.repository import Gtk
 
-from briar_gtk.define import APP
-
 
 class MainWindowView(Gtk.Overlay):
 
@@ -24,8 +22,10 @@ class MainWindowView(Gtk.Overlay):
         main_window_stack = builder.get_object("main_window_stack")
         main_window_stack.show_all()
         self.add(main_window_stack)
+        builder.get_object("chat_menu_button").hide()
 
-    def _setup_headerbar_stack_holder(self, builder, window):
+    @staticmethod
+    def _setup_headerbar_stack_holder(builder, window):
         headerbar_stack_holder = builder.get_object("headerbar_stack_holder")
         headerbar_stack_holder.show_all()
         window.set_titlebar(headerbar_stack_holder)
diff --git a/briar-gtk/briar_gtk/views/private_chat.py b/briar-gtk/briar_gtk/views/private_chat.py
index 515cd01eb67594e547dfc4bb6659f8e250173b00..2acb4f561e3f1a42fa929fded8fa79df1fcddc41 100644
--- a/briar-gtk/briar_gtk/views/private_chat.py
+++ b/briar-gtk/briar_gtk/views/private_chat.py
@@ -2,16 +2,8 @@
 # SPDX-License-Identifier: AGPL-3.0-only
 # License-Filename: LICENSE.md
 
-import os
 
-from gi.repository import Gtk
-
-from briar_gtk.define import RESOURCES_DIR
-
-
-class PrivateChatView():
-
-    _current_private_chat_widget = None
+class PrivateChatView:
 
     def __init__(self, builder):
         self._builder = builder
diff --git a/briar-gtk/briar_gtk/views/sidebar.py b/briar-gtk/briar_gtk/views/sidebar.py
index 5fb2372374ba90f3e5cf521cdcc45de7006d8ab7..678a87f6955d020697e978abf26ffa06ecc5cf16 100644
--- a/briar-gtk/briar_gtk/views/sidebar.py
+++ b/briar-gtk/briar_gtk/views/sidebar.py
@@ -2,15 +2,10 @@
 # SPDX-License-Identifier: AGPL-3.0-only
 # License-Filename: LICENSE.md
 
-import os
-
-from gi.repository import Gtk
-
-from briar_gtk.define import RESOURCES_DIR
 from briar_gtk.widgets.contact_row import ContactRowWidget
 
 
-class SidebarView():
+class SidebarView:
 
     def __init__(self, builder):
         self._builder = builder
diff --git a/briar-gtk/briar_gtk/window.py b/briar-gtk/briar_gtk/window.py
index 5c85ce3c42b3054155f95dff059df223bb44c421..c9fb847f00cfa2635970e193013b3c8bcaf4370a 100644
--- a/briar-gtk/briar_gtk/window.py
+++ b/briar-gtk/briar_gtk/window.py
@@ -107,6 +107,7 @@ class Window(Gtk.ApplicationWindow):
         main_window_controller = MainWindowController(
             main_window_view, builder)
         self._setup_container(main_window_view)
+        builder.get_object("chat_menu_button").hide()  # TODO: Make default
         self.current_controller = main_window_controller
 
     def _setup_add_contact_container(self):
diff --git a/briar-gtk/data/ui/main_window.ui b/briar-gtk/data/ui/main_window.ui
index 736ff2eecfeb803cf44dc96000cbd52a988d2d02..73f5177031c380bfcb1313051e4740eed18f3bb2 100644
--- a/briar-gtk/data/ui/main_window.ui
+++ b/briar-gtk/data/ui/main_window.ui
@@ -364,13 +364,13 @@
                 </child>
                 <child>
                   <object class="GtkMenuButton" id="chat_menu_button">
-                    <property name="visible">True</property>
+                    <property name="visible">False</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
                     <property name="popover">chat_menu_popover</property>
                     <child>
                       <object class="GtkImage">
-                        <property name="visible">True</property>
+                        <property name="visible">False</property>
                         <property name="can_focus">False</property>
                         <property name="icon_name">view-more-symbolic</property>
                       </object>