рдпрд╣ рдХрд╛рдлреА рдХрдо рдорд╛рдВрдЧ рд╡рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддрд╛ред
_рдореВрд▓ рд░реВрдк рд╕реЗ @mrmr1993 рджреНрд╡рд╛рд░рд╛ https://github.com/philc/vimium/issues/874#issuecomment -63235870_ рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛
рдирдорд╕реНрддреЗ рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдЖрджреЗрд╢ рдХреЛ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП? рдореИрдВ рд╡рд┐рдорд┐рдпрдо рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рдкрд░ рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВрдиреЗ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рд╡рд┐рдорд┐рдпрдо рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрдЭ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ ...
рдпрджрд┐ рдЖрдк рдХреНрд░реЛрдо рдХрд╛ рдЕрдкрдирд╛ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╣ рд╢рд╛рдЦрд╛ рд░рд╛рдЗрдЯ рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ рдпрд╛ contextmenu
рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП click
/ mousedown
/ mouseup
рдИрд╡реЗрдВрдЯ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░
рдпрджрд┐ рдЖрдк рдпрд╣реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ ae829c8cf8d2bc507653451d9ad940dc5e47d96f (рдЙрд╕ рд╢рд╛рдЦрд╛ рдореЗрдВ рдкреНрд░рддрд┐рдмрджреНрдз) рдФрд░ рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдкрдХреЛ рдпрд╣ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
background_scripts/commands.coffee
рд╕реАрдзреЗ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░реЗрдВsimulateContextMenuEvent
рдХрд┐ рд░рдЦ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ lib/dom_utils.coffee
simulateClick
(рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдореЗрдВ рд╣реИ) рдФрд░ рдЗрд╕реЗ simulateMouseEvent
рднреА рдкрд╛рд╕ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдЕрдВрддрд┐рдо 0
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ mouseEvent.initMouseEvent
рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПbutton == 0
рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рдЬреЛрдбрд╝реЗрдВcontent_scripts/link_hints.coffee
:RIGHT_CLICK =
name: "right-click"
indicator: "Right click"
linkActivator: (link) ->
DomUtils.simulateClick(link, {
altKey: false,
ctrlKey: false,
metaKey: false }, 2)
DomUtils.simulateContextMenuEvent link
RIGHT_CLICK
рд╕реЗ available_modes
content_scripts/link_hints.coffee
activateModeToTriggerRightClickAction (count) -> <strong i="37">@activateMode</strong> count, mode: RIGHT_CLICK
рдореЗрдВ рдЕрдиреНрдп рд╕рдорд╛рди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕ content_scripts/link_hints.coffee
рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╢рд╛рдпрдж рдЖрдЧреЗ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рд╢реБрднрдХрд╛рдордирд╛рдПрдБ!
+1 рдореБрдЭреЗ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдИ рдРрдкреНрд╕ рдХреЗ рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореИрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдорд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреВрдВред рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЖрдкрдХреЛ Spotify рдХреЛ рджреЗрдЦрдХрд░)ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рд╡рд┐рдорд┐рдпрдо рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрдЭ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ ...
рдпрджрд┐ рдЖрдк рдХреНрд░реЛрдо рдХрд╛ рдЕрдкрдирд╛ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╣ рд╢рд╛рдЦрд╛ рд░рд╛рдЗрдЯ рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ рдпрд╛
contextmenu
рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдПclick
/mousedown
/mouseup
рдИрд╡реЗрдВрдЯ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░рдпрджрд┐ рдЖрдк рдпрд╣реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ ae829c8cf8d2bc507653451d9ad940dc5e47d96f (рдЙрд╕ рд╢рд╛рдЦрд╛ рдореЗрдВ рдкреНрд░рддрд┐рдмрджреНрдз) рдФрд░ рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдкрдХреЛ рдпрд╣ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
background_scripts/commands.coffee
рд╕реАрдзреЗ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░реЗрдВsimulateContextMenuEvent
рдХрд┐ рд░рдЦ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИlib/dom_utils.coffee
simulateClick
(рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдореЗрдВ рд╣реИ) рдФрд░ рдЗрд╕реЗsimulateMouseEvent
рднреА рдкрд╛рд╕ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдЕрдВрддрд┐рдо0
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛmouseEvent.initMouseEvent
рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПbutton == 0
рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рдЬреЛрдбрд╝реЗрдВcontent_scripts/link_hints.coffee
:RIGHT_CLICK
рд╕реЗavailable_modes
content_scripts/link_hints.coffee
activateModeToTriggerRightClickAction (count) -> <strong i="37">@activateMode</strong> count, mode: RIGHT_CLICK
рдореЗрдВ рдЕрдиреНрдп рд╕рдорд╛рди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕content_scripts/link_hints.coffee
рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╢рд╛рдпрдж рдЖрдЧреЗ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рд╢реБрднрдХрд╛рдордирд╛рдПрдБ!