Skip to content

Commit 9013fc8

Browse files
committed
apparently on linux data-path is an array...
Signed-off-by: Chris Granger <ibdknox@gmail.com>
1 parent 02d2015 commit 9013fc8

File tree

2 files changed

+92
-89
lines changed

2 files changed

+92
-89
lines changed

src/lt/objs/files.cljs

+6-5
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
(def wrench (load/node-module "wrench"))
1212
(def os (js/require "os"))
1313
(def app (.-App (js/require "nw.gui")))
14+
(def data-path (let [path (.-dataPath app)]
15+
(if (array? path)
16+
(first path)
17+
path)))
1418

1519
(defn typelist->index [cur types]
1620
(let [full (map (juxt :name identity) types)
@@ -269,10 +273,7 @@
269273
(catch js/global.Error e)))
270274

271275
(defn join [& segs]
272-
(when (filter (complement string?) segs)
273-
(.trace js/console)
274-
(println "Trying to join non-string: " segs))
275-
(apply (.-join fpath) (filter string? segs)))
276+
(apply (.-join fpath) (filter string? (map str segs))))
276277

277278
(defn home [path]
278279
(let [h (if (= js/process.platform "win32")
@@ -286,7 +287,7 @@
286287
(defn lt-user-dir [path]
287288
(if js/process.env.LT_USER_DIR
288289
(join js/process.env.LT_USER_DIR (or path ""))
289-
(join (.-dataPath app) path)))
290+
(join data-path path)))
290291

291292
(defn walk-up-find [start find]
292293
(let [roots (get-roots)]

src/lt/objs/settings.cljs

+86-84
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,11 @@
6060
(safe-read file)))
6161

6262
(defn behavior-diffs-in [path]
63-
(->>
64-
(filter #(= (files/ext %) "behaviors")
65-
(files/full-path-ls path))
66-
(mapv parse-file)))
63+
(when (files/exists? path)
64+
(->>
65+
(filter #(= (files/ext %) "behaviors")
66+
(files/full-path-ls path))
67+
(mapv parse-file))))
6768

6869
(defn load-all []
6970
(let [final (reduce (fn [fin cur]
@@ -106,76 +107,76 @@
106107
;;*********************************************************
107108

108109
(behavior ::default-behavior-diffs
109-
:triggers #{:behaviors.diffs.default+}
110-
:reaction (fn [this diffs]
111-
(concat diffs (behavior-diffs-in (files/lt-home "settings/default/")))
112-
))
110+
:triggers #{:behaviors.diffs.default+}
111+
:reaction (fn [this diffs]
112+
(concat diffs (behavior-diffs-in (files/lt-home "settings/default/")))
113+
))
113114

114115
(behavior ::user-behavior-diffs
115-
:triggers #{:behaviors.diffs.user+}
116-
:reaction (fn [this diffs]
117-
(concat diffs (behavior-diffs-in (files/lt-user-dir "settings/")))
118-
))
116+
:triggers #{:behaviors.diffs.user+}
117+
:reaction (fn [this diffs]
118+
(concat diffs (behavior-diffs-in (files/lt-user-dir "settings/")))
119+
))
119120

120121
(behavior ::initial-behaviors
121-
:triggers #{:pre-init}
122-
:reaction (fn [this]
123-
(load-all)
124-
(doseq [inst (vals @object/instances)]
125-
(object/refresh! inst))))
122+
:triggers #{:pre-init}
123+
:reaction (fn [this]
124+
(when-not (files/exists? (files/lt-user-dir "settings"))
125+
(files/mkdir (files/lt-user-dir "settings")))
126+
(load-all)
127+
(doseq [inst (vals @object/instances)]
128+
(object/refresh! inst))))
126129

127130
(behavior ::load-behaviors
128-
:triggers #{:behaviors.reload}
129-
:reaction (fn [this]
130-
(load-all)
131-
(notifos/working "loading behaviors...")
132-
(refresh-all (vals @object/instances))))
131+
:triggers #{:behaviors.reload}
132+
:reaction (fn [this]
133+
(load-all)
134+
(notifos/working "loading behaviors...")
135+
(refresh-all (vals @object/instances))))
133136

134137

135138
(behavior ::eval-settings
136-
:triggers #{:eval :eval.one}
137-
:reaction (fn [ed]
138-
(object/raise ed :save)))
139+
:triggers #{:eval :eval.one}
140+
:reaction (fn [ed]
141+
(object/raise ed :save)))
139142

140143
(behavior ::grab-workspace-behaviors
141-
:triggers #{:set}
142-
:reaction (fn [workspace old]
143-
(let [old (:ws-behaviors old)
144-
old (when-not (empty? old)
145-
(reader/read-string old))
146-
neue (:ws-behaviors @workspace)
147-
neue (when-not (empty? neue)
148-
(reader/read-string neue))]
149-
(when old
150-
(apply-diff (reverse-diff old))
151-
(refresh-diffed old))
152-
(when neue
153-
(apply-diff neue)
154-
(refresh-diffed neue)))))
144+
:triggers #{:set}
145+
:reaction (fn [workspace old]
146+
(let [old (:ws-behaviors old)
147+
old (when-not (empty? old)
148+
(reader/read-string old))
149+
neue (:ws-behaviors @workspace)
150+
neue (when-not (empty? neue)
151+
(reader/read-string neue))]
152+
(when old
153+
(apply-diff (reverse-diff old))
154+
(refresh-diffed old))
155+
(when neue
156+
(apply-diff neue)
157+
(refresh-diffed neue)))))
155158

