From cea5406265b2af185cabd6906a27095118a7c471 Mon Sep 17 00:00:00 2001
From: Pierre Lamot <pierre@videolabs.io>
Date: Fri, 26 Nov 2021 10:02:43 +0100
Subject: [PATCH] qt: rename MainInterface to MainCtx

MainInterface was the actual QWidget interface in VLC 3.0, now it's the
application context

only rename classes and files, no functional changes
---
 modules/gui/qt/Makefile.am                    |  12 +-
 modules/gui/qt/dialogs/dialogs_provider.cpp   |   2 +-
 .../qt/dialogs/extended/extended_panels.cpp   |   2 +-
 .../qt/dialogs/firstrun/firstrunwizard.cpp    |   2 +-
 modules/gui/qt/dialogs/open/open_panels.cpp   |   2 +-
 .../gui/qt/dialogs/playlists/playlists.cpp    |   8 +-
 .../qt/dialogs/preferences/preferences.cpp    |   2 +-
 .../preferences/simple_preferences.cpp        |   4 +-
 modules/gui/qt/dialogs/sout/convert.cpp       |   2 +-
 modules/gui/qt/dialogs/sout/sout_widgets.cpp  |   2 +-
 modules/gui/qt/maininterface/compositor.cpp   |  18 +--
 modules/gui/qt/maininterface/compositor.hpp   |   6 +-
 .../gui/qt/maininterface/compositor_dcomp.cpp |   8 +-
 .../gui/qt/maininterface/compositor_dcomp.hpp |   4 +-
 .../compositor_dcomp_acrylicsurface.cpp       |  20 +--
 .../compositor_dcomp_acrylicsurface.hpp       |   6 +-
 .../gui/qt/maininterface/compositor_dummy.cpp |  12 +-
 .../gui/qt/maininterface/compositor_dummy.hpp |   6 +-
 .../gui/qt/maininterface/compositor_win7.cpp  |   8 +-
 .../gui/qt/maininterface/compositor_win7.hpp  |   2 +-
 .../gui/qt/maininterface/compositor_x11.cpp   |   8 +-
 .../gui/qt/maininterface/compositor_x11.hpp   |   2 +-
 .../interface_window_handler.cpp              |  50 +++----
 .../interface_window_handler.hpp              |   6 +-
 .../{main_interface.cpp => mainctx.cpp}       | 132 +++++++++---------
 .../{main_interface.hpp => mainctx.hpp}       |   6 +-
 ..._interface_win32.cpp => mainctx_win32.cpp} |  20 +--
 ..._interface_win32.hpp => mainctx_win32.hpp} |  12 +-
 modules/gui/qt/maininterface/mainui.cpp       |  12 +-
 modules/gui/qt/maininterface/mainui.hpp       |   4 +-
 .../qt/maininterface/video_window_handler.cpp |   2 +-
 .../qt/maininterface/video_window_handler.hpp |   2 +-
 modules/gui/qt/maininterface/videosurface.cpp |   6 +-
 modules/gui/qt/maininterface/videosurface.hpp |  13 +-
 .../gui/qt/medialibrary/mlfoldersmodel.cpp    |   2 +-
 .../gui/qt/medialibrary/mlfoldersmodel.hpp    |  10 +-
 modules/gui/qt/menus/menus.cpp                |  24 ++--
 modules/gui/qt/menus/menus.hpp                |   2 +-
 modules/gui/qt/menus/qml_menu_wrapper.cpp     |   2 +-
 modules/gui/qt/menus/qml_menu_wrapper.hpp     |   6 +-
 modules/gui/qt/network/networkdevicemodel.cpp |   3 +-
 modules/gui/qt/network/networkdevicemodel.hpp |  11 +-
 modules/gui/qt/network/networkmediamodel.cpp  |   2 +-
 modules/gui/qt/network/networkmediamodel.hpp  |  10 +-
 .../gui/qt/network/networksourcesmodel.cpp    |   2 +-
 .../gui/qt/network/networksourcesmodel.hpp    |  10 +-
 .../gui/qt/network/servicesdiscoverymodel.cpp |   2 +-
 .../gui/qt/network/servicesdiscoverymodel.hpp |  10 +-
 modules/gui/qt/qt.cpp                         |  14 +-
 modules/gui/qt/qt.hpp                         |   2 +-
 .../qt/widgets/native/interface_widgets.hpp   |   2 +-
 po/POTFILES.in                                |   8 +-
 52 files changed, 264 insertions(+), 261 deletions(-)
 rename modules/gui/qt/maininterface/{main_interface.cpp => mainctx.cpp} (85%)
 rename modules/gui/qt/maininterface/{main_interface.hpp => mainctx.hpp} (99%)
 rename modules/gui/qt/maininterface/{main_interface_win32.cpp => mainctx_win32.cpp} (97%)
 rename modules/gui/qt/maininterface/{main_interface_win32.hpp => mainctx_win32.hpp} (90%)

diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am
index 5d022f0e8ee2..2b393c0c2517 100644
--- a/modules/gui/qt/Makefile.am
+++ b/modules/gui/qt/Makefile.am
@@ -133,8 +133,8 @@ libqt_plugin_la_SOURCES = \
 	gui/qt/maininterface/compositor_dummy.cpp \
 	gui/qt/maininterface/interface_window_handler.cpp \
 	gui/qt/maininterface/interface_window_handler.hpp \
-	gui/qt/maininterface/main_interface.cpp \
-	gui/qt/maininterface/main_interface.hpp \
+	gui/qt/maininterface/mainctx.cpp \
+	gui/qt/maininterface/mainctx.hpp \
 	gui/qt/maininterface/mainui.cpp \
 	gui/qt/maininterface/mainui.hpp \
 	gui/qt/maininterface/videosurface.cpp \
@@ -276,8 +276,8 @@ libqt_plugin_la_SOURCES = \
 	gui/qt/widgets/native/searchlineedit.cpp gui/qt/widgets/native/searchlineedit.hpp
 if HAVE_WIN32
 libqt_plugin_la_SOURCES += \
-	gui/qt/maininterface/main_interface_win32.cpp \
-	gui/qt/maininterface/main_interface_win32.hpp \
+	gui/qt/maininterface/mainctx_win32.cpp \
+	gui/qt/maininterface/mainctx_win32.hpp \
 	gui/qt/maininterface/compositor_win7.cpp \
 	gui/qt/maininterface/compositor_win7.hpp
 
@@ -368,7 +368,7 @@ nodist_libqt_plugin_la_SOURCES = \
 	gui/qt/maininterface/compositor.moc.cpp \
 	gui/qt/maininterface/compositor_dummy.moc.cpp \
 	gui/qt/maininterface/interface_window_handler.moc.cpp \
-	gui/qt/maininterface/main_interface.moc.cpp \
+	gui/qt/maininterface/mainctx.moc.cpp \
 	gui/qt/maininterface/mainui.moc.cpp \
 	gui/qt/maininterface/videosurface.moc.cpp \
 	gui/qt/maininterface/video_window_handler.moc.cpp \
@@ -436,7 +436,7 @@ nodist_libqt_plugin_la_SOURCES = \
 	gui/qt/widgets/native/searchlineedit.moc.cpp
 
 if HAVE_WIN32
-nodist_libqt_plugin_la_SOURCES += gui/qt/maininterface/main_interface_win32.moc.cpp \
+nodist_libqt_plugin_la_SOURCES += gui/qt/maininterface/mainctx_win32.moc.cpp \
 	gui/qt/maininterface/compositor_win7.moc.cpp
 
 if HAVE_DCOMP
diff --git a/modules/gui/qt/dialogs/dialogs_provider.cpp b/modules/gui/qt/dialogs/dialogs_provider.cpp
index 062f68b97b30..c0f57f633d2f 100644
--- a/modules/gui/qt/dialogs/dialogs_provider.cpp
+++ b/modules/gui/qt/dialogs/dialogs_provider.cpp
@@ -34,7 +34,7 @@
 #include "menus/menus.hpp"
 #include "util/qt_dirs.hpp"
 #include "widgets/native/customwidgets.hpp" /* VLCKeyToString() */
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 
 /* The dialogs */
 #include "dialogs/bookmarks/bookmarks.hpp"
diff --git a/modules/gui/qt/dialogs/extended/extended_panels.cpp b/modules/gui/qt/dialogs/extended/extended_panels.cpp
index e9b7b13bddd6..e7932eaf417f 100644
--- a/modules/gui/qt/dialogs/extended/extended_panels.cpp
+++ b/modules/gui/qt/dialogs/extended/extended_panels.cpp
@@ -47,7 +47,7 @@
 #include "extended_panels.hpp"
 #include "dialogs/preferences/preferences.hpp"
 #include "qt.hpp"
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 #include "player/player_controller.hpp"
 #include "util/qt_dirs.hpp"
 #include "widgets/native/customwidgets.hpp"
diff --git a/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp b/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
index d4728ca57f70..3f46597fa65c 100644
--- a/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
+++ b/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
@@ -18,7 +18,7 @@
 
 #include "firstrunwizard.hpp"
 #include "util/color_scheme_model.hpp"
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 #include "dialogs/toolbar/controlbar_profile_model.hpp"
 
 #include <QPushButton>
diff --git a/modules/gui/qt/dialogs/open/open_panels.cpp b/modules/gui/qt/dialogs/open/open_panels.cpp
index df439e0dcbe5..e638e19343f4 100644
--- a/modules/gui/qt/dialogs/open/open_panels.cpp
+++ b/modules/gui/qt/dialogs/open/open_panels.cpp
@@ -32,7 +32,7 @@
 #include <assert.h>
 
 #include "qt.hpp"
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 #include "open_panels.hpp"
 #include "dialogs/open/open.hpp"
 #include "dialogs/dialogs_provider.hpp" /* Open Subtitle file */
diff --git a/modules/gui/qt/dialogs/playlists/playlists.cpp b/modules/gui/qt/dialogs/playlists/playlists.cpp
index 28ac015d9906..f08bd2f646dd 100644
--- a/modules/gui/qt/dialogs/playlists/playlists.cpp
+++ b/modules/gui/qt/dialogs/playlists/playlists.cpp
@@ -28,7 +28,7 @@
 
 // VLC includes
 #include <vlc_media_library.h>
-#include <maininterface/main_interface.hpp>
+#include <maininterface/mainctx.hpp>
 #include <medialibrary/mlplaylistlistmodel.hpp>
 #include <medialibrary/mlqmltypes.hpp>
 
