-
Notifications
You must be signed in to change notification settings - Fork 70
/
apps.fnl
55 lines (47 loc) · 1.35 KB
/
apps.fnl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
(local {: global-filter} (require :lib.utils))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; App switcher
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(fn calc-thumbnail-size
[]
"
Calculates the height of thumbnail in pixels based on the screen size
@TODO Make this advisable when #102 lands
"
(let [screen (hs.screen.mainScreen)
{: h} (: screen :currentMode)]
(/ h 2)))
(fn init
[config]
(global switcher
(hs.window.switcher.new
(or (?. config :modules :switcher :filter) (global-filter))
{:textSize 12
:showTitles false
:showThumbnails false
:showSelectedTitle false
:selectedThumbnailSize (calc-thumbnail-size)
:backgroundColor [0 0 0 0]})))
(fn prev-app
[]
"
Open the fancy hammerspoon window switcher and move the cursor to the previous
app.
Runs side-effects
Returns nil
"
(: switcher :previous))
(fn next-app
[]
"
Open the fancy hammerspoon window switcher and move the cursor to next app.
Runs side-effects
Returns nil
"
(: switcher :next))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Exports
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
{: init
: prev-app
: next-app}