File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ class app.Settings
1414 ' tips'
1515 ' autoInstall'
1616 ' spaceScroll'
17+ ' spaceTimeout'
1718 ]
1819
1920 INTERNAL_KEYS = [
@@ -35,6 +36,7 @@ class app.Settings
3536 analyticsConsent : false
3637 theme : ' auto'
3738 spaceScroll : 1
39+ spaceTimeout : 0.5
3840
3941 constructor : ->
4042 @store = new CookiesStore
Original file line number Diff line number Diff line change @@ -20,11 +20,14 @@ class app.Shortcuts
2020
2121 spaceScroll : ->
2222 app .settings .get (' spaceScroll' )
23-
23+
2424 showTip : ->
2525 app .showTip (' KeyNav' )
2626 @showTip = null
2727
28+ spaceTimeout : ->
29+ app .settings .get (' spaceTimeout' )
30+
2831 onKeydown : (event ) =>
2932 return if @ buggyEvent (event)
3033 result = if event .ctrlKey or event .metaKey
@@ -62,7 +65,7 @@ class app.Shortcuts
6265 @ trigger ' escape'
6366 false
6467 when 32
65- if event .target .type is ' search' and @ spaceScroll () and (not @lastKeypress or @lastKeypress < Date .now () - 500 )
68+ if event .target .type is ' search' and @ spaceScroll () and (not @lastKeypress or @lastKeypress < Date .now () - ( @ spaceTimeout () * 1000 ) )
6669 @ trigger ' pageDown'
6770 false
6871 when 33
Original file line number Diff line number Diff line change @@ -59,6 +59,10 @@ app.templates.settingsPage = (settings) -> """
5959 <label class="_settings-label">
6060 <input type="checkbox" form="settings" name="spaceScroll" value="1"#{ if settings .spaceScroll then ' checked' else ' ' } >Use spacebar to scroll during search
6161 </label>
62+ <label class="_settings-label">
63+ <input type="number" form="settings" name="spaceTimeout" min="0" max="5" value="#{ settings .spaceTimeout } "> Delay until you can scroll by pressing space
64+ <small>Time in seconds</small>
65+ </label>
6266 </div>
6367 </div>
6468
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ class app.views.SettingsPage extends app.View
1717 settings .autoInstall = app .settings .get (' autoInstall' )
1818 settings .analyticsConsent = app .settings .get (' analyticsConsent' )
1919 settings .spaceScroll = app .settings .get (' spaceScroll' )
20+ settings .spaceTimeout = app .settings .get (' spaceTimeout' )
2021 settings .autoSupported = app .settings .autoSupported
2122 settings[layout] = app .settings .hasLayout (layout) for layout in app .settings .LAYOUTS
2223 settings
@@ -45,6 +46,9 @@ class app.views.SettingsPage extends app.View
4546 app .settings .set (' spaceScroll' , if enable then 1 else 0 )
4647 return
4748
49+ setScrollTimeout : (value ) ->
50+ app .settings .set (' spaceTimeout' , value)
51+
4852 toggle : (name , enable ) ->
4953 app .settings .set (name, enable)
5054 return
@@ -92,6 +96,8 @@ class app.views.SettingsPage extends app.View
9296 @ toggleAnalyticsConsent input .checked
9397 when ' spaceScroll'
9498 @ toggleSpaceScroll input .checked
99+ when ' spaceTimeout'
100+ @ setScrollTimeout input .value
95101 else
96102 @ toggle input .name , input .checked
97103 return
You can’t perform that action at this time.
0 commit comments