From 3ab254aff4ea57c4c879a0410f1b3ceadca15b7a Mon Sep 17 00:00:00 2001 From: Gabriel Fontes Date: Fri, 9 Jul 2021 00:24:21 -0300 Subject: [PATCH] qutebrowser: add onChange ipc reloading --- modules/programs/qutebrowser.nix | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/modules/programs/qutebrowser.nix b/modules/programs/qutebrowser.nix index 8d4868fbb..2178997fe 100644 --- a/modules/programs/qutebrowser.nix +++ b/modules/programs/qutebrowser.nix @@ -306,7 +306,25 @@ in { }; xdg.configFile."qutebrowser/config.py" = - mkIf pkgs.stdenv.hostPlatform.isLinux { text = qutebrowserConfig; }; + mkIf pkgs.stdenv.hostPlatform.isLinux { + text = qutebrowserConfig; + onChange = '' + hash="$(echo -n $USER | md5sum | cut -d' ' -f1)" + socket="''${XDG_RUNTIME_DIR:-/run/user/$UID}/qutebrowser/ipc-$hash" + if [ -S $socket ]; then + echo "Reloading qutebrowser" + command=${ + escapeShellArg (builtins.toJSON { + args = [ ":config-source" ]; + target_arg = null; + protocol_version = 1; + }) + } + $DRY_RUN_CMD echo $command | ${pkgs.socat}/bin/socat -lf /dev/null - UNIX-CONNECT:$socket + fi + unset hash socket command + ''; + }; xdg.configFile."qutebrowser/quickmarks" = mkIf (cfg.quickmarks != { } && pkgs.stdenv.hostPlatform.isLinux) {