156159
(behavior ::workspace-save
157-
:triggers #{:save}
158-
:reaction (fn [editor]
159-
(let [{:keys [path]} (@editor :info)
160-
final (object/raise-reduce editor :save+ (editor/->val editor))]
161-
(object/merge! workspace/current-ws {:ws-behaviors final})
162-
(object/merge! editor {:dirty false})
163-
(object/raise editor :saved)
164-
(object/raise editor :clean)
165-
(object/raise workspace/current-ws :serialize!))))
160+
:triggers #{:save}
161+
:reaction (fn [editor]
162+
(let [{:keys [path]} (@editor :info)
163+
final (object/raise-reduce editor :save+ (editor/->val editor))]
164+
(object/merge! workspace/current-ws {:ws-behaviors final})
165+
(object/merge! editor {:dirty false})
166+
(object/raise editor :saved)
167+
(object/raise editor :clean)
168+
(object/raise workspace/current-ws :serialize!))))
166169

167170
(def user-behaviors-path (files/lt-user-dir "settings/user.behaviors"))
168171
(def user-keymap-path (files/lt-user-dir "settings/user.keymap"))
169172

170173
(behavior ::create-user-settings
171-
:triggers #{:init}
172-
:reaction (fn [app]
173-
(when-not (files/exists? (files/lt-user-dir "settings"))
174-
(files/mkdir (files/lt-user-dir "settings")))
175-
(when-not (files/exists? user-behaviors-path)
176-
(files/copy (files/lt-home "/core/misc/example.behaviors") user-behaviors-path))
177-
(when-not (files/exists? user-keymap-path)
178-
(files/copy (files/lt-home "/core/misc/example.keymap") user-keymap-path))))
174+
:triggers #{:init}
175+
:reaction (fn [app]
176+
(when-not (files/exists? user-behaviors-path)
177+
(files/copy (files/lt-home "/core/misc/example.behaviors") user-behaviors-path))
178+
(when-not (files/exists? user-keymap-path)
179+
(files/copy (files/lt-home "/core/misc/example.keymap") user-keymap-path))))
179180

180181
;;*********************************************************
181182
;; Commands
@@ -226,9 +227,9 @@
226227
(cmd/exec! :open-path (files/lt-home "/settings/default/default.keymap")))})
227228

228229
(behavior ::on-close-remove
229-
:triggers #{:close}
230-
:reaction (fn [this]
231-
(tabs/rem! this)))
230+
:triggers #{:close}
231+
:reaction (fn [this]
232+
(tabs/rem! this)))
232233

233234

234235
(defn ->ordered-keystr [k]
@@ -252,8 +253,8 @@
252253
(defn fix-keys [[k v]]
253254
(let [k (string/replace k "pmeta" kb/meta)
254255
keys (string/split k " ")]
255-
;;ctrl cmd alt altgr shift
256-
[(reduce #(str % " " %2) (map ->ordered-keystr keys)) v]))
256+
;;ctrl cmd alt altgr shift
257+
[(reduce #(str % " " %2) (map ->ordered-keystr keys)) v]))
257258

258259
(defn +keys [cur m]
259260
(reduce (fn [res [k v]]
@@ -280,10 +281,11 @@
280281
(reader/read-string)))
281282

282283
(defn keymap-diffs-in [path]
283-
(->>
284-
(filter #(= (files/ext %) "keymap")
285-
(files/full-path-ls path))
286-
(map parse-key-file)))
284+
(when (files/exists? path)
285+
(->>
286+
(filter #(= (files/ext %) "keymap")
287+
(files/full-path-ls path))
288+
(map parse-key-file))))
287289

288290
(defn load-all-keys []
289291
(let [final (reduce (fn [fin cur]
@@ -295,34 +297,34 @@
295297
(reset! kb/keys final)))
296298

297299
(behavior ::default-keymap-diffs
298-
:triggers #{:keymap.diffs.default+}
299-
:reaction (fn [this diffs]
300-
(concat diffs (keymap-diffs-in (files/lt-home "/settings/default/")))
301-
))
300+
:triggers #{:keymap.diffs.default+}
301+
:reaction (fn [this diffs]
302+
(concat diffs (keymap-diffs-in (files/lt-home "/settings/default/")))
303+
))
302304

303305
(behavior ::user-keymap-diffs
304-
:triggers #{:keymap.diffs.user+}
305-
:reaction (fn [this diffs]
306-
(concat diffs (keymap-diffs-in (files/lt-user-dir "/settings/")))
307-
))
306+
:triggers #{:keymap.diffs.user+}
307+
:reaction (fn [this diffs]
308+
(concat diffs (keymap-diffs-in (files/lt-user-dir "/settings/")))
309+
))
308310

309311
(behavior ::load-keys
310-
:triggers #{:pre-init}
311-
:reaction (fn [this]
312-
(load-all-keys)
313-
(kb/refresh)
314-
(object/raise (first (object/by-tag :app)) :app.keys.load)))
312+
:triggers #{:pre-init}
313+
:reaction (fn [this]
314+
(load-all-keys)
315+
(kb/refresh)
316+
(object/raise (first (object/by-tag :app)) :app.keys.load)))
315317

316318

317319
(behavior ::on-behaviors-editor-save
318-
:triggers #{:saved}
319-
:reaction (fn [editor]
320-
(cmd/exec! :behaviors.reload)))
320+
:triggers #{:saved}
321+
:reaction (fn [editor]
322+
(cmd/exec! :behaviors.reload)))
321323

322324
(behavior ::on-keymap-editor-save
323-
:triggers #{:saved}
324-
:reaction (fn [editor]
325-
(cmd/exec! :keymaps.reload)))
325+
:triggers #{:saved}
326+
:reaction (fn [editor]
327+
(cmd/exec! :keymaps.reload)))
326328

327329

328330

0 commit comments

Comments
 (0)