diff options
author | vaxerski <[email protected]> | 2023-03-22 12:17:08 +0000 |
---|---|---|
committer | vaxerski <[email protected]> | 2023-03-22 12:17:16 +0000 |
commit | a8b3be2c9c916870b826cba8fdf3aec1046d2f81 (patch) | |
tree | f88a3229efffce5a943af67558fa5a6a13c43c4f | |
parent | 5ce91bb0fd4fe8eb09f1a728e3b84cc1ff4244eb (diff) | |
download | Hyprland-a8b3be2c9c916870b826cba8fdf3aec1046d2f81.tar.gz Hyprland-a8b3be2c9c916870b826cba8fdf3aec1046d2f81.zip |
config: add misc:suppress_portal_warnings
-rw-r--r-- | src/Compositor.cpp | 20 | ||||
-rw-r--r-- | src/config/ConfigManager.cpp | 1 |
2 files changed, 13 insertions, 8 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 94b8eb40..90af4c35 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -2296,14 +2296,18 @@ int CCompositor::getNewSpecialID() { void CCompositor::performUserChecks() { static constexpr auto BAD_PORTALS = {"kde", "gnome"}; - if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/" + portal + ".portal"); })) { - // bad portal detected - g_pHyprNotificationOverlay->addNotification("You have one or more incompatible xdg-desktop-portal impls installed. Please remove incompatible ones to avoid issues.", - CColor(0), 15000, ICON_ERROR); - } + static auto* const PSUPPRESSPORTAL = &g_pConfigManager->getConfigValuePtr("misc:suppress_portal_warnings")->intValue; + + if (!*PSUPPRESSPORTAL) { + if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/" + portal + ".portal"); })) { + // bad portal detected + g_pHyprNotificationOverlay->addNotification("You have one or more incompatible xdg-desktop-portal impls installed. Please remove incompatible ones to avoid issues.", + CColor(0), 15000, ICON_ERROR); + } - if (std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/hyprland.portal") && std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/wlr.portal")) { - g_pHyprNotificationOverlay->addNotification("You have xdg-desktop-portal-hyprland and -wlr installed simultaneously. Please uninstall one to avoid issues.", CColor(0), - 15000, ICON_ERROR); + if (std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/hyprland.portal") && std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/wlr.portal")) { + g_pHyprNotificationOverlay->addNotification("You have xdg-desktop-portal-hyprland and -wlr installed simultaneously. Please uninstall one to avoid issues.", CColor(0), + 15000, ICON_ERROR); + } } } diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index c75e19e3..8161909c 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -85,6 +85,7 @@ void CConfigManager::setDefaultVars() { configValues["misc:no_direct_scanout"].intValue = 0; configValues["misc:hide_cursor_on_touch"].intValue = 1; configValues["misc:mouse_move_focuses_monitor"].intValue = 1; + configValues["misc:suppress_portal_warnings"].intValue = 0; configValues["debug:int"].intValue = 0; configValues["debug:log_damage"].intValue = 0; |