aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorvaxerski <[email protected]>2023-03-22 12:17:08 +0000
committervaxerski <[email protected]>2023-03-22 12:17:16 +0000
commita8b3be2c9c916870b826cba8fdf3aec1046d2f81 (patch)
treef88a3229efffce5a943af67558fa5a6a13c43c4f
parent5ce91bb0fd4fe8eb09f1a728e3b84cc1ff4244eb (diff)
downloadHyprland-a8b3be2c9c916870b826cba8fdf3aec1046d2f81.tar.gz
Hyprland-a8b3be2c9c916870b826cba8fdf3aec1046d2f81.zip
config: add misc:suppress_portal_warnings
-rw-r--r--src/Compositor.cpp20
-rw-r--r--src/config/ConfigManager.cpp1
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;