@@ -47,9 +47,9 @@
 
 PlaylistsDialog::PlaylistsDialog(qt_intf_t * _p_intf) : QVLCFrame(_p_intf)
 {
-    MainInterface * mainInterface = p_intf->p_mi;
+    MainCtx * mainCtx = p_intf->p_mi;
 
-    assert(mainInterface->hasMediaLibrary());
+    assert(mainCtx->hasMediaLibrary());
 
     setWindowFlags(Qt::Tool);
 
@@ -71,7 +71,7 @@ PlaylistsDialog::PlaylistsDialog(qt_intf_t * _p_intf) : QVLCFrame(_p_intf)
 
     m_model = new MLPlaylistListModel(vlc_ml_instance_get(_p_intf), m_playlists);
 
-    m_model->setMl(mainInterface->getMediaLibrary());
+    m_model->setMl(mainCtx->getMediaLibrary());
 
     m_playlists->setModel(m_model);
 
diff --git a/modules/gui/qt/dialogs/preferences/preferences.cpp b/modules/gui/qt/dialogs/preferences/preferences.cpp
index 3473e1b05e5d..6aea3671bb38 100644
--- a/modules/gui/qt/dialogs/preferences/preferences.cpp
+++ b/modules/gui/qt/dialogs/preferences/preferences.cpp
@@ -33,7 +33,7 @@
 #include "dialogs/preferences/simple_preferences.hpp"
 #include "widgets/native/searchlineedit.hpp"
 #include "widgets/native/qvlcframe.hpp"
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 
 #include <QHBoxLayout>
 #include <QGroupBox>
diff --git a/modules/gui/qt/dialogs/preferences/simple_preferences.cpp b/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
index 6f1a0b77d7bc..10cbf6525629 100644
--- a/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
+++ b/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
@@ -28,7 +28,7 @@
 
 #include "simple_preferences.hpp"
 #include "preferences_widgets.hpp"
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 #include "util/color_scheme_model.hpp"
 #include "util/qvlcapp.hpp"
 #include "util/proxycolumnmodel.hpp"
@@ -850,7 +850,7 @@ SPrefsPanel::SPrefsPanel( qt_intf_t *_p_intf, QWidget *_parent,
 
             ui.pinVideoControlsCheckbox->setChecked( p_intf->p_mi->pinVideoControls() );
             m_resetters.push_back(std::make_unique<PropertyResetter>(ui.pinVideoControlsCheckbox, "checked"));
-            QObject::connect( ui.pinVideoControlsCheckbox, &QCheckBox::stateChanged, p_intf->p_mi, &MainInterface::setPinVideoControls );
+            QObject::connect( ui.pinVideoControlsCheckbox, &QCheckBox::stateChanged, p_intf->p_mi, &MainCtx::setPinVideoControls );
 
             ui.colorSchemeComboBox->setModel( p_intf->p_mi->getColorScheme() );
             ui.colorSchemeComboBox->setCurrentText( p_intf->p_mi->getColorScheme()->currentText() );
diff --git a/modules/gui/qt/dialogs/sout/convert.cpp b/modules/gui/qt/dialogs/sout/convert.cpp
index 655116748059..7f1616cbf9f4 100644
--- a/modules/gui/qt/dialogs/sout/convert.cpp
+++ b/modules/gui/qt/dialogs/sout/convert.cpp
@@ -27,7 +27,7 @@
 #include "dialogs/sout/sout.hpp"
 #include "dialogs/sout/convert.hpp"
 #include "dialogs/sout/sout_widgets.hpp"
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 
 #include "util/qt_dirs.hpp"
 
diff --git a/modules/gui/qt/dialogs/sout/sout_widgets.cpp b/modules/gui/qt/dialogs/sout/sout_widgets.cpp
index dea970708f6a..067cb6819046 100644
--- a/modules/gui/qt/dialogs/sout/sout_widgets.cpp
+++ b/modules/gui/qt/dialogs/sout/sout_widgets.cpp
@@ -25,7 +25,7 @@
 
 #include "dialogs/sout/sout_widgets.hpp"
 #include "dialogs/sout/sout.hpp"
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 #include "util/soutchain.hpp"
 #include "util/qt_dirs.hpp"
 #include <vlc_intf_strings.h>
diff --git a/modules/gui/qt/maininterface/compositor.cpp b/modules/gui/qt/maininterface/compositor.cpp
index 1425158779e2..87a257af04a6 100644
--- a/modules/gui/qt/maininterface/compositor.cpp
+++ b/modules/gui/qt/maininterface/compositor.cpp
@@ -18,14 +18,14 @@
 
 #include "compositor.hpp"
 #include "compositor_dummy.hpp"
-#include "main_interface.hpp"
+#include "mainctx.hpp"
 #include "video_window_handler.hpp"
 #include "videosurface.hpp"
 #include "interface_window_handler.hpp"
 #include "mainui.hpp"
 
 #ifdef _WIN32
-#include "main_interface_win32.hpp"
+#include "mainctx_win32.hpp"
 #ifdef HAVE_DCOMP_H
 #  include "compositor_dcomp.hpp"
 #endif
@@ -237,13 +237,13 @@ void CompositorVideo::commonWindowDisable()
 
 bool CompositorVideo::commonGUICreateImpl(QWindow* window, CompositorVideo::Flags flags)
 {
-    assert(m_mainInterface);
+    assert(m_mainCtx);
 
     m_videoSurfaceProvider = std::make_unique<VideoSurfaceProvider>();
-    m_mainInterface->setVideoSurfaceProvider(m_videoSurfaceProvider.get());
+    m_mainCtx->setVideoSurfaceProvider(m_videoSurfaceProvider.get());
     if (flags & CompositorVideo::CAN_SHOW_PIP)
     {
-        m_mainInterface->setCanShowVideoPIP(true);
+        m_mainCtx->setCanShowVideoPIP(true);
         connect(m_videoSurfaceProvider.get(), &VideoSurfaceProvider::surfacePositionChanged,
                 this, &CompositorVideo::onSurfacePositionChanged);
         connect(m_videoSurfaceProvider.get(), &VideoSurfaceProvider::surfaceSizeChanged,
@@ -253,17 +253,17 @@ bool CompositorVideo::commonGUICreateImpl(QWindow* window, CompositorVideo::Flag
     m_videoWindowHandler->setWindow( window );
 
 #ifdef _WIN32
-    m_interfaceWindowHandler = std::make_unique<InterfaceWindowHandlerWin32>(m_intf, m_mainInterface, window);
+    m_interfaceWindowHandler = std::make_unique<InterfaceWindowHandlerWin32>(m_intf, m_mainCtx, window);
 #else
-    m_interfaceWindowHandler = std::make_unique<InterfaceWindowHandler>(m_intf, m_mainInterface, window);
+    m_interfaceWindowHandler = std::make_unique<InterfaceWindowHandler>(m_intf, m_mainCtx, window);
 #endif
-    m_mainInterface->setHasAcrylicSurface(flags & CompositorVideo::HAS_ACRYLIC);
+    m_mainCtx->setHasAcrylicSurface(flags & CompositorVideo::HAS_ACRYLIC);
 
 #ifdef _WIN32
     m_taskbarWidget = std::make_unique<WinTaskbarWidget>(m_intf, window);
     qApp->installNativeEventFilter(m_taskbarWidget.get());
 #endif
-    m_ui = std::make_unique<MainUI>(m_intf, m_mainInterface, window);
+    m_ui = std::make_unique<MainUI>(m_intf, m_mainCtx, window);
     return true;
 }
 
diff --git a/modules/gui/qt/maininterface/compositor.hpp b/modules/gui/qt/maininterface/compositor.hpp
index 9aaec41307f4..16625924d894 100644
--- a/modules/gui/qt/maininterface/compositor.hpp
+++ b/modules/gui/qt/maininterface/compositor.hpp
@@ -34,7 +34,7 @@
 #include "qt.hpp"
 
 
-class MainInterface;
+class MainCtx;
 class VideoWindowHandler;
 class VideoSurfaceProvider;
 class InterfaceWindowHandler;
@@ -65,7 +65,7 @@ public:
 
     virtual bool init() = 0;
 
-    virtual bool makeMainInterface(MainInterface* intf) = 0;
+    virtual bool makeMainInterface(MainCtx* intf) = 0;
     virtual void destroyMainInterface() = 0;
 
     virtual void unloadGUI() = 0;
@@ -134,7 +134,7 @@ protected:
     qt_intf_t *m_intf = nullptr;
     vout_window_t* m_wnd = nullptr;
 
-    MainInterface* m_mainInterface = nullptr;
+    MainCtx* m_mainCtx = nullptr;
 
     VoutDestroyCb m_destroyCb = nullptr;
     std::unique_ptr<VideoWindowHandler> m_videoWindowHandler;
diff --git a/modules/gui/qt/maininterface/compositor_dcomp.cpp b/modules/gui/qt/maininterface/compositor_dcomp.cpp
index b6295d4ffd79..72e929fc998a 100644
--- a/modules/gui/qt/maininterface/compositor_dcomp.cpp
+++ b/modules/gui/qt/maininterface/compositor_dcomp.cpp
@@ -22,7 +22,7 @@
 
 #include "compositor_dcomp.hpp"
 
-#include "maininterface/main_interface_win32.hpp"
+#include "maininterface/mainctx_win32.hpp"
 
 #include <comdef.h>
 
@@ -245,12 +245,12 @@ bool CompositorDirectComposition::init()
     return true;
 }
 
-bool CompositorDirectComposition::makeMainInterface(MainInterface* mainInterface)
+bool CompositorDirectComposition::makeMainInterface(MainCtx* mainCtx)
 {
     try
     {
         bool ret;
-        m_mainInterface = mainInterface;
+        m_mainCtx = mainCtx;
 
         m_rootWindow = new QWindow();
 
@@ -279,7 +279,7 @@ bool CompositorDirectComposition::makeMainInterface(MainInterface* mainInterface
 
         auto resetAcrylicSurface = [this](QScreen * = nullptr)
         {
-            m_acrylicSurface.reset(new CompositorDCompositionAcrylicSurface(m_intf, this, m_mainInterface, m_d3d11Device.Get()));
+            m_acrylicSurface.reset(new CompositorDCompositionAcrylicSurface(m_intf, this, m_mainCtx, m_d3d11Device.Get()));
         };
 
         resetAcrylicSurface();
diff --git a/modules/gui/qt/maininterface/compositor_dcomp.hpp b/modules/gui/qt/maininterface/compositor_dcomp.hpp
index 88d65e4794ed..800785b44230 100644
--- a/modules/gui/qt/maininterface/compositor_dcomp.hpp
+++ b/modules/gui/qt/maininterface/compositor_dcomp.hpp
@@ -31,7 +31,7 @@
 
 #include <QOpenGLContext>
 
-class MainInterface;
+class MainCtx;
 class WinTaskbarWidget;
 
 namespace vlc {
@@ -46,7 +46,7 @@ public:
     static bool preInit(qt_intf_t *);
     bool init() override;
 
-    bool makeMainInterface(MainInterface*) override;
+    bool makeMainInterface(MainCtx*) override;
     void destroyMainInterface() override;
     void unloadGUI() override;
 
diff --git a/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp b/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
index e1d49eca39ad..cb552b0fc4a2 100644
--- a/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
+++ b/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
@@ -78,27 +78,27 @@ bool isWinPreIron()
 namespace vlc
 {
 
-CompositorDCompositionAcrylicSurface::CompositorDCompositionAcrylicSurface(qt_intf_t *intf, CompositorDirectComposition *compositor, MainInterface *mainInterface, ID3D11Device *device, QObject *parent)
+CompositorDCompositionAcrylicSurface::CompositorDCompositionAcrylicSurface(qt_intf_t *intf, CompositorDirectComposition *compositor, MainCtx *mainCtx, ID3D11Device *device, QObject *parent)
     : QObject(parent)
     , m_intf {intf}
     , m_compositor {compositor}
-    , m_mainInterface {mainInterface}
+    , m_mainCtx {mainCtx}
 {
     if (!init(device))
         return;
 
     qApp->installNativeEventFilter(this);
 
-    setActive(m_transparencyEnabled && m_mainInterface->acrylicActive());
-    connect(m_mainInterface, &MainInterface::acrylicActiveChanged, this, [this]()
+    setActive(m_transparencyEnabled && m_mainCtx->acrylicActive());
+    connect(m_mainCtx, &MainCtx::acrylicActiveChanged, this, [this]()
     {
-        setActive(m_transparencyEnabled && m_mainInterface->acrylicActive());
+        setActive(m_transparencyEnabled && m_mainCtx->acrylicActive());
     });
 }
 
 CompositorDCompositionAcrylicSurface::~CompositorDCompositionAcrylicSurface()
 {
-    m_mainInterface->setHasAcrylicSurface(false);
+    m_mainCtx->setHasAcrylicSurface(false);
 
     if (m_dummyWindow)
         DestroyWindow(m_dummyWindow);
@@ -133,8 +133,8 @@ bool CompositorDCompositionAcrylicSurface::nativeEventFilter(const QByteArray &e
                 break;
 
             m_transparencyEnabled = transparencyEnabled;
-            m_mainInterface->setHasAcrylicSurface(m_transparencyEnabled);
-            setActive(m_transparencyEnabled && m_mainInterface->acrylicActive());
+            m_mainCtx->setHasAcrylicSurface(m_transparencyEnabled);
+            setActive(m_transparencyEnabled && m_mainCtx->acrylicActive());
         }
         break;
     }
@@ -168,7 +168,7 @@ bool CompositorDCompositionAcrylicSurface::init(ID3D11Device *device)
     }
 
     m_transparencyEnabled = isTransparencyEnabled();
-    m_mainInterface->setHasAcrylicSurface(m_transparencyEnabled);
+    m_mainCtx->setHasAcrylicSurface(m_transparencyEnabled);
 
     return true;
 }
@@ -342,7 +342,7 @@ void CompositorDCompositionAcrylicSurface::sync()
     int frameX = 0;
     int frameY = 0;
 
-    if (!m_mainInterface->useClientSideDecoration())
+    if (!m_mainCtx->useClientSideDecoration())
     {
         frameX = GetSystemMetrics(SM_CXFRAME) + GetSystemMetrics(SM_CXPADDEDBORDER);
         frameY = GetSystemMetrics(SM_CYFRAME) + GetSystemMetrics(SM_CYCAPTION)
diff --git a/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.hpp b/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.hpp
index 2f8fb4c0f587..265d201e45b7 100644
--- a/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.hpp
+++ b/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.hpp
@@ -38,7 +38,7 @@
 #include <dwmapi.h>
 
 #include "compositor_dcomp_error.hpp"
-#include "main_interface.hpp"
+#include "mainctx.hpp"
 
 // Windows Private APIs, taken from https://blog.adeltax.com/dwm-thumbnails-but-with-idcompositionvisual/
 
@@ -170,7 +170,7 @@ class CompositorDCompositionAcrylicSurface
     Q_OBJECT
 
 public:
-    CompositorDCompositionAcrylicSurface(qt_intf_t * intf, CompositorDirectComposition *compositor, MainInterface *mainInterface, ID3D11Device *device, QObject *parent = nullptr);
+    CompositorDCompositionAcrylicSurface(qt_intf_t * intf, CompositorDirectComposition *compositor, MainCtx *mainctx, ID3D11Device *device, QObject *parent = nullptr);
 
     ~CompositorDCompositionAcrylicSurface();
 
@@ -225,7 +225,7 @@ private:
 
     qt_intf_t *m_intf = nullptr;
     CompositorDirectComposition *m_compositor = nullptr;
-    MainInterface *m_mainInterface = nullptr;
+    MainCtx *m_mainCtx = nullptr;
     QBasicTimer m_resetTimer;
     bool m_resetPending = false;
     bool m_active = false;
diff --git a/modules/gui/qt/maininterface/compositor_dummy.cpp b/modules/gui/qt/maininterface/compositor_dummy.cpp
index d19635f644eb..7b007ea064a5 100644
--- a/modules/gui/qt/maininterface/compositor_dummy.cpp
+++ b/modules/gui/qt/maininterface/compositor_dummy.cpp
@@ -19,7 +19,7 @@
 
 #include <QQuickView>
 
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 #include "maininterface/mainui.hpp"
 #include "maininterface/interface_window_handler.hpp"
 
@@ -45,18 +45,18 @@ bool CompositorDummy::init()
     return true;
 }
 
-bool CompositorDummy::makeMainInterface(MainInterface* mainInterface)
+bool CompositorDummy::makeMainInterface(MainCtx* mainCtx)
 {
-    m_mainInterface = mainInterface;
+    m_mainCtx = mainCtx;
 
     m_qmlWidget = std::make_unique<QQuickView>();
-    if (m_mainInterface->useClientSideDecoration())
+    if (m_mainCtx->useClientSideDecoration())
         m_qmlWidget->setFlag(Qt::FramelessWindowHint);
     m_qmlWidget->setResizeMode(QQuickView::SizeRootObjectToView);
 
-    m_intfWindowHandler = std::make_unique<InterfaceWindowHandler>(m_intf, m_mainInterface, m_qmlWidget.get());
+    m_intfWindowHandler = std::make_unique<InterfaceWindowHandler>(m_intf, m_mainCtx, m_qmlWidget.get());
 
-    MainUI* ui = new MainUI(m_intf, m_mainInterface, m_qmlWidget.get(), m_qmlWidget.get());
+    MainUI* ui = new MainUI(m_intf, m_mainCtx, m_qmlWidget.get(), m_qmlWidget.get());
     ui->setup(m_qmlWidget->engine());
     m_qmlWidget->setContent(QUrl(), ui->getComponent(), ui->createRootItem());
 
diff --git a/modules/gui/qt/maininterface/compositor_dummy.hpp b/modules/gui/qt/maininterface/compositor_dummy.hpp
index 5423158f5327..2fcd913f7e9b 100644
--- a/modules/gui/qt/maininterface/compositor_dummy.hpp
+++ b/modules/gui/qt/maininterface/compositor_dummy.hpp
@@ -25,7 +25,7 @@
 #include <memory>
 #include "compositor.hpp"
 
-class MainInterface;
+class MainCtx;
 class QQuickView;
 class InterfaceWindowHandler;
 
@@ -41,7 +41,7 @@ public:
     static bool preInit(qt_intf_t*);
     virtual bool init() override;
 
-    virtual bool makeMainInterface(MainInterface*) override;
+    virtual bool makeMainInterface(MainCtx*) override;
 
     /**
      * @brief release all resources used by the compositor.
@@ -65,7 +65,7 @@ protected:
     qt_intf_t *m_intf;
 
     std::unique_ptr<InterfaceWindowHandler> m_intfWindowHandler;
-    MainInterface* m_mainInterface;
+    MainCtx* m_mainCtx;
     std::unique_ptr<QQuickView> m_qmlWidget;
 };
 
diff --git a/modules/gui/qt/maininterface/compositor_win7.cpp b/modules/gui/qt/maininterface/compositor_win7.cpp
index d8e513b030c3..286ce30d7fec 100644
--- a/modules/gui/qt/maininterface/compositor_win7.cpp
+++ b/modules/gui/qt/maininterface/compositor_win7.cpp
@@ -16,7 +16,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 #include "compositor_win7.hpp"
-#include "main_interface_win32.hpp"
+#include "mainctx_win32.hpp"
 #include "mainui.hpp"
 
 #include <d3d11.h>
@@ -97,12 +97,12 @@ bool CompositorWin7::init()
     return true;
 }
 
-bool CompositorWin7::makeMainInterface(MainInterface* mainInterface)
+bool CompositorWin7::makeMainInterface(MainCtx* mainCtx)
 {
-    m_mainInterface = mainInterface;
+    m_mainCtx = mainCtx;
 
     /*
-     * m_stable is not attached to the main interface because dialogs are attached to the mainInterface
+     * m_stable is not attached to the main interface because dialogs are attached to the mainCtx
      * and showing them would raise the video widget above the interface
      */
     m_videoWidget = new QWidget(nullptr, Qt::Tool | Qt::FramelessWindowHint);
diff --git a/modules/gui/qt/maininterface/compositor_win7.hpp b/modules/gui/qt/maininterface/compositor_win7.hpp
index 2e78c80a1809..fab7e186879c 100644
--- a/modules/gui/qt/maininterface/compositor_win7.hpp
+++ b/modules/gui/qt/maininterface/compositor_win7.hpp
@@ -50,7 +50,7 @@ public:
     static bool preInit(qt_intf_t *p_intf);
     virtual bool init() override;
 
-    virtual bool makeMainInterface(MainInterface*) override;
+    virtual bool makeMainInterface(MainCtx*) override;
     virtual void destroyMainInterface() override;
     virtual void unloadGUI() override;
     virtual bool setupVoutWindow(vout_window_t*, VoutDestroyCb destroyCb) override;
diff --git a/modules/gui/qt/maininterface/compositor_x11.cpp b/modules/gui/qt/maininterface/compositor_x11.cpp
index c6d86c0caef5..1049056f1ba3 100644
--- a/modules/gui/qt/maininterface/compositor_x11.cpp
+++ b/modules/gui/qt/maininterface/compositor_x11.cpp
@@ -22,7 +22,7 @@
 #include "compositor_x11.hpp"
 #include "compositor_x11_renderwindow.hpp"
 #include "compositor_x11_uisurface.hpp"
-#include "main_interface.hpp"
+#include "mainctx.hpp"
 #include "interface_window_handler.hpp"
 #include "video_window_handler.hpp"
 #include "mainui.hpp"
@@ -142,9 +142,9 @@ bool CompositorX11::init()
     return true;
 }
 
-bool CompositorX11::makeMainInterface(MainInterface* mainInterface)
+bool CompositorX11::makeMainInterface(MainCtx* mainCtx)
 {
-    m_mainInterface = mainInterface;
+    m_mainCtx = mainCtx;
 
     m_videoWidget = std::make_unique<DummyNativeWidget>();
     m_videoWidget->setWindowFlag(Qt::WindowType::BypassWindowManagerHint);
@@ -152,7 +152,7 @@ bool CompositorX11::makeMainInterface(MainInterface* mainInterface)
     m_videoWidget->winId();
     m_videoWidget->show();
 
-    bool useCSD = m_mainInterface->useClientSideDecoration();
+    bool useCSD = m_mainCtx->useClientSideDecoration();
     m_renderWindow = std::make_unique<vlc::CompositorX11RenderWindow>(m_intf, m_conn, useCSD);
     if (!m_renderWindow->init())
         return false;
diff --git a/modules/gui/qt/maininterface/compositor_x11.hpp b/modules/gui/qt/maininterface/compositor_x11.hpp
index 3cc316659739..80f8d2056ce6 100644
--- a/modules/gui/qt/maininterface/compositor_x11.hpp
+++ b/modules/gui/qt/maininterface/compositor_x11.hpp
@@ -45,7 +45,7 @@ public:
     static bool preInit(qt_intf_t *);
     bool init() override;
 
-    bool makeMainInterface(MainInterface*) override;
+    bool makeMainInterface(MainCtx*) override;
     void destroyMainInterface() override;
     void unloadGUI() override;
 
diff --git a/modules/gui/qt/maininterface/interface_window_handler.cpp b/modules/gui/qt/maininterface/interface_window_handler.cpp
index da59e80c72ab..e8a5e2996fb2 100644
--- a/modules/gui/qt/maininterface/interface_window_handler.cpp
+++ b/modules/gui/qt/maininterface/interface_window_handler.cpp
@@ -16,19 +16,19 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 #include "interface_window_handler.hpp"
-#include "main_interface.hpp"
+#include "mainctx.hpp"
 #include <player/player_controller.hpp>
 #include <playlist/playlist_controller.hpp>
 #include <QScreen>
 
-InterfaceWindowHandler::InterfaceWindowHandler(qt_intf_t *_p_intf, MainInterface* mainInterface, QWindow* window, QObject *parent)
+InterfaceWindowHandler::InterfaceWindowHandler(qt_intf_t *_p_intf, MainCtx* mainCtx, QWindow* window, QObject *parent)
     : QObject(parent)
     , p_intf(_p_intf)
     , m_window(window)
-    , m_mainInterface(mainInterface)
+    , m_mainCtx(mainCtx)
 {
     assert(m_window);
-    assert(m_mainInterface);
+    assert(m_mainCtx);
 
     /* */
     m_pauseOnMinimize = var_InheritBool( p_intf, "qt-pause-minimized" );
@@ -45,10 +45,10 @@ InterfaceWindowHandler::InterfaceWindowHandler(qt_intf_t *_p_intf, MainInterface
     {
         QVLCTools::restoreWindowPosition( getSettings(), m_window, QSize(600, 420) );
 
-        WindowStateHolder::holdOnTop( m_window,  WindowStateHolder::INTERFACE, m_mainInterface->isInterfaceAlwaysOnTop() );
+        WindowStateHolder::holdOnTop( m_window,  WindowStateHolder::INTERFACE, m_mainCtx->isInterfaceAlwaysOnTop() );
         WindowStateHolder::holdFullscreen( m_window,  WindowStateHolder::INTERFACE, m_window->visibility() == QWindow::FullScreen );
 
-        if (m_mainInterface->isHideAfterCreation())
+        if (m_mainCtx->isHideAfterCreation())
             m_window->hide();
     }, Qt::QueuedConnection, nullptr);
 
@@ -59,45 +59,45 @@ InterfaceWindowHandler::InterfaceWindowHandler(qt_intf_t *_p_intf, MainInterface
         connect( THEMIM, &PlayerController::nameChanged, m_window, &QWindow::setTitle );
     }
 
-    connect( m_window, &QWindow::screenChanged, m_mainInterface, &MainInterface::updateIntfScaleFactor);
-    m_mainInterface->updateIntfScaleFactor();
+    connect( m_window, &QWindow::screenChanged, m_mainCtx, &MainCtx::updateIntfScaleFactor);
+    m_mainCtx->updateIntfScaleFactor();
 
-    m_mainInterface->onWindowVisibilityChanged(m_window->visibility());
+    m_mainCtx->onWindowVisibilityChanged(m_window->visibility());
     connect( m_window, &QWindow::visibilityChanged,
-             m_mainInterface, &MainInterface::onWindowVisibilityChanged);
+             m_mainCtx, &MainCtx::onWindowVisibilityChanged);
 
-    connect( m_mainInterface, &MainInterface::askBoss,
+    connect( m_mainCtx, &MainCtx::askBoss,
              this, &InterfaceWindowHandler::setBoss, Qt::QueuedConnection  );
-    connect( m_mainInterface, &MainInterface::askRaise,
+    connect( m_mainCtx, &MainCtx::askRaise,
              this, &InterfaceWindowHandler::setRaise, Qt::QueuedConnection  );
 
-    connect( m_mainInterface, &MainInterface::interfaceAlwaysOnTopChanged,
+    connect( m_mainCtx, &MainCtx::interfaceAlwaysOnTopChanged,
              this, &InterfaceWindowHandler::setInterfaceAlwaysOnTop);
 
-    connect( m_mainInterface, &MainInterface::setInterfaceFullScreen,
+    connect( m_mainCtx, &MainCtx::setInterfaceFullScreen,
              this, &InterfaceWindowHandler::setInterfaceFullScreen);
 
-    connect( m_mainInterface, &MainInterface::toggleWindowVisibility,
+    connect( m_mainCtx, &MainCtx::toggleWindowVisibility,
              this, &InterfaceWindowHandler::toggleWindowVisiblity);
 
-    connect( m_mainInterface, &MainInterface::setInterfaceVisibible,
+    connect( m_mainCtx, &MainCtx::setInterfaceVisibible,
              this, &InterfaceWindowHandler::setInterfaceVisible);
 
     connect(this, &InterfaceWindowHandler::incrementIntfUserScaleFactor,
-            m_mainInterface, &MainInterface::incrementIntfUserScaleFactor);
+            m_mainCtx, &MainCtx::incrementIntfUserScaleFactor);
 
 #if QT_CLIENT_SIDE_DECORATION_AVAILABLE
-    connect( m_mainInterface, &MainInterface::useClientSideDecorationChanged,
+    connect( m_mainCtx, &MainCtx::useClientSideDecorationChanged,
              this, &InterfaceWindowHandler::updateCSDWindowSettings );
 #endif
 
-    connect(m_mainInterface, &MainInterface::requestInterfaceMaximized,
+    connect(m_mainCtx, &MainCtx::requestInterfaceMaximized,
             m_window, &QWindow::showMaximized);
 
-    connect(m_mainInterface, &MainInterface::requestInterfaceNormal,
+    connect(m_mainCtx, &MainCtx::requestInterfaceNormal,
             m_window, &QWindow::showNormal);
 
-    connect(m_mainInterface, &MainInterface::requestInterfaceMinimized,
+    connect(m_mainCtx, &MainCtx::requestInterfaceMinimized,
             m_window, [this]()
     {
         // taking OR with the current state, we preserve the current state
@@ -121,7 +121,7 @@ InterfaceWindowHandler::~InterfaceWindowHandler()
 void InterfaceWindowHandler::updateCSDWindowSettings()
 {
     m_window->hide(); // some window managers don't like to change frame window hint on visible window
-    m_window->setFlag(Qt::FramelessWindowHint, m_mainInterface->useClientSideDecoration());
+    m_window->setFlag(Qt::FramelessWindowHint, m_mainCtx->useClientSideDecoration());
     m_window->show();
 }
 #endif
@@ -213,12 +213,12 @@ bool InterfaceWindowHandler::eventFilter(QObject*, QEvent* event)
     case QEvent::Drop:
     {
         auto dropEvent = static_cast<QDropEvent*>(event);
-        m_mainInterface->dropEventPlay(dropEvent, true);
+        m_mainCtx->dropEventPlay(dropEvent, true);
         return true;
     }
     case QEvent::Close:
     {
-        bool ret = m_mainInterface->onWindowClose(m_window);
+        bool ret = m_mainCtx->onWindowClose(m_window);
         if (ret)
         {
             /* Accept session quit. Otherwise we break the desktop mamager. */
@@ -316,7 +316,7 @@ void InterfaceWindowHandler::setRaise()
 void InterfaceWindowHandler::setBoss()
 {
     THEMPL->pause();
-    if( m_mainInterface->getSysTray() )
+    if( m_mainCtx->getSysTray() )
     {
         m_window->hide();
     }
diff --git a/modules/gui/qt/maininterface/interface_window_handler.hpp b/modules/gui/qt/maininterface/interface_window_handler.hpp
index 381accb26246..3c7fac93f20a 100644
--- a/modules/gui/qt/maininterface/interface_window_handler.hpp
+++ b/modules/gui/qt/maininterface/interface_window_handler.hpp
@@ -23,12 +23,12 @@
 #include <QObject>
 #include <QWindow>
 
-class MainInterface;
+class MainCtx;
 class InterfaceWindowHandler : public QObject
 {
     Q_OBJECT
 public:
-    explicit InterfaceWindowHandler(qt_intf_t *_p_intf, MainInterface* mainInterface, QWindow* window, QObject *parent = nullptr);
+    explicit InterfaceWindowHandler(qt_intf_t *_p_intf, MainCtx* mainCtx, QWindow* window, QObject *parent = nullptr);
     virtual ~InterfaceWindowHandler();
 
 public slots:
@@ -62,7 +62,7 @@ private:
 protected:
     qt_intf_t* p_intf = nullptr;
     QWindow* m_window = nullptr;
-    MainInterface* m_mainInterface = nullptr;
+    MainCtx* m_mainCtx = nullptr;
 
     bool m_hasPausedWhenMinimized = false;
 
diff --git a/modules/gui/qt/maininterface/main_interface.cpp b/modules/gui/qt/maininterface/mainctx.cpp
similarity index 85%
rename from modules/gui/qt/maininterface/main_interface.cpp
rename to modules/gui/qt/maininterface/mainctx.cpp
index ebf310fd27e1..16dffeb33a2c 100644
--- a/modules/gui/qt/maininterface/main_interface.cpp
+++ b/modules/gui/qt/maininterface/mainctx.cpp
@@ -28,7 +28,7 @@
 
 #include "qt.hpp"
 
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 #include "compositor.hpp"
 #include "player/player_controller.hpp"                    // Creation
 #include "util/renderer_manager.hpp"
@@ -95,7 +95,7 @@ static int IntfRaiseMainCB( vlc_object_t *p_this, const char *psz_variable,
                            vlc_value_t old_val, vlc_value_t new_val,
                            void *param );
 
-const QEvent::Type MainInterface::ToolbarsNeedRebuild =
+const QEvent::Type MainCtx::ToolbarsNeedRebuild =
         (QEvent::Type)QEvent::registerEventType();
 
 namespace
@@ -118,7 +118,7 @@ bool loadVLCOption<bool>(vlc_object_t *obj, const char *name)
 
 }
 
-MainInterface::MainInterface(qt_intf_t *_p_intf)
+MainCtx::MainCtx(qt_intf_t *_p_intf)
     : p_intf(_p_intf)
 {
     /**
@@ -156,7 +156,7 @@ MainInterface::MainInterface(qt_intf_t *_p_intf)
      * Create the Systray Management *
      *********************************/
     //postpone systray initialisation to speedup starting time
-    QMetaObject::invokeMethod(this, &MainInterface::initSystray, Qt::QueuedConnection);
+    QMetaObject::invokeMethod(this, &MainCtx::initSystray, Qt::QueuedConnection);
 
     /*************************************************************
      * Connect the input manager to the GUI elements it manages  *
@@ -168,14 +168,14 @@ MainInterface::MainInterface(qt_intf_t *_p_intf)
      **/
     /* Main Interface statusbar */
     /* and title of the Main Interface*/
-    connect( THEMIM, &PlayerController::inputChanged, this, &MainInterface::onInputChanged );
+    connect( THEMIM, &PlayerController::inputChanged, this, &MainCtx::onInputChanged );
 
     /* END CONNECTS ON IM */
 
     /* VideoWidget connects for asynchronous calls */
-    connect( this, &MainInterface::askToQuit, THEDP, &DialogsProvider::quit, Qt::QueuedConnection  );
+    connect( this, &MainCtx::askToQuit, THEDP, &DialogsProvider::quit, Qt::QueuedConnection  );
 
-    connect(this, &MainInterface::interfaceFullScreenChanged, this, &MainInterface::useClientSideDecorationChanged);
+    connect(this, &MainCtx::interfaceFullScreenChanged, this, &MainCtx::useClientSideDecorationChanged);
 
     /** END of CONNECTS**/
 
@@ -200,7 +200,7 @@ MainInterface::MainInterface(qt_intf_t *_p_intf)
     }
 }
 
-MainInterface::~MainInterface()
+MainCtx::~MainCtx()
 {
     RendererManager::killInstance();
 
@@ -236,7 +236,7 @@ MainInterface::~MainInterface()
     p_intf->p_mi = NULL;
 }
 
-bool MainInterface::hasVLM() const {
+bool MainCtx::hasVLM() const {
 #ifdef ENABLE_VLM
     return true;
 #else
@@ -244,13 +244,13 @@ bool MainInterface::hasVLM() const {
 #endif
 }
 
-bool MainInterface::useClientSideDecoration() const
+bool MainCtx::useClientSideDecoration() const
 {
     //don't show CSD when interface is fullscreen
     return !m_windowTitlebar && m_windowVisibility != QWindow::FullScreen;
 }
 
-bool MainInterface::hasFirstrun() const {
+bool MainCtx::hasFirstrun() const {
     return config_GetInt( "qt-privacy-ask" );
 }
 
@@ -258,10 +258,10 @@ bool MainInterface::hasFirstrun() const {
  *   Main UI handling        *
  *****************************/
 
-void MainInterface::loadPrefs(const bool callSignals)
+void MainCtx::loadPrefs(const bool callSignals)
 {
     const auto loadFromVLCOption = [this, callSignals](auto &variable, const char *name
-            , const std::function<void(MainInterface *)> signal)
+            , const std::function<void(MainCtx *)> signal)
     {
         using variableType = std::remove_reference_t<decltype(variable)>;
 
@@ -281,19 +281,19 @@ void MainInterface::loadPrefs(const bool callSignals)
     loadFromVLCOption(i_notificationSetting, "qt-notification", nullptr);
 
     /* Should the UI stays on top of other windows */
-    loadFromVLCOption(b_interfaceOnTop, "video-on-top", [this](MainInterface *)
+    loadFromVLCOption(b_interfaceOnTop, "video-on-top", [this](MainCtx *)
     {
         emit interfaceAlwaysOnTopChanged(b_interfaceOnTop);
     });
 
-    loadFromVLCOption(m_hasToolbarMenu, "qt-menubar", &MainInterface::hasToolbarMenuChanged);
+    loadFromVLCOption(m_hasToolbarMenu, "qt-menubar", &MainCtx::hasToolbarMenuChanged);
 
 #if QT_CLIENT_SIDE_DECORATION_AVAILABLE
-    loadFromVLCOption(m_windowTitlebar, "qt-titlebar" , &MainInterface::useClientSideDecorationChanged);
+    loadFromVLCOption(m_windowTitlebar, "qt-titlebar" , &MainCtx::useClientSideDecorationChanged);
 #endif
 }
 
-void MainInterface::loadFromSettingsImpl(const bool callSignals)
+void MainCtx::loadFromSettingsImpl(const bool callSignals)
 {
     const auto loadFromSettings = [this, callSignals](auto &variable, const char *name
             , const auto defaultValue, auto signal)
@@ -309,17 +309,17 @@ void MainInterface::loadFromSettingsImpl(const bool callSignals)
             (this->*signal)(variable);
     };
 
-    loadFromSettings(b_playlistDocked, "MainWindow/pl-dock-status", true, &MainInterface::playlistDockedChanged);
+    loadFromSettings(b_playlistDocked, "MainWindow/pl-dock-status", true, &MainCtx::playlistDockedChanged);
 
-    loadFromSettings(playlistVisible, "MainWindow/playlist-visible", false, &MainInterface::playlistVisibleChanged);
+    loadFromSettings(playlistVisible, "MainWindow/playlist-visible", false, &MainCtx::playlistVisibleChanged);
 
-    loadFromSettings(playlistWidthFactor, "MainWindow/playlist-width-factor", 4.0 , &MainInterface::playlistWidthFactorChanged);
+    loadFromSettings(playlistWidthFactor, "MainWindow/playlist-width-factor", 4.0 , &MainCtx::playlistWidthFactorChanged);
 
-    loadFromSettings(m_gridView, "MainWindow/grid-view", true, &MainInterface::gridViewChanged);
+    loadFromSettings(m_gridView, "MainWindow/grid-view", true, &MainCtx::gridViewChanged);
 
-    loadFromSettings(m_showRemainingTime, "MainWindow/ShowRemainingTime", false, &MainInterface::showRemainingTimeChanged);
+    loadFromSettings(m_showRemainingTime, "MainWindow/ShowRemainingTime", false, &MainCtx::showRemainingTimeChanged);
 
-    loadFromSettings(m_pinVideoControls, "MainWindow/pin-video-controls", false, &MainInterface::pinVideoControlsChanged);
+    loadFromSettings(m_pinVideoControls, "MainWindow/pin-video-controls", false, &MainCtx::pinVideoControlsChanged);
 
     const auto colorScheme = static_cast<ColorSchemeModel::ColorScheme>(getSettings()->value( "MainWindow/color-scheme", ColorSchemeModel::System ).toInt());
     if (m_colorScheme->currentScheme() != colorScheme)
@@ -336,24 +336,24 @@ void MainInterface::loadFromSettingsImpl(const bool callSignals)
     }
 }
 
-void MainInterface::reloadPrefs()
+void MainCtx::reloadPrefs()
 {
     loadPrefs(true);
 }
 
-void MainInterface::onInputChanged( bool hasInput )
+void MainCtx::onInputChanged( bool hasInput )
 {
     if( hasInput == false )
         return;
     int autoRaise = var_InheritInteger( p_intf, "qt-auto-raise" );
-    if ( autoRaise == MainInterface::RAISE_NEVER )
+    if ( autoRaise == MainCtx::RAISE_NEVER )
         return;
     if( THEMIM->hasVideoOutput() == true )
     {
-        if( ( autoRaise & MainInterface::RAISE_VIDEO ) == 0 )
+        if( ( autoRaise & MainCtx::RAISE_VIDEO ) == 0 )
             return;
     }
-    else if ( ( autoRaise & MainInterface::RAISE_AUDIO ) == 0 )
+    else if ( ( autoRaise & MainCtx::RAISE_AUDIO ) == 0 )
         return;
     emit askRaise();
 }
@@ -361,14 +361,14 @@ void MainInterface::onInputChanged( bool hasInput )
 #ifdef KeyPress
 #undef KeyPress
 #endif
-void MainInterface::sendHotkey(Qt::Key key , Qt::KeyboardModifiers modifiers)
+void MainCtx::sendHotkey(Qt::Key key , Qt::KeyboardModifiers modifiers)
 {
     QKeyEvent event(QEvent::KeyPress, key, modifiers );
     int vlckey = qtEventToVLCKey(&event);
     var_SetInteger(vlc_object_instance(p_intf), "key-pressed", vlckey);
 }
 
-void MainInterface::updateIntfScaleFactor()
+void MainCtx::updateIntfScaleFactor()
 {
     m_intfScaleFactor = m_intfUserScaleFactor;
     if (QWindow* window = p_intf->p_compositor ? p_intf->p_compositor->interfaceMainWindow() : nullptr)
@@ -383,12 +383,12 @@ void MainInterface::updateIntfScaleFactor()
     emit intfScaleFactorChanged();
 }
 
-void MainInterface::onWindowVisibilityChanged(QWindow::Visibility visibility)
+void MainCtx::onWindowVisibilityChanged(QWindow::Visibility visibility)
 {
     m_windowVisibility = visibility;
 }
 
-void MainInterface::setHasAcrylicSurface(const bool v)
+void MainCtx::setHasAcrylicSurface(const bool v)
 {
     if (m_hasAcrylicSurface == v)
         return;
@@ -397,7 +397,7 @@ void MainInterface::setHasAcrylicSurface(const bool v)
     emit hasAcrylicSurfaceChanged();
 }
 
-void MainInterface::incrementIntfUserScaleFactor(bool increment)
+void MainCtx::incrementIntfUserScaleFactor(bool increment)
 {
     if (increment)
         setIntfUserScaleFactor(m_intfUserScaleFactor + 0.1);
@@ -405,13 +405,13 @@ void MainInterface::incrementIntfUserScaleFactor(bool increment)
         setIntfUserScaleFactor(m_intfUserScaleFactor - 0.1);
 }
 
-void MainInterface::setIntfUserScaleFactor(double newValue)
+void MainCtx::setIntfUserScaleFactor(double newValue)
 {
     m_intfUserScaleFactor = qBound(getMinIntfUserScaleFactor(), newValue, getMaxIntfUserScaleFactor());
     updateIntfScaleFactor();
 }
 
-void MainInterface::setPinVideoControls(bool pinVideoControls)
+void MainCtx::setPinVideoControls(bool pinVideoControls)
 {
     if (m_pinVideoControls == pinVideoControls)
         return;
@@ -420,7 +420,7 @@ void MainInterface::setPinVideoControls(bool pinVideoControls)
     emit pinVideoControlsChanged(m_pinVideoControls);
 }
 
-inline void MainInterface::initSystray()
+inline void MainCtx::initSystray()
 {
     bool b_systrayAvailable = QSystemTrayIcon::isSystemTrayAvailable();
     bool b_systrayWanted = var_InheritBool( p_intf, "qt-system-tray" );
@@ -441,21 +441,21 @@ inline void MainInterface::initSystray()
 }
 
 
-void MainInterface::setPlaylistDocked( bool docked )
+void MainCtx::setPlaylistDocked( bool docked )
 {
     b_playlistDocked = docked;
 
     emit playlistDockedChanged(docked);
 }
 
-void MainInterface::setPlaylistVisible( bool visible )
+void MainCtx::setPlaylistVisible( bool visible )
 {
     playlistVisible = visible;
 
     emit playlistVisibleChanged(visible);
 }
 
-void MainInterface::setPlaylistWidthFactor( double factor )
+void MainCtx::setPlaylistWidthFactor( double factor )
 {
     if (factor > 0.0)
     {
@@ -464,42 +464,42 @@ void MainInterface::setPlaylistWidthFactor( double factor )
     }
 }
 
-void MainInterface::setShowRemainingTime( bool show )
+void MainCtx::setShowRemainingTime( bool show )
 {
     m_showRemainingTime = show;
     emit showRemainingTimeChanged(show);
 }
 
-void MainInterface::setGridView(bool asGrid)
+void MainCtx::setGridView(bool asGrid)
 {
     m_gridView = asGrid;
     emit gridViewChanged( asGrid );
 }
 
-void MainInterface::setInterfaceAlwaysOnTop( bool on_top )
+void MainCtx::setInterfaceAlwaysOnTop( bool on_top )
 {
     b_interfaceOnTop = on_top;
     emit interfaceAlwaysOnTopChanged(on_top);
 }
 
-bool MainInterface::hasEmbededVideo() const
+bool MainCtx::hasEmbededVideo() const
 {
     return m_videoSurfaceProvider && m_videoSurfaceProvider->hasVideoEmbed();
 }
 
-void MainInterface::setVideoSurfaceProvider(VideoSurfaceProvider* videoSurfaceProvider)
+void MainCtx::setVideoSurfaceProvider(VideoSurfaceProvider* videoSurfaceProvider)
 {
     if (m_videoSurfaceProvider)
-        disconnect(m_videoSurfaceProvider, &VideoSurfaceProvider::hasVideoEmbedChanged, this, &MainInterface::hasEmbededVideoChanged);
+        disconnect(m_videoSurfaceProvider, &VideoSurfaceProvider::hasVideoEmbedChanged, this, &MainCtx::hasEmbededVideoChanged);
     m_videoSurfaceProvider = videoSurfaceProvider;
     if (m_videoSurfaceProvider)
         connect(m_videoSurfaceProvider, &VideoSurfaceProvider::hasVideoEmbedChanged,
-                this, &MainInterface::hasEmbededVideoChanged,
+                this, &MainCtx::hasEmbededVideoChanged,
                 Qt::QueuedConnection);
     emit hasEmbededVideoChanged(m_videoSurfaceProvider && m_videoSurfaceProvider->hasVideoEmbed());
 }
 
-VideoSurfaceProvider* MainInterface::getVideoSurfaceProvider() const
+VideoSurfaceProvider* MainCtx::getVideoSurfaceProvider() const
 {
     return m_videoSurfaceProvider;
 }
@@ -511,7 +511,7 @@ VideoSurfaceProvider* MainInterface::getVideoSurfaceProvider() const
  * Create a SystemTray icon and a menu that would go with it.
  * Connects to a click handler on the icon.
  **/
-void MainInterface::createSystray()
+void MainCtx::createSystray()
 {
     QIcon iconVLC;
     if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY && var_InheritBool( p_intf, "qt-icon-change" ) )
@@ -528,20 +528,20 @@ void MainInterface::createSystray()
     sysTray->show();
 
     connect( sysTray, &QSystemTrayIcon::activated,
-             this, &MainInterface::handleSystrayClick );
+             this, &MainCtx::handleSystrayClick );
 
     /* Connects on nameChanged() */
     connect( THEMIM, &PlayerController::nameChanged,
-             this, &MainInterface::updateSystrayTooltipName );
+             this, &MainCtx::updateSystrayTooltipName );
     /* Connect PLAY_STATUS on the systray */
     connect( THEMIM, &PlayerController::playingStateChanged,
-             this, &MainInterface::updateSystrayTooltipStatus );
+             this, &MainCtx::updateSystrayTooltipStatus );
 }
 
 /**
  * Updates the Systray Icon's menu and toggle the main interface
  */
-void MainInterface::toggleUpdateSystrayMenu()
+void MainCtx::toggleUpdateSystrayMenu()
 {
     emit toggleWindowVisibility();
     if( sysTray )
@@ -549,21 +549,21 @@ void MainInterface::toggleUpdateSystrayMenu()
 }
 
 /* First Item of the systray menu */
-void MainInterface::showUpdateSystrayMenu()
+void MainCtx::showUpdateSystrayMenu()
 {
     emit setInterfaceVisibible(true);
     VLCMenuBar::updateSystrayMenu( this, p_intf );
 }
 
 /* First Item of the systray menu */
-void MainInterface::hideUpdateSystrayMenu()
+void MainCtx::hideUpdateSystrayMenu()
 {
     emit setInterfaceVisibible(false);
     VLCMenuBar::updateSystrayMenu( this, p_intf );
 }
 
 /* Click on systray Icon */
-void MainInterface::handleSystrayClick(
+void MainCtx::handleSystrayClick(
                                     QSystemTrayIcon::ActivationReason reason )
 {
     switch( reason )
@@ -590,7 +590,7 @@ void MainInterface::handleSystrayClick(
  * Updates the name of the systray Icon tooltip.
  * Doesn't check if the systray exists, check before you call it.
  **/
-void MainInterface::updateSystrayTooltipName( const QString& name )
+void MainCtx::updateSystrayTooltipName( const QString& name )
 {
     if( name.isEmpty() )
     {
@@ -614,7 +614,7 @@ void MainInterface::updateSystrayTooltipName( const QString& name )
  * Updates the status of the systray Icon tooltip.
  * Doesn't check if the systray exists, check before you call it.
  **/
-void MainInterface::updateSystrayTooltipStatus( PlayerController::PlayingState )
+void MainCtx::updateSystrayTooltipStatus( PlayerController::PlayingState )
 {
     VLCMenuBar::updateSystrayMenu( this, p_intf );
 }
@@ -632,7 +632,7 @@ void MainInterface::updateSystrayTooltipStatus( PlayerController::PlayingState )
  * \param b_play whether to play the file immediately
  * \return nothing
  */
-void MainInterface::dropEventPlay( QDropEvent *event, bool b_play )
+void MainCtx::dropEventPlay( QDropEvent *event, bool b_play )
 {
     if( event->possibleActions() & ( Qt::CopyAction | Qt::MoveAction | Qt::LinkAction ) )
        event->setDropAction( Qt::CopyAction );
@@ -697,7 +697,7 @@ void MainInterface::dropEventPlay( QDropEvent *event, bool b_play )
  * Events stuff
  ************************************************************************/
 
-bool MainInterface::onWindowClose( QWindow* )
+bool MainCtx::onWindowClose( QWindow* )
 {
     PlaylistControllerModel* playlistController = p_intf->p_mainPlaylistController;
     PlayerController* playerController = p_intf->p_mainPlayerController;
@@ -724,27 +724,27 @@ bool MainInterface::onWindowClose( QWindow* )
     }
 }
 
-void MainInterface::toggleInterfaceFullScreen()
+void MainCtx::toggleInterfaceFullScreen()
 {
     emit setInterfaceFullScreen( m_windowVisibility != QWindow::FullScreen );
 }
 
-void MainInterface::emitBoss()
+void MainCtx::emitBoss()
 {
     emit askBoss();
 }
 
-void MainInterface::emitShow()
+void MainCtx::emitShow()
 {
     emit askShow();
 }
 
-void MainInterface::emitRaise()
+void MainCtx::emitRaise()
 {
     emit askRaise();
 }
 
-VLCVarChoiceModel* MainInterface::getExtraInterfaces()
+VLCVarChoiceModel* MainCtx::getExtraInterfaces()
 {
     return m_extraInterfaces;
 }
@@ -804,12 +804,12 @@ static int IntfBossCB( vlc_object_t *, const char *,
     return VLC_SUCCESS;
 }
 
-bool MainInterface::acrylicActive() const
+bool MainCtx::acrylicActive() const
 {
     return m_acrylicActive;
 }
 
-void MainInterface::setAcrylicActive(bool newAcrylicActive)
+void MainCtx::setAcrylicActive(bool newAcrylicActive)
 {
     if (m_acrylicActive == newAcrylicActive)
         return;
diff --git a/modules/gui/qt/maininterface/main_interface.hpp b/modules/gui/qt/maininterface/mainctx.hpp
similarity index 99%
rename from modules/gui/qt/maininterface/main_interface.hpp
rename to modules/gui/qt/maininterface/mainctx.hpp
index e4e262b6686d..6f1449b07f52 100644
--- a/modules/gui/qt/maininterface/main_interface.hpp
+++ b/modules/gui/qt/maininterface/mainctx.hpp
@@ -144,7 +144,7 @@ public:
 
 };
 
-class MainInterface : public QObject
+class MainCtx : public QObject
 {
     Q_OBJECT
 
@@ -178,8 +178,8 @@ class MainInterface : public QObject
 
 public:
     /* tors */
-    MainInterface(qt_intf_t *);
-    virtual ~MainInterface();
+    MainCtx(qt_intf_t *);
+    virtual ~MainCtx();
 
     static const QEvent::Type ToolbarsNeedRebuild;
     static constexpr double MIN_INTF_USER_SCALE_FACTOR = 0.3;
diff --git a/modules/gui/qt/maininterface/main_interface_win32.cpp b/modules/gui/qt/maininterface/mainctx_win32.cpp
similarity index 97%
rename from modules/gui/qt/maininterface/main_interface_win32.cpp
rename to modules/gui/qt/maininterface/mainctx_win32.cpp
index 656a2856bdda..ee948738e034 100644
--- a/modules/gui/qt/maininterface/main_interface_win32.cpp
+++ b/modules/gui/qt/maininterface/mainctx_win32.cpp
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * main_interface_win32.cpp : Main interface
+ * mainctx_win32.cpp : Main interface
  ****************************************************************************
  * Copyright (C) 2006-2010 VideoLAN and AUTHORS
  *
@@ -25,7 +25,7 @@
 # include "config.h"
 #endif
 
-#include "main_interface_win32.hpp"
+#include "mainctx_win32.hpp"
 
 #include "maininterface/compositor.hpp"
 #include "player/player_controller.hpp"
@@ -490,26 +490,26 @@ void WinTaskbarWidget::changeThumbbarButtons( PlayerController::PlayingState i_s
 
 // MainInterface
 
-MainInterfaceWin32::MainInterfaceWin32(qt_intf_t * _p_intf )
-    : MainInterface( _p_intf )
+MainCtxWin32::MainCtxWin32(qt_intf_t * _p_intf )
+    : MainCtx( _p_intf )
 {
     /* Volume keys */
     p_intf->disable_volume_keys = var_InheritBool( _p_intf, "qt-disable-volume-keys" );
 }
 
-void MainInterfaceWin32::reloadPrefs()
+void MainCtxWin32::reloadPrefs()
 {
     p_intf->disable_volume_keys = var_InheritBool( p_intf, "qt-disable-volume-keys" );
-    MainInterface::reloadPrefs();
+    MainCtx::reloadPrefs();
 }
 
 // InterfaceWindowHandlerWin32
 
-InterfaceWindowHandlerWin32::InterfaceWindowHandlerWin32(qt_intf_t *_p_intf, MainInterface* mainInterface, QWindow* window, QObject *parent)
-    : InterfaceWindowHandler(_p_intf, mainInterface, window, parent)
+InterfaceWindowHandlerWin32::InterfaceWindowHandlerWin32(qt_intf_t *_p_intf, MainCtx* mainCtx, QWindow* window, QObject *parent)
+    : InterfaceWindowHandler(_p_intf, mainCtx, window, parent)
 
 #if QT_CLIENT_SIDE_DECORATION_AVAILABLE
-    , m_CSDWindowEventHandler(new CSDWin32EventHandler(mainInterface->useClientSideDecoration(),
+    , m_CSDWindowEventHandler(new CSDWin32EventHandler(mainCtx->useClientSideDecoration(),
                                                        _p_intf->p_compositor->type() == vlc::Compositor::Win7Compositor,
                                                        window, window))
 #endif
@@ -696,6 +696,6 @@ bool InterfaceWindowHandlerWin32::nativeEventFilter(const QByteArray &eventType,
 #if QT_CLIENT_SIDE_DECORATION_AVAILABLE
 void InterfaceWindowHandlerWin32::updateCSDWindowSettings()
 {
-    static_cast<CSDWin32EventHandler *>(m_CSDWindowEventHandler)->setUseClientSideDecoration(m_mainInterface->useClientSideDecoration());
+    static_cast<CSDWin32EventHandler *>(m_CSDWindowEventHandler)->setUseClientSideDecoration(m_mainCtx->useClientSideDecoration());
 }
 #endif
diff --git a/modules/gui/qt/maininterface/main_interface_win32.hpp b/modules/gui/qt/maininterface/mainctx_win32.hpp
similarity index 90%
rename from modules/gui/qt/maininterface/main_interface_win32.hpp
rename to modules/gui/qt/maininterface/mainctx_win32.hpp
index 70bd72f45791..fe5171f5822d 100644
--- a/modules/gui/qt/maininterface/main_interface_win32.hpp
+++ b/modules/gui/qt/maininterface/mainctx_win32.hpp
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * main_interface_win32.cpp : Main interface
+ * mainctx_win32.cpp : Main interface
  ****************************************************************************
  * Copyright (C) 2006-2010 VideoLAN and AUTHORS
  *
@@ -24,7 +24,7 @@
 #ifndef MAIN_INTERFACE_WIN32_HPP
 #define MAIN_INTERFACE_WIN32_HPP
 
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 #include "interface_window_handler.hpp"
 #include <QAbstractNativeEventFilter>
 
@@ -55,12 +55,12 @@ private:
 
 
 
-class MainInterfaceWin32 : public MainInterface
+class MainCtxWin32 : public MainCtx
 {
     Q_OBJECT
 public:
-    explicit MainInterfaceWin32(qt_intf_t *);
-    virtual ~MainInterfaceWin32() = default;
+    explicit MainCtxWin32(qt_intf_t *);
+    virtual ~MainCtxWin32() = default;
 
 public slots:
     virtual void reloadPrefs() override;
@@ -70,7 +70,7 @@ class InterfaceWindowHandlerWin32 : public InterfaceWindowHandler, public QAbstr
 {
     Q_OBJECT
 public:
-    explicit InterfaceWindowHandlerWin32(qt_intf_t *_p_intf, MainInterface* mainInterface, QWindow* window, QObject *parent = nullptr);
+    explicit InterfaceWindowHandlerWin32(qt_intf_t *_p_intf, MainCtx* mainCtx, QWindow* window, QObject *parent = nullptr);
     virtual ~InterfaceWindowHandlerWin32();
     virtual void toggleWindowVisiblity() override;
 
diff --git a/modules/gui/qt/maininterface/mainui.cpp b/modules/gui/qt/maininterface/mainui.cpp
index a8eb2d5b4401..81f156f06149 100644
--- a/modules/gui/qt/maininterface/mainui.cpp
+++ b/modules/gui/qt/maininterface/mainui.cpp
@@ -77,14 +77,14 @@ void registerAnonymousType( const char *uri, int versionMajor )
 } // anonymous namespace
 
 
-MainUI::MainUI(qt_intf_t *p_intf, MainInterface *mainInterface, QWindow* interfaceWindow,  QObject *parent)
+MainUI::MainUI(qt_intf_t *p_intf, MainCtx *mainCtx, QWindow* interfaceWindow,  QObject *parent)
     : QObject(parent)
     , m_intf(p_intf)
-    , m_mainInterface(mainInterface)
+    , m_mainCtx(mainCtx)
     , m_interfaceWindow(interfaceWindow)
 {
     assert(m_intf);
-    assert(m_mainInterface);
+    assert(m_mainCtx);
     assert(m_interfaceWindow);
 
     registerQMLTypes();
@@ -111,8 +111,8 @@ bool MainUI::setup(QQmlEngine* engine)
     rootCtx->setContextProperty( "systemPalette", new SystemPalette(this));
     rootCtx->setContextProperty( "dialogModel", new DialogModel(m_intf, this));
 
-    if (m_mainInterface->hasMediaLibrary())
-        rootCtx->setContextProperty( "medialib", m_mainInterface->getMediaLibrary() );
+    if (m_mainCtx->hasMediaLibrary())
+        rootCtx->setContextProperty( "medialib", m_mainCtx->getMediaLibrary() );
     else
         rootCtx->setContextProperty( "medialib", nullptr );
 
@@ -241,7 +241,7 @@ void MainUI::registerQMLTypes()
         qmlRegisterType<RoundImage>( uri, versionMajor, versionMinor, "RoundImage" );
     }
 
-    if (m_mainInterface->hasMediaLibrary())
+    if (m_mainCtx->hasMediaLibrary())
     {
         const char* uri = "org.videolan.medialib";
         const int versionMajor = 0;
diff --git a/modules/gui/qt/maininterface/mainui.hpp b/modules/gui/qt/maininterface/mainui.hpp
index e485140105cb..713e44d13769 100644
--- a/modules/gui/qt/maininterface/mainui.hpp
+++ b/modules/gui/qt/maininterface/mainui.hpp
@@ -19,7 +19,7 @@ class MainUI : public QObject
     Q_OBJECT
 
 public:
-    explicit MainUI(qt_intf_t *_p_intf, MainInterface* mainInterface, QWindow* interfaceWindow, QObject *parent = nullptr);
+    explicit MainUI(qt_intf_t *_p_intf, MainCtx* mainCtx, QWindow* interfaceWindow, QObject *parent = nullptr);
     ~MainUI();
 
     bool setup(QQmlEngine* engine);
@@ -35,7 +35,7 @@ private:
     void registerQMLTypes();
 
     qt_intf_t* m_intf = nullptr;
-    MainInterface* m_mainInterface = nullptr;
+    MainCtx* m_mainInterface = nullptr;
     QWindow*       m_interfaceWindow = nullptr;
 
     QQmlComponent* m_component = nullptr;
diff --git a/modules/gui/qt/maininterface/video_window_handler.cpp b/modules/gui/qt/maininterface/video_window_handler.cpp
index 2094473ddfd8..0693173e50c6 100644
--- a/modules/gui/qt/maininterface/video_window_handler.cpp
+++ b/modules/gui/qt/maininterface/video_window_handler.cpp
@@ -16,7 +16,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 #include "video_window_handler.hpp"
-#include "main_interface.hpp"
+#include "mainctx.hpp"
 
 #include <QApplication>
 #include <QScreen>
diff --git a/modules/gui/qt/maininterface/video_window_handler.hpp b/modules/gui/qt/maininterface/video_window_handler.hpp
index 8865401637fa..547c9983d8f9 100644
--- a/modules/gui/qt/maininterface/video_window_handler.hpp
+++ b/modules/gui/qt/maininterface/video_window_handler.hpp
@@ -29,7 +29,7 @@
 
 #include "qt.hpp"
 
-class MainInterface;
+class MainCtx;
 
 class VideoWindowHandler : public QObject
 {
diff --git a/modules/gui/qt/maininterface/videosurface.cpp b/modules/gui/qt/maininterface/videosurface.cpp
index 07dbd08e35d2..2707973b7329 100644
--- a/modules/gui/qt/maininterface/videosurface.cpp
+++ b/modules/gui/qt/maininterface/videosurface.cpp
@@ -16,7 +16,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 #include "videosurface.hpp"
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 #include "widgets/native/customwidgets.hpp" //for qtEventToVLCKey
 #include <QSGRectangleNode>
 
@@ -139,12 +139,12 @@ VideoSurface::VideoSurface(QQuickItem* parent)
     connect(this, &VideoSurface::enabledChanged, this, &VideoSurface::updatePositionAndSize);
 }
 
-MainInterface* VideoSurface::getCtx()
+MainCtx* VideoSurface::getCtx()
 {
     return m_ctx;
 }
 
-void VideoSurface::setCtx(MainInterface* ctx)
+void VideoSurface::setCtx(MainCtx* ctx)
 {
     m_ctx = ctx;
     emit ctxChanged(ctx);
diff --git a/modules/gui/qt/maininterface/videosurface.hpp b/modules/gui/qt/maininterface/videosurface.hpp
index ca43cb90fd9e..b2657d950272 100644
--- a/modules/gui/qt/maininterface/videosurface.hpp
+++ b/modules/gui/qt/maininterface/videosurface.hpp
@@ -24,6 +24,7 @@
 #include "qt.hpp"
 #include "vlc_vout_window.h"
 
+class MainCtx;
 class VideoSurfaceProvider : public QObject
 {
     Q_OBJECT
@@ -39,7 +40,7 @@ public:
     bool hasVideoEmbed() const;
 
 signals:
-    void ctxChanged(MainInterface*);
+    void ctxChanged(MainCtx*);
     bool videoEnabledChanged(bool);
     bool hasVideoEmbedChanged(bool);
     void surfacePositionChanged(QPointF position);
@@ -65,15 +66,15 @@ protected:
 class VideoSurface : public QQuickItem
 {
     Q_OBJECT
-    Q_PROPERTY(MainInterface* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
+    Q_PROPERTY(MainCtx* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
     Q_PROPERTY(QSize sourceSize READ getSourceSize NOTIFY sourceSizeChanged FINAL)
     Q_PROPERTY(Qt::CursorShape cursorShape READ getCursorShape WRITE setCursorShape RESET unsetCursor FINAL)
 
 public:
     VideoSurface( QQuickItem* parent = nullptr );
 
-    MainInterface* getCtx();
-    void setCtx(MainInterface* ctx);
+    MainCtx* getCtx();
+    void setCtx(MainCtx* ctx);
 
     QSize getSourceSize() const;
 
@@ -99,7 +100,7 @@ protected:
     virtual QSGNode* updatePaintNode(QSGNode *, QQuickItem::UpdatePaintNodeData *) override;
 
 signals:
-    void ctxChanged(MainInterface*);
+    void ctxChanged(MainCtx*);
     void sourceSizeChanged(QSize);
     void surfaceSizeChanged(QSizeF);
     void surfacePositionChanged(QPointF);
@@ -118,7 +119,7 @@ protected slots:
     void updatePositionAndSize();
 
 private:
-    MainInterface* m_ctx = nullptr;
+    MainCtx* m_ctx = nullptr;
 
     bool m_sourceSizeChanged = false;
     QSize m_sourceSize;
diff --git a/modules/gui/qt/medialibrary/mlfoldersmodel.cpp b/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
index 37f909dfe720..03365085bd6b 100644
--- a/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
+++ b/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
@@ -35,7 +35,7 @@ MLFoldersBaseModel::EntryPoint::EntryPoint( const vlc_ml_folder_t& entryPoint)
 {
 }
 
-void MLFoldersBaseModel::setCtx(MainInterface* ctx)
+void MLFoldersBaseModel::setCtx(MainCtx* ctx)
 {
     if (ctx)
     {
diff --git a/modules/gui/qt/medialibrary/mlfoldersmodel.hpp b/modules/gui/qt/medialibrary/mlfoldersmodel.hpp
index d91607190371..23743562faee 100644
--- a/modules/gui/qt/medialibrary/mlfoldersmodel.hpp
+++ b/modules/gui/qt/medialibrary/mlfoldersmodel.hpp
@@ -31,13 +31,13 @@
 #include <QList>
 #include "mlhelper.hpp"
 
-#include <maininterface/main_interface.hpp>
+#include <maininterface/mainctx.hpp>
 #include <vlc_media_library.h>
 
 class MLFoldersBaseModel : public QAbstractListModel
 {
     Q_OBJECT
-    Q_PROPERTY(MainInterface* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
+    Q_PROPERTY(MainCtx* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
 
 public:
     enum Roles
@@ -57,8 +57,8 @@ public:
 
     MLFoldersBaseModel( QObject *parent = nullptr );
 
-    void setCtx(MainInterface* ctx);
-    inline MainInterface* getCtx() { return m_ctx; }
+    void setCtx(MainCtx* ctx);
+    inline MainCtx* getCtx() { return m_ctx; }
 
     int rowCount( QModelIndex const &parent = {} ) const  override;
     QVariant data( QModelIndex const &index , const int role = Qt::DisplayRole ) const  override;
@@ -93,7 +93,7 @@ protected:
 
     std::vector<EntryPoint> m_mrls;
     MediaLib *m_mediaLib = nullptr;
-    MainInterface* m_ctx = nullptr;
+    MainCtx* m_ctx = nullptr;
     EventCallbackPtr m_ml_event_handle;
 };
 
diff --git a/modules/gui/qt/menus/menus.cpp b/modules/gui/qt/menus/menus.cpp
index 7b00013a67db..c598eac727c0 100644
--- a/modules/gui/qt/menus/menus.cpp
+++ b/modules/gui/qt/menus/menus.cpp
@@ -37,7 +37,7 @@
 
 #include "menus.hpp"
 
-#include "maininterface/main_interface.hpp"                     /* View modifications */
+#include "maininterface/mainctx.hpp"                     /* View modifications */
 #include "dialogs/dialogs_provider.hpp"                   /* Dialogs display */
 #include "player/player_controller.hpp"                      /* Input Management */
 #include "playlist/playlist_controller.hpp"
@@ -225,7 +225,7 @@ QMenu *VLCMenuBar::FileMenu(qt_intf_t *p_intf, QMenu *menu)
     if( mi && mi->getSysTray() )
     {
         action = menu->addAction( qtr( "Close to systray"), mi,
-                                 &MainInterface::toggleUpdateSystrayMenu );
+                                 &MainCtx::toggleUpdateSystrayMenu );
     }
 
     addDPStaticEntry( menu, qtr( "&Quit" ) ,
@@ -285,7 +285,7 @@ QMenu *VLCMenuBar::ViewMenu( qt_intf_t *p_intf, QMenu *current )
     QAction *action;
     QMenu *menu;
 
-    MainInterface *mi = p_intf->p_mi;
+    MainCtx *mi = p_intf->p_mi;
     assert( mi );
 
     if( !current )
@@ -315,13 +315,13 @@ QMenu *VLCMenuBar::ViewMenu( qt_intf_t *p_intf, QMenu *current )
             qtr( "Play&list" ));
     action->setShortcut(QString( "Ctrl+L" ));
     action->setCheckable( true );
-    connect( action, &QAction::triggered, mi, &MainInterface::setPlaylistVisible );
+    connect( action, &QAction::triggered, mi, &MainCtx::setPlaylistVisible );
     action->setChecked( mi->isPlaylistVisible() );
 
     /* Docked Playlist */
     action = menu->addAction( qtr( "Docked Playlist" ) );
     action->setCheckable( true );
-    connect( action, &QAction::triggered, mi, &MainInterface::setPlaylistDocked );
+    connect( action, &QAction::triggered, mi, &MainCtx::setPlaylistDocked );
     action->setChecked( mi->isPlaylistDocked() );
 
     menu->addSeparator();
@@ -329,18 +329,18 @@ QMenu *VLCMenuBar::ViewMenu( qt_intf_t *p_intf, QMenu *current )
     action = menu->addAction( qtr( "Always on &top" ) );
     action->setCheckable( true );
     action->setChecked( mi->isInterfaceAlwaysOnTop() );
-    connect( action, &QAction::triggered, mi, &MainInterface::setInterfaceAlwaysOnTop );
+    connect( action, &QAction::triggered, mi, &MainCtx::setInterfaceAlwaysOnTop );
 
     menu->addSeparator();
 
     /* FullScreen View */
     action = menu->addAction( qtr( "&Fullscreen Interface" ), mi,
-            &MainInterface::toggleInterfaceFullScreen, QString( "F11" ) );
+            &MainCtx::toggleInterfaceFullScreen, QString( "F11" ) );
     action->setCheckable( true );
     action->setChecked( mi->isInterfaceFullScreen() );
 
     action = menu->addAction( qtr( "&View Items as Grid" ), mi,
-            &MainInterface::setGridView );
+            &MainCtx::setGridView );
     action->setCheckable( true );
     action->setChecked( mi->hasGridView() );
 
@@ -756,7 +756,7 @@ QMenu* VLCMenuBar::PopupMenu( qt_intf_t *p_intf, bool show )
     input_item_t* p_input = THEMIM->getInput();
     QAction *action;
     bool b_isFullscreen = false;
-    MainInterface *mi = p_intf->p_mi;
+    MainCtx *mi = p_intf->p_mi;
 
     PopupMenuPlaylistEntries( menu, p_intf );
     menu->addSeparator();
@@ -885,7 +885,7 @@ QMenu* VLCMenuBar::PopupMenu( qt_intf_t *p_intf, bool show )
  * Systray Menu                                                         *
  ************************************************************************/
 
-void VLCMenuBar::updateSystrayMenu( MainInterface *mi,
+void VLCMenuBar::updateSystrayMenu( MainCtx *mi,
                                   qt_intf_t *p_intf,
                                   bool b_force_visible )
 {
@@ -899,13 +899,13 @@ void VLCMenuBar::updateSystrayMenu( MainInterface *mi,
     {
         sysMenu->addAction( QIcon( ":/logo/vlc16.png" ),
                             qtr( "&Hide VLC media player in taskbar" ), mi,
-                            &MainInterface::hideUpdateSystrayMenu);
+                            &MainCtx::hideUpdateSystrayMenu);
     }
     else
     {
         sysMenu->addAction( QIcon( ":/logo/vlc16.png" ),
                             qtr( "Sho&w VLC media player" ), mi,
-                            &MainInterface::showUpdateSystrayMenu);
+                            &MainCtx::showUpdateSystrayMenu);
     }
     sysMenu->addSeparator();
 #endif
diff --git a/modules/gui/qt/menus/menus.hpp b/modules/gui/qt/menus/menus.hpp
index 640ab445f132..99ff7e38568c 100644
--- a/modules/gui/qt/menus/menus.hpp
+++ b/modules/gui/qt/menus/menus.hpp
@@ -49,7 +49,7 @@ public:
     static QMenu* MiscPopupMenu( qt_intf_t *, bool );
 
     /* Systray */
-    static void updateSystrayMenu( MainInterface *, qt_intf_t  *,
+    static void updateSystrayMenu( MainCtx *, qt_intf_t  *,
                                    bool b_force_visible = false);
 
     /* destructor for parentless Menus (kept in static variables) */
diff --git a/modules/gui/qt/menus/qml_menu_wrapper.cpp b/modules/gui/qt/menus/qml_menu_wrapper.cpp
index 280c60375b03..06c34952c74a 100644
--- a/modules/gui/qt/menus/qml_menu_wrapper.cpp
+++ b/modules/gui/qt/menus/qml_menu_wrapper.cpp
@@ -32,7 +32,7 @@
 #include "playlist/playlist_controller.hpp"
 #include "playlist/playlist_model.hpp"
 #include "dialogs/dialogs_provider.hpp"
-#include "maininterface/main_interface.hpp"
+#include "maininterface/mainctx.hpp"
 
 
 #include <QSignalMapper>
diff --git a/modules/gui/qt/menus/qml_menu_wrapper.hpp b/modules/gui/qt/menus/qml_menu_wrapper.hpp
index 85d1daf98b8e..e8df7297d6d5 100644
--- a/modules/gui/qt/menus/qml_menu_wrapper.hpp
+++ b/modules/gui/qt/menus/qml_menu_wrapper.hpp
@@ -38,7 +38,7 @@ class MLPlaylistListModel;
 class MLPlaylistModel;
 class NetworkDeviceModel;
 class NetworkMediaModel;
-class MainInterface;
+class MainCtx;
 namespace vlc {
 namespace playlist {
 class PlaylistControllerModel;
@@ -94,7 +94,7 @@ private:
 class QmlGlobalMenu : public VLCMenuBar
 {
     Q_OBJECT
-    SIMPLE_MENU_PROPERTY(MainInterface*, ctx, nullptr)
+    SIMPLE_MENU_PROPERTY(MainCtx*, ctx, nullptr)
 public:
     explicit QmlGlobalMenu(QObject *parent = nullptr);
     ~QmlGlobalMenu();
@@ -114,7 +114,7 @@ class QmlMenuBarMenu;
 class QmlMenuBar : public VLCMenuBar
 {
     Q_OBJECT
-    SIMPLE_MENU_PROPERTY(MainInterface*, ctx, nullptr)
+    SIMPLE_MENU_PROPERTY(MainCtx*, ctx, nullptr)
     SIMPLE_MENU_PROPERTY(QQuickItem*, menubar, nullptr)
     SIMPLE_MENU_PROPERTY(bool, openMenuOnHover, false)
 
diff --git a/modules/gui/qt/network/networkdevicemodel.cpp b/modules/gui/qt/network/networkdevicemodel.cpp
index 9bb1221c004f..836f23342fc2 100644
--- a/modules/gui/qt/network/networkdevicemodel.cpp
+++ b/modules/gui/qt/network/networkdevicemodel.cpp
@@ -21,6 +21,7 @@
 #include "playlist/media.hpp"
 #include "playlist/playlist_controller.hpp"
 #include "util/qmlinputitem.hpp"
+#include <maininterface/mainctx.hpp>
 
 NetworkDeviceModel::NetworkDeviceModel( QObject* parent )
     : QAbstractListModel( parent )
@@ -78,7 +79,7 @@ int NetworkDeviceModel::rowCount(const QModelIndex& parent) const
 }
 
 
-void NetworkDeviceModel::setCtx(MainInterface* ctx)
+void NetworkDeviceModel::setCtx(MainCtx* ctx)
 {
     if (ctx) {
         m_ctx = ctx;
diff --git a/modules/gui/qt/network/networkdevicemodel.hpp b/modules/gui/qt/network/networkdevicemodel.hpp
index f3502c89c632..8e08fc310ae6 100644
--- a/modules/gui/qt/network/networkdevicemodel.hpp
+++ b/modules/gui/qt/network/networkdevicemodel.hpp
@@ -24,17 +24,18 @@
 #endif
 
 #include <QAbstractListModel>
+#include <QUrl>
 
 #include <vlc_media_library.h>
 #include <vlc_media_source.h>
 #include <vlc_threads.h>
 #include <vlc_cxx_helpers.hpp>
 
-#include <maininterface/main_interface.hpp>
 #include "networksourcelistener.hpp"
 
 #include <memory>
 
+class MainCtx;
 class NetworkDeviceModel : public QAbstractListModel, public NetworkSourceListener::SourceListenerCb
 {
     Q_OBJECT
@@ -74,7 +75,7 @@ public:
     Q_ENUM( SDCatType )
 
 
-    Q_PROPERTY(MainInterface* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
+    Q_PROPERTY(MainCtx* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
     Q_PROPERTY(SDCatType sd_source READ getSdSource WRITE setSdSource NOTIFY sdSourceChanged FINAL)
     Q_PROPERTY(QString name READ getName NOTIFY nameChanged FINAL)
     Q_PROPERTY(QString source_name READ getSourceName WRITE setSourceName NOTIFY sourceNameChanged FINAL)
@@ -87,11 +88,11 @@ public:
     QHash<int, QByteArray> roleNames() const override;
     int rowCount(const QModelIndex& parent = {}) const override;
 
-    void setCtx(MainInterface* ctx);
+    void setCtx(MainCtx* ctx);
     void setSdSource(SDCatType s);
     void setSourceName(const QString& sourceName);
 
-    inline MainInterface* getCtx() { return m_ctx; }
+    inline MainCtx* getCtx() { return m_ctx; }
     inline SDCatType getSdSource() { return m_sdSource; }
     inline QString getName() { return m_name; }
     inline QString getSourceName() { return m_sourceName; }
@@ -147,7 +148,7 @@ private:
 
 private:
     std::vector<Item> m_items;
-    MainInterface* m_ctx = nullptr;
+    MainCtx* m_ctx = nullptr;
     SDCatType m_sdSource = CAT_UNDEFINED;
     QString m_sourceName; // '*' -> all sources
     QString m_name; // source long name
diff --git a/modules/gui/qt/network/networkmediamodel.cpp b/modules/gui/qt/network/networkmediamodel.cpp
index ef9c18dccece..c1ead51ce089 100644
--- a/modules/gui/qt/network/networkmediamodel.cpp
+++ b/modules/gui/qt/network/networkmediamodel.cpp
@@ -156,7 +156,7 @@ void NetworkMediaModel::setIndexed(bool indexed)
     }
 }
 
-void NetworkMediaModel::setCtx(MainInterface* ctx)
+void NetworkMediaModel::setCtx(MainCtx* ctx)
 {
     if (ctx) {
         m_ctx = ctx;
diff --git a/modules/gui/qt/network/networkmediamodel.hpp b/modules/gui/qt/network/networkmediamodel.hpp
index f1a8d4cdd2e3..529ef0692f5d 100644
--- a/modules/gui/qt/network/networkmediamodel.hpp
+++ b/modules/gui/qt/network/networkmediamodel.hpp
@@ -31,7 +31,7 @@
 #include <vlc_cxx_helpers.hpp>
 
 #include "networksourcelistener.hpp"
-#include <maininterface/main_interface.hpp>
+#include <maininterface/mainctx.hpp>
 
 #include <QSemaphore>
 
@@ -131,7 +131,7 @@ public:
     };
     Q_ENUM( ItemType )
 
-    Q_PROPERTY(MainInterface* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged)
+    Q_PROPERTY(MainCtx* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged)
     Q_PROPERTY(QVariant tree READ getTree WRITE setTree NOTIFY treeChanged)
     Q_PROPERTY(QVariantList path READ getPath NOTIFY pathChanged)
 
@@ -154,10 +154,10 @@ public:
     bool setData( const QModelIndex& idx,const QVariant& value, int role ) override;
 
     void setIndexed(bool indexed);
-    void setCtx(MainInterface* ctx);
+    void setCtx(MainCtx* ctx);
     void setTree(QVariant tree);
 
-    inline MainInterface* getCtx() const { return m_ctx; }
+    inline MainCtx* getCtx() const { return m_ctx; }
     inline QVariant getTree() const { return QVariant::fromValue( m_treeItem); }
     inline QVariantList getPath() const { return m_path; }
 
@@ -233,7 +233,7 @@ private:
     QSemaphore m_preparseSem;
 
     std::vector<Item> m_items;
-    MainInterface* m_ctx = nullptr;
+    MainCtx* m_ctx = nullptr;
     MediaLib* m_mediaLib;
     bool m_hasTree = false;
     NetworkTreeItem m_treeItem;
diff --git a/modules/gui/qt/network/networksourcesmodel.cpp b/modules/gui/qt/network/networksourcesmodel.cpp
index e81c35995931..73172b55c10a 100644
--- a/modules/gui/qt/network/networksourcesmodel.cpp
+++ b/modules/gui/qt/network/networksourcesmodel.cpp
@@ -69,7 +69,7 @@ int NetworkSourcesModel::rowCount(const QModelIndex& parent) const
 }
 
 
-void NetworkSourcesModel::setCtx(MainInterface* ctx)
+void NetworkSourcesModel::setCtx(MainCtx* ctx)
 {
     if (ctx) {
         m_ctx = ctx;
diff --git a/modules/gui/qt/network/networksourcesmodel.hpp b/modules/gui/qt/network/networksourcesmodel.hpp
index 22a49ed9828a..1ebd36865142 100644
--- a/modules/gui/qt/network/networksourcesmodel.hpp
+++ b/modules/gui/qt/network/networksourcesmodel.hpp
@@ -30,7 +30,7 @@
 #include <vlc_threads.h>
 #include <vlc_cxx_helpers.hpp>
 
-#include <maininterface/main_interface.hpp>
+#include <maininterface/mainctx.hpp>
 #include "networksourcelistener.hpp"
 
 #include <memory>
@@ -39,7 +39,7 @@ class NetworkSourcesModel : public QAbstractListModel
 {
     Q_OBJECT
 
-    Q_PROPERTY(MainInterface* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
+    Q_PROPERTY(MainCtx* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
     Q_PROPERTY(int count READ getCount NOTIFY countChanged FINAL)
 
 public:
@@ -63,9 +63,9 @@ public:
     QHash<int, QByteArray> roleNames() const override;
     int rowCount(const QModelIndex& parent = {}) const override;
 
-    void setCtx(MainInterface* ctx);
+    void setCtx(MainCtx* ctx);
 
-    inline MainInterface* getCtx() { return m_ctx; }
+    inline MainCtx* getCtx() { return m_ctx; }
 
     int getCount() const;
 
@@ -87,7 +87,7 @@ private:
 
 private:
     std::vector<Item> m_items;
-    MainInterface* m_ctx = nullptr;
+    MainCtx* m_ctx = nullptr;
     vlc_medialibrary_t* m_ml = nullptr;
     services_discovery_category_e m_sdSource = services_discovery_category_e::SD_CAT_INTERNET;
 };
diff --git a/modules/gui/qt/network/servicesdiscoverymodel.cpp b/modules/gui/qt/network/servicesdiscoverymodel.cpp
index 97077d2c65d6..0eb54fc07e9e 100644
--- a/modules/gui/qt/network/servicesdiscoverymodel.cpp
+++ b/modules/gui/qt/network/servicesdiscoverymodel.cpp
@@ -127,7 +127,7 @@ int ServicesDiscoveryModel::getCount() const
     return static_cast<int>( m_items.size() );
 }
 
-void ServicesDiscoveryModel::setCtx(MainInterface* ctx)
+void ServicesDiscoveryModel::setCtx(MainCtx* ctx)
 {
     if (ctx) {
         m_ctx = ctx;
diff --git a/modules/gui/qt/network/servicesdiscoverymodel.hpp b/modules/gui/qt/network/servicesdiscoverymodel.hpp
index c6a00f99d140..1909f8f00447 100644
--- a/modules/gui/qt/network/servicesdiscoverymodel.hpp
+++ b/modules/gui/qt/network/servicesdiscoverymodel.hpp
@@ -31,7 +31,7 @@
 #include <vlc_addons.h>
 #include <vlc_cxx_helpers.hpp>
 
-#include <maininterface/main_interface.hpp>
+#include <maininterface/mainctx.hpp>
 
 #include <memory>
 
@@ -41,7 +41,7 @@ class ServicesDiscoveryModel : public QAbstractListModel
 
 public:
 
-    Q_PROPERTY(MainInterface* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
+    Q_PROPERTY(MainCtx* ctx READ getCtx WRITE setCtx NOTIFY ctxChanged FINAL)
     Q_PROPERTY(bool parsingPending READ getParsingPending NOTIFY parsingPendingChanged FINAL)
     Q_PROPERTY(int count READ getCount NOTIFY countChanged FINAL)
 
@@ -73,9 +73,9 @@ public:
     QHash<int, QByteArray> roleNames() const override;
     int rowCount(const QModelIndex& parent = {}) const override;
 
-    void setCtx(MainInterface* ctx);
+    void setCtx(MainCtx* ctx);
 
-    inline MainInterface* getCtx() const { return m_ctx; }
+    inline MainCtx* getCtx() const { return m_ctx; }
     inline bool getParsingPending() const { return m_parsingPending; }
     int getCount() const;
 
@@ -116,7 +116,7 @@ private:
     };
 
     std::vector<Item> m_items;
-    MainInterface* m_ctx = nullptr;
+    MainCtx* m_ctx = nullptr;
     addons_manager_t* m_manager = nullptr;
     bool m_parsingPending = false;
 };
diff --git a/modules/gui/qt/qt.cpp b/modules/gui/qt/qt.cpp
index c56dde8f9481..1bcb2991bb26 100644
--- a/modules/gui/qt/qt.cpp
+++ b/modules/gui/qt/qt.cpp
@@ -51,9 +51,9 @@ extern "C" char **environ;
 #include "playlist/playlist_controller.hpp" /* THEMPL creation */
 #include "dialogs/dialogs_provider.hpp" /* THEDP creation */
 #ifdef _WIN32
-# include "maininterface/main_interface_win32.hpp"
+# include "maininterface/mainctx_win32.hpp"
 #else
-# include "maininterface/main_interface.hpp"   /* MainInterface creation */
+# include "maininterface/mainctx.hpp"   /* MainCtx creation */
 #endif
 #include "dialogs/extensions/extensions_manager.hpp" /* Extensions manager */
 #include "dialogs/plugins/addons_manager.hpp" /* Addons manager */
@@ -253,8 +253,8 @@ static const char *const psz_notification_list_text[] =
     { N_("Never"), N_("When minimized"), N_("Always") };
 
 static const int i_raise_list[] =
-    { MainInterface::RAISE_NEVER, MainInterface::RAISE_VIDEO, \
-      MainInterface::RAISE_AUDIO, MainInterface::RAISE_AUDIOVIDEO,  };
+    { MainCtx::RAISE_NEVER, MainCtx::RAISE_VIDEO, \
+      MainCtx::RAISE_AUDIO, MainCtx::RAISE_AUDIOVIDEO,  };
 
 static const char *const psz_raise_list_text[] =
     { N_( "Never" ), N_( "Video" ), N_( "Audio" ), _( "Audio/Video" ) };
@@ -402,7 +402,7 @@ vlc_module_begin ()
     add_integer_with_range( "qt-fs-sensitivity", 3, 0, 4000, FULLSCREEN_CONTROL_PIXELS,
             nullptr)
 
-    add_integer( "qt-auto-raise", MainInterface::RAISE_VIDEO, AUTORAISE_ON_PLAYBACK_TEXT,
+    add_integer( "qt-auto-raise", MainCtx::RAISE_VIDEO, AUTORAISE_ON_PLAYBACK_TEXT,
                  AUTORAISE_ON_PLAYBACK_LONGTEXT )
             change_integer_list( i_raise_list, psz_raise_list_text )
 
@@ -764,9 +764,9 @@ static void *Thread( void *obj )
 
     /* Create the normal interface in non-DP mode */
 #ifdef _WIN32
-    p_intf->p_mi = new MainInterfaceWin32(p_intf);
+    p_intf->p_mi = new MainCtxWin32(p_intf);
 #else
-    p_intf->p_mi = new MainInterface(p_intf);
+    p_intf->p_mi = new MainCtx(p_intf);
 #endif
 
     if( !p_intf->b_isDialogProvider )
diff --git a/modules/gui/qt/qt.hpp b/modules/gui/qt/qt.hpp
index 88990c24ddc2..b6e3951533ea 100644
--- a/modules/gui/qt/qt.hpp
+++ b/modules/gui/qt/qt.hpp
@@ -90,7 +90,7 @@ struct qt_intf_t
     vlc_thread_t thread;
 
     class QVLCApp *p_app;          /* Main Qt Application */
-    class MainInterface *p_mi;     /* Main Interface, NULL if DialogProvider Mode */
+    class MainCtx *p_mi;     /* Main Interface, NULL if DialogProvider Mode */
     class QSettings *mainSettings; /* Qt State settings not messing main VLC ones */
 
     unsigned voutWindowType; /* Type of vout_window_t provided */
diff --git a/modules/gui/qt/widgets/native/interface_widgets.hpp b/modules/gui/qt/widgets/native/interface_widgets.hpp
index a4a30afa5781..f8b5a0dd97fa 100644
--- a/modules/gui/qt/widgets/native/interface_widgets.hpp
+++ b/modules/gui/qt/widgets/native/interface_widgets.hpp
@@ -29,7 +29,7 @@
 # include "config.h"
 #endif
 
-#include "maininterface/main_interface.hpp" /* Interface integration */
+#include "maininterface/mainctx.hpp" /* Interface integration */
 #include "player/player_controller.hpp"  /* Speed control */
 
 #include "dialogs/dialogs_provider.hpp"
diff --git a/po/POTFILES.in b/po/POTFILES.in
index cd5eb89c5840..353033436614 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -763,10 +763,10 @@ modules/gui/qt/dialogs/playlists/playlists.cpp
 modules/gui/qt/dialogs/playlists/playlists.hpp
 modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
 modules/gui/qt/dialogs/toolbar/controlbar_profile_model.hpp
-modules/gui/qt/maininterface/main_interface.cpp
-modules/gui/qt/maininterface/main_interface.hpp
-modules/gui/qt/maininterface/main_interface_win32.cpp
-modules/gui/qt/maininterface/main_interface_win32.hpp
+modules/gui/qt/maininterface/mainctx.cpp
+modules/gui/qt/maininterface/mainctx.hpp
+modules/gui/qt/maininterface/mainctx_win32.cpp
+modules/gui/qt/maininterface/mainctx_win32.hpp
 modules/gui/qt/dialogs/plugins/addons_manager.cpp
 modules/gui/qt/dialogs/plugins/addons_manager.hpp
 modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
-- 
GitLab