mirror of
https://github.com/levnikmyskin/hyprland-virtual-desktops.git
synced 2024-10-04 06:17:11 +03:00
Merge pull request #23 from levnikmyskin/fix/fix_build_hyprlang
Fix build for Hyprland >=0.36. Closes #21
This commit is contained in:
commit
9010a4a296
@ -176,14 +176,14 @@ void VirtualDeskManager::loadLayoutConf() {
|
||||
// Maybe in a future release :)
|
||||
if (confLoaded)
|
||||
return;
|
||||
static auto* const PREMEMBER_LAYOUT = &HyprlandAPI::getConfigValue(PHANDLE, REMEMBER_LAYOUT_CONF)->strValue;
|
||||
static auto* const PREMEMBER_LAYOUT = (Hyprlang::STRING const*)HyprlandAPI::getConfigValue(PHANDLE, REMEMBER_LAYOUT_CONF)->getDataStaticPtr();
|
||||
conf = layoutConfFromString(*PREMEMBER_LAYOUT);
|
||||
confLoaded = true;
|
||||
}
|
||||
|
||||
void VirtualDeskManager::cycleWorkspaces() {
|
||||
static auto* const PCYCLEWORKSPACES = &HyprlandAPI::getConfigValue(PHANDLE, CYCLEWORKSPACES_CONF)->intValue;
|
||||
if (!*PCYCLEWORKSPACES)
|
||||
static auto* const PCYCLEWORKSPACES = (Hyprlang::INT* const*)HyprlandAPI::getConfigValue(PHANDLE, CYCLEWORKSPACES_CONF)->getDataStaticPtr();
|
||||
if (!**PCYCLEWORKSPACES)
|
||||
return;
|
||||
|
||||
auto n_monitors = g_pCompositor->m_vMonitors.size();
|
||||
|
36
src/main.cpp
36
src/main.cpp
@ -26,12 +26,12 @@ bool needsReloading = false;
|
||||
bool monitorLayoutChanging = false;
|
||||
|
||||
inline CFunctionHook* g_pMonitorDestroy = nullptr;
|
||||
typedef void (*origMonitorDestroy)(void*, void*);
|
||||
typedef void (*origMonitorDestroy)(void*, void*);
|
||||
|
||||
inline CFunctionHook* g_pMonitorAdded = nullptr;
|
||||
typedef void (*origMonitorAdded)(void*, void*);
|
||||
inline CFunctionHook* g_pMonitorAdded = nullptr;
|
||||
typedef void (*origMonitorAdded)(void*, void*);
|
||||
|
||||
void parseNamesConf(std::string& conf) {
|
||||
void parseNamesConf(std::string& conf) {
|
||||
size_t pos;
|
||||
size_t delim;
|
||||
std::string rule;
|
||||
@ -131,8 +131,9 @@ void printVdesk(std::string name) {
|
||||
}
|
||||
|
||||
void printVDeskDispatch(std::string arg) {
|
||||
static auto* const PVDESKNAMES = &HyprlandAPI::getConfigValue(PHANDLE, VIRTUALDESK_NAMES_CONF)->strValue;
|
||||
parseNamesConf(*PVDESKNAMES);
|
||||
std::string vdesknamesConf = std::any_cast<Hyprlang::STRING>(HyprlandAPI::getConfigValue(PHANDLE, VIRTUALDESK_NAMES_CONF));
|
||||
|
||||
parseNamesConf(vdesknamesConf);
|
||||
|
||||
if (arg.length() == 0) {
|
||||
printVdesk(manager->activeVdesk()->id);
|
||||
@ -217,13 +218,16 @@ void onRender(void*, SCallbackInfo&, std::any val) {
|
||||
}
|
||||
|
||||
void onConfigReloaded(void*, SCallbackInfo&, std::any val) {
|
||||
static auto* const PNOTIFYINIT = &HyprlandAPI::getConfigValue(PHANDLE, NOTIFY_INIT)->intValue;
|
||||
if (*PNOTIFYINIT && !notifiedInit) {
|
||||
static auto* const PNOTIFYINIT = (Hyprlang::INT* const*)HyprlandAPI::getConfigValue(PHANDLE, NOTIFY_INIT)->getDataStaticPtr();
|
||||
printLog("aiuto");
|
||||
if (**PNOTIFYINIT && !notifiedInit) {
|
||||
HyprlandAPI::addNotification(PHANDLE, "Virtual desk Initialized successfully!", CColor{0.f, 1.f, 1.f, 1.f}, 5000);
|
||||
notifiedInit = true;
|
||||
}
|
||||
static auto* const PVDESKNAMES = &HyprlandAPI::getConfigValue(PHANDLE, VIRTUALDESK_NAMES_CONF)->strValue;
|
||||
parseNamesConf(*PVDESKNAMES);
|
||||
printLog("aiuto2");
|
||||
static auto* const PVDESKNAMESCONF = (Hyprlang::STRING const*)(HyprlandAPI::getConfigValue(PHANDLE, VIRTUALDESK_NAMES_CONF))->getDataStaticPtr();
|
||||
auto vdeskNamesConf = std::string{*PVDESKNAMESCONF};
|
||||
parseNamesConf(vdeskNamesConf);
|
||||
manager->loadLayoutConf();
|
||||
}
|
||||
|
||||
@ -257,11 +261,11 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
|
||||
HyprlandAPI::addDispatcher(PHANDLE, PRINTLAYOUT_DISPATCH_STR, printLayoutDispatch);
|
||||
|
||||
// Configs
|
||||
HyprlandAPI::addConfigValue(PHANDLE, VIRTUALDESK_NAMES_CONF, SConfigValue{.strValue = "unset"});
|
||||
HyprlandAPI::addConfigValue(PHANDLE, CYCLEWORKSPACES_CONF, SConfigValue{.intValue = 1});
|
||||
HyprlandAPI::addConfigValue(PHANDLE, REMEMBER_LAYOUT_CONF, SConfigValue{.strValue = REMEMBER_SIZE});
|
||||
HyprlandAPI::addConfigValue(PHANDLE, NOTIFY_INIT, SConfigValue{.intValue = 1});
|
||||
HyprlandAPI::addConfigValue(PHANDLE, VERBOSE_LOGS, SConfigValue{.intValue = 0});
|
||||
HyprlandAPI::addConfigValue(PHANDLE, VIRTUALDESK_NAMES_CONF, Hyprlang::STRING{"unset"});
|
||||
HyprlandAPI::addConfigValue(PHANDLE, CYCLEWORKSPACES_CONF, Hyprlang::INT{1});
|
||||
HyprlandAPI::addConfigValue(PHANDLE, REMEMBER_LAYOUT_CONF, Hyprlang::STRING{REMEMBER_SIZE.c_str()});
|
||||
HyprlandAPI::addConfigValue(PHANDLE, NOTIFY_INIT, Hyprlang::INT{1});
|
||||
HyprlandAPI::addConfigValue(PHANDLE, VERBOSE_LOGS, Hyprlang::INT{0});
|
||||
|
||||
onWorkspaceChangeHook = HyprlandAPI::registerCallbackDynamic(PHANDLE, "workspace", onWorkspaceChange);
|
||||
onConfigReloadedHook = HyprlandAPI::registerCallbackDynamic(PHANDLE, "configReloaded", onConfigReloaded);
|
||||
@ -271,5 +275,5 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
|
||||
|
||||
// Initialize first vdesk
|
||||
HyprlandAPI::reloadConfig();
|
||||
return {"virtual-desktops", "Virtual desktop like workspaces", "LevMyskin", "2.1.0"};
|
||||
return {"virtual-desktops", "Virtual desktop like workspaces", "LevMyskin", "2.1.1"};
|
||||
}
|
||||
|
@ -51,8 +51,8 @@ RememberLayoutConf layoutConfFromString(const std::string& conf) {
|
||||
}
|
||||
|
||||
bool isVerbose() {
|
||||
static auto* const PVERBOSELOGS = &HyprlandAPI::getConfigValue(PHANDLE, VERBOSE_LOGS)->intValue;
|
||||
return *PVERBOSELOGS;
|
||||
static auto* const PVERBOSELOGS = (Hyprlang::INT* const*)HyprlandAPI::getConfigValue(PHANDLE, VERBOSE_LOGS)->getDataStaticPtr();
|
||||
return **PVERBOSELOGS;
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<CMonitor>> currentlyEnabledMonitors(const CMonitor* exclude) {
|
||||
|
Loading…
Reference in New Issue
Block a user