Update xmonad to use a better desktop portal
diff --git a/modules/xmonad.nix b/modules/xmonad.nix
index 0eca67a..9e051d2 100644
--- a/modules/xmonad.nix
+++ b/modules/xmonad.nix
@@ -28,10 +28,18 @@
exec ${pkgs.systemd}/bin/systemd-cat -t xmonad ${pkgs.xorg.xinit}/bin/startx
fi
'';
- home.file.".xinitrc".text = ''
+
+ home.file.".config/prelaunch/desktop-portals.sh".text = ''
export XDG_DESKTOP_PORTAL_DIR=${pkgs.xdg-desktop-portal-gnome}/share/xdg-desktop-portal/portals
${pkgs.xdg-desktop-portal-gnome}/libexec/xdg-desktop-portal-gnome &
${pkgs.xdg-desktop-portal}/libexec/xdg-desktop-portal &
+ '';
+ home.file.".config/prelaunch/desktop-portals.sh".executable = true;
+
+ home.file.".xinitrc".text = ''
+ for file in ~/.config/prelaunch/*; do
+ $file &
+ done
${home.xsession.windowManager.command}
'';
};
diff --git a/modules/xmonad/xmonad.hs b/modules/xmonad/xmonad.hs
index e26d954..b3b8609 100644
--- a/modules/xmonad/xmonad.hs
+++ b/modules/xmonad/xmonad.hs
@@ -29,7 +29,7 @@
import XMonad.Hooks.DynamicProperty (dynamicPropertyChange)
import XMonad.Hooks.ManageHelpers (doFullFloat, doLower,
doRectFloat, isInProperty)
-import XMonad.Hooks.Place (fixed, placeHook, underMouse)
+import XMonad.Hooks.Place (fixed, placeHook, underMouse, withGaps)
import XMonad.Hooks.UrgencyHook
import XMonad.Layout (Tall)
import XMonad.Layout.Drawer (propertyToQuery)
@@ -131,7 +131,7 @@
--> hasBorder False <+> doIgnore <+> doLower <+> doLower
, checkDock --> doLower <+> doLower
, isInProperty "_NET_WM_STATE" "_NET_WM_STATE_MODAL"
- --> placeHook (underMouse (0.5, 0.5)) <+> doFloat
+ --> placeHook (withGaps (30, 30, 30, 30) (underMouse (0.5, 0.5))) <+> doFloat
] <+> manageHook def
, XMonad.handleEventHook = composeAll
[ windowedFullscreenFixEventHook