summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-03-22 12:17:08 +0000
committervaxerski <43317083+vaxerski@users.noreply.github.com>2023-03-22 12:17:16 +0000
commita8b3be2c9c916870b826cba8fdf3aec1046d2f81 (patch)
treef88a3229efffce5a943af67558fa5a6a13c43c4f /src/Compositor.cpp
parent5ce91bb0fd4fe8eb09f1a728e3b84cc1ff4244eb (diff)
config: add misc:suppress_portal_warnings
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp20
1 files changed, 12 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);
+ }
}
}