瀏覽代碼

Icky hack

Rob Austein 5 年之前
父節點
當前提交
b7434629d7
共有 1 個文件被更改,包括 37 次插入0 次删除
  1. 37 0
      README.md

+ 37 - 0
README.md

@@ -47,3 +47,40 @@ https://ipmi.bar.example.org
 There's probably some way to preset Waterfox's MIME handler for `jnlp`
 files to run `/usr/bin/javaws` but after working out all of the above
 I lack the patience to dig further today.
+
+Yeah, there's a way, and it's disgusting: pre-populate the Waterfox
+config tree, then overwrite or edit `handlers.json`.  Something like
+this would work for the pre-population step:
+
+```
+waterfox --headless & waterfox=$!
+sleep 2
+kill -HUP $waterfox
+```
+
+Then either blindly `cp` or use a small Python script to edit the
+JSON.  The snippet we want to add is:
+
+```
+        "application/x-java-jnlp-file": {
+            "action": 2,
+            "extensions": [
+                "jnlp"
+            ],
+            "handlers": [
+                {
+                    "name": "javaws",
+                    "path": "/usr/bin/javaws"
+                }
+            ]
+        }
+```
+
+as another entry in the `mimeTypes` section.
+
+```
+>>> import json
+>>> handlers = json.load(open("handlers.json"))
+>>> handlers["mimeTypes"]["application/x-java-jnlp-file"]
+{u'action': 2, u'extensions': [u'jnlp'], u'handlers': [{u'path': u'/usr/bin/javaws', u'name': u'javaws'}]}
+```