From e6cafddf7754836a5d7d2dcfa346585c31a7ada7 Mon Sep 17 00:00:00 2001
From: Fabien Cazenave <fabien@cazenave.cc>
Date: Sat, 24 Feb 2024 08:54:10 +0100
Subject: [PATCH] minor improvements to `kalamine watch`

---
 .github/workflows/tests.yml       | 8 ++++++--
 kalamine/server.py                | 8 +++++---
 kalamine/tpl/base.xkb_symbols     | 2 +-
 kalamine/tpl/full.xkb_symbols     | 2 +-
 kalamine/tpl/full_1dk.xkb_symbols | 2 +-
 5 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 04f654e..99c037f 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -54,11 +54,15 @@ jobs:
           python -m kalamine.cli build layouts/*.toml
           python -m kalamine.cli new test.toml
           pytest
+
       - name: Run black
-        run: black kalamine
+        run: black kalamine --check
+
       - name: Run isort
-        run: isort kalamine
+        run: isort kalamine --check
+
       - name: Run ruff
         run: ruff kalamine
+
       - name: Run mypy
         run: mypy kalamine
diff --git a/kalamine/server.py b/kalamine/server.py
index 5bc9ee2..464d345 100644
--- a/kalamine/server.py
+++ b/kalamine/server.py
@@ -75,17 +75,19 @@ def send(
 
             # XXX always reloads the layout on the root page, never in sub pages
             nonlocal kb_layout
-            if self.path == "/json":
+            if self.path == "/favicon.ico":
+                pass
+            elif self.path == "/json":
                 send(json.dumps(kb_layout.json), content="application/json")
             elif self.path == "/keylayout":
                 # send(kb_layout.keylayout, content='application/xml')
                 send(kb_layout.keylayout)
             elif self.path == "/klc":
-                send(kb_layout.klc, charset="utf-16-le")
+                send(kb_layout.klc, charset="utf-16-le", content="text")
             elif self.path == "/xkb_keymap":
                 send(kb_layout.xkb_keymap)
             elif self.path == "/xkb_symbols":
-                send(kb_layout.xkb_symbols)
+                send(kb_layout.xkb_symbols.replace("//#", "//"))
             elif self.path == "/":
                 kb_layout = KeyboardLayout(load_layout(file_path))  # refresh
                 send(main_page(kb_layout), content="text/html")
diff --git a/kalamine/tpl/base.xkb_symbols b/kalamine/tpl/base.xkb_symbols
index a30da61..9b8b7ff 100644
--- a/kalamine/tpl/base.xkb_symbols
+++ b/kalamine/tpl/base.xkb_symbols
@@ -3,7 +3,7 @@
 //# This XKB symbols file should be copied to:
 //#     /usr/share/X11/xkb/symbols/custom
 //# or
-//#     $XKB_CONFIG_ROOT/xkb/symbols/custom
+//#     $XKB_CONFIG_ROOT/symbols/custom
 //#
 //# File          : ${fileName}.xkb_symbols
 // Project page  : ${url}
diff --git a/kalamine/tpl/full.xkb_symbols b/kalamine/tpl/full.xkb_symbols
index e8d990f..ca570de 100644
--- a/kalamine/tpl/full.xkb_symbols
+++ b/kalamine/tpl/full.xkb_symbols
@@ -3,7 +3,7 @@
 //# This XKB symbols file should be copied to:
 //#     /usr/share/X11/xkb/symbols/custom
 //# or
-//#     $XKB_CONFIG_ROOT/xkb}/symbols/custom
+//#     $XKB_CONFIG_ROOT/symbols/custom
 //#
 //# File          : ${fileName}.xkb_symbols
 // Project page  : ${url}
diff --git a/kalamine/tpl/full_1dk.xkb_symbols b/kalamine/tpl/full_1dk.xkb_symbols
index c93dbac..0943a0b 100644
--- a/kalamine/tpl/full_1dk.xkb_symbols
+++ b/kalamine/tpl/full_1dk.xkb_symbols
@@ -3,7 +3,7 @@
 //# This XKB symbols file should be copied to:
 //#     /usr/share/X11/xkb/symbols/custom
 //# or
-//#     $XKB_CONFIG_ROOT/xkb/symbols/custom
+//#     $XKB_CONFIG_ROOT/symbols/custom
 //#
 //# File          : ${fileName}.xkb_symbols
 // Project page  : ${url}