branch: externals/kiwix
commit 6191d43e184e29de868a82331495ced9c9cc9be0
Merge: 7d6039f acb1301
Author: stardiviner <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #7 from mattbeshara/launch-server-improvements
Fix deprecated variable kiwix-default-library-dir and add new command to
stop local server.
---
kiwix.el | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/kiwix.el b/kiwix.el
index 8f04dbf..7fc0232 100644
--- a/kiwix.el
+++ b/kiwix.el
@@ -216,13 +216,15 @@ Set it to ‘t’ will use Emacs built-in ‘completing-read’."
"Specify kiwix-mode keybinding prefix before loading."
:type 'kbd)
+(defvar kiwix--server-process nil
+ "Local server process launched by ‘kiwix-launch-server’.")
;; launch Kiwix server
;;;###autoload
(defun kiwix-launch-server ()
"Launch Kiwix server."
(interactive)
- (let ((library-path kiwix-default-library-dir))
+ (let ((library-path kiwix-zim-dir))
(cl-case kiwix-server-type
('docker-remote
(message "kiwix-serve service is started by user manually at other
place."))
@@ -236,13 +238,21 @@ Set it to ‘t’ will use Emacs built-in ‘completing-read’."
"-p" (format "%s:80" kiwix-server-port)
"kiwix/kiwix-serve"
"--library" "library.xml"))
- ('kiwix-serve-local (start-process
- "kiwix-server"
- " *kiwix server*"
- kiwix-server-command
- "--port" (number-to-string kiwix-server-port)
- "--daemon"
- "--library" (concat library-path "library.xml"))))))
+ ('kiwix-serve-local
+ (setq kiwix--server-process
+ (start-process
+ "kiwix-server"
+ " *kiwix server*"
+ kiwix-server-command
+ "--port" (number-to-string kiwix-server-port)
+ "--library" (concat kiwix-zim-dir "/library.xml")))))))
+
+(defun kiwix-stop-local-server ()
+ "Stops a Kiwix server started by ‘kiwix-launch-server’."
+ (interactive)
+ (when kiwix--server-process
+ (kill-process kiwix--server-process)
+ (setq kiwix--server-process nil)))
(defun kiwix-capitalize-first (string)
"Only capitalize the first word of STRING."