Skip to content

Commit 7932a45

Browse files
committed
Added a checkbox to enable scroll by space
1 parent 3d5ff7d commit 7932a45

File tree

4 files changed

+16
-1
lines changed

4 files changed

+16
-1
lines changed

assets/javascripts/app/settings.coffee

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class app.Settings
1313
'size'
1414
'tips'
1515
'autoInstall'
16+
'spaceScroll'
1617
]
1718

1819
INTERNAL_KEYS = [
@@ -33,6 +34,7 @@ class app.Settings
3334
schema: 1
3435
analyticsConsent: false
3536
theme: 'auto'
37+
spaceScroll: 0
3638

3739
constructor: ->
3840
@store = new CookiesStore

assets/javascripts/app/shortcuts.coffee

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ class app.Shortcuts
1818
swapArrowKeysBehavior: ->
1919
app.settings.get('arrowScroll')
2020

21+
spaceScroll: ->
22+
app.settings.get('spaceScroll')
23+
2124
showTip: ->
2225
app.showTip('KeyNav')
2326
@showTip = null
@@ -59,7 +62,7 @@ class app.Shortcuts
5962
@trigger 'escape'
6063
false
6164
when 32
62-
if event.target.type is 'search' and (not @lastKeypress or @lastKeypress < Date.now() - 3000)
65+
if event.target.type is 'search' and @spaceScroll() and (not @lastKeypress or @lastKeypress < Date.now() - 1000)
6366
@trigger 'pageDown'
6467
false
6568
when 33

assets/javascripts/templates/pages/settings_tmpl.coffee

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ app.templates.settingsPage = (settings) -> """
5656
<input type="checkbox" form="settings" name="arrowScroll" value="1"#{if settings.arrowScroll then ' checked' else ''}>Use arrow keys to scroll the main content area
5757
<small>With this checked, use <code class="_label">shift</code> + <code class="_label">&uarr;</code><code class="_label">&darr;</code><code class="_label">&larr;</code><code class="_label">&rarr;</code> to navigate the sidebar.</small>
5858
</label>
59+
<label class="_settings-label">
60+
<input type="checkbox" form="settings" name="spaceScroll" value="1"#{if settings.spaceScroll then ' checked' else ''}>Use spacebar to scroll during search
61+
</label>
5962
</div>
6063
</div>
6164

assets/javascripts/views/content/settings_page.coffee

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class app.views.SettingsPage extends app.View
1616
settings.arrowScroll = app.settings.get('arrowScroll')
1717
settings.autoInstall = app.settings.get('autoInstall')
1818
settings.analyticsConsent = app.settings.get('analyticsConsent')
19+
settings.spaceScroll = app.settings.get('spaceScroll')
1920
settings.autoSupported = app.settings.autoSupported
2021
settings[layout] = app.settings.hasLayout(layout) for layout in app.settings.LAYOUTS
2122
settings
@@ -40,6 +41,10 @@ class app.views.SettingsPage extends app.View
4041
resetAnalytics() unless enable
4142
return
4243

44+
toggleSpaceScroll: (enable) ->
45+
app.settings.set('spaceScroll', if enable then 1 else 0)
46+
return
47+
4348
toggle: (name, enable) ->
4449
app.settings.set(name, enable)
4550
return
@@ -85,6 +90,8 @@ class app.views.SettingsPage extends app.View
8590
@import input.files[0], input
8691
when 'analyticsConsent'
8792
@toggleAnalyticsConsent input.checked
93+
when 'spaceScroll'
94+
@toggleSpaceScroll input.checked
8895
else
8996
@toggle input.name, input.checked
9097
return

0 commit comments

Comments
 (0)