welcome: init welcome manager (#12409)
--------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
This commit is contained in:
parent
f82a8630d7
commit
2cadc8abab
4 changed files with 70 additions and 18 deletions
|
|
@ -60,6 +60,7 @@
|
|||
#include "managers/HookSystemManager.hpp"
|
||||
#include "managers/ProtocolManager.hpp"
|
||||
#include "managers/LayoutManager.hpp"
|
||||
#include "managers/WelcomeManager.hpp"
|
||||
#include "render/AsyncResourceGatherer.hpp"
|
||||
#include "plugins/PluginSystem.hpp"
|
||||
#include "hyprerror/HyprError.hpp"
|
||||
|
|
@ -603,6 +604,7 @@ void CCompositor::cleanup() {
|
|||
g_pEventLoopManager.reset();
|
||||
g_pVersionKeeperMgr.reset();
|
||||
g_pDonationNagManager.reset();
|
||||
g_pWelcomeManager.reset();
|
||||
g_pANRManager.reset();
|
||||
g_pConfigWatcher.reset();
|
||||
g_pAsyncResourceGatherer.reset();
|
||||
|
|
@ -708,6 +710,9 @@ void CCompositor::initManagers(eManagersInitStage stage) {
|
|||
Debug::log(LOG, "Creating the DonationNag!");
|
||||
g_pDonationNagManager = makeUnique<CDonationNagManager>();
|
||||
|
||||
Debug::log(LOG, "Creating the WelcomeManager!");
|
||||
g_pWelcomeManager = makeUnique<CWelcomeManager>();
|
||||
|
||||
Debug::log(LOG, "Creating the ANRManager!");
|
||||
g_pANRManager = makeUnique<CANRManager>();
|
||||
|
||||
|
|
|
|||
31
src/managers/WelcomeManager.cpp
Normal file
31
src/managers/WelcomeManager.cpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#include "WelcomeManager.hpp"
|
||||
#include "../debug/Log.hpp"
|
||||
#include "../config/ConfigValue.hpp"
|
||||
#include "../helpers/fs/FsUtils.hpp"
|
||||
|
||||
#include <hyprutils/os/Process.hpp>
|
||||
|
||||
using namespace Hyprutils::OS;
|
||||
|
||||
CWelcomeManager::CWelcomeManager() {
|
||||
static auto PAUTOGEN = CConfigValue<Hyprlang::INT>("autogenerated");
|
||||
|
||||
if (!*PAUTOGEN) {
|
||||
Debug::log(LOG, "[welcome] skipping, not autogen");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!NFsUtils::executableExistsInPath("hyprland-welcome")) {
|
||||
Debug::log(LOG, "[welcome] skipping, no welcome app");
|
||||
return;
|
||||
}
|
||||
|
||||
m_fired = true;
|
||||
|
||||
CProcess welcome("hyprland-welcome", {});
|
||||
welcome.runAsync();
|
||||
}
|
||||
|
||||
bool CWelcomeManager::fired() {
|
||||
return m_fired;
|
||||
}
|
||||
16
src/managers/WelcomeManager.hpp
Normal file
16
src/managers/WelcomeManager.hpp
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#pragma once
|
||||
|
||||
#include "../helpers/memory/Memory.hpp"
|
||||
|
||||
class CWelcomeManager {
|
||||
public:
|
||||
CWelcomeManager();
|
||||
|
||||
// whether the welcome screen was shown this boot.
|
||||
bool fired();
|
||||
|
||||
private:
|
||||
bool m_fired = false;
|
||||
};
|
||||
|
||||
inline UP<CWelcomeManager> g_pWelcomeManager;
|
||||
Loading…
Add table
Add a link
Reference in a new issue