Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions core/hinting/hinting.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
from talon import (
Context,
Module,
actions,
)

mod = Module()
mod.tag("hinting_active", desc="Indicates hints are active")
mod.setting(
"hinting_auto_hint_menus",
type=bool,
default=False,
desc="Enables experimental auto-hinting of menus",
)
mod.setting(
"hinting_filter_overlapping_item",
type=bool,
default=True,
desc="Enables filtering of overlapping rects",
)
mod.setting(
"hinting_filter_using_actions",
type=bool,
default=False,
desc="Enables filtering of elements without AXPress, AXShowMenu or similar actions",
)

mod.setting(
"hinting_filter_using_element_at",
type=bool,
default=False,
desc="Enables filtering of elements without AXPress, AXShowMenu or similar actions",
)

mod.setting(
"hinting_iou_threshold",
type=float,
default=0.15,
desc="Sets min threshold for eliminating overlapping elements",
)


ctx = Context()


@mod.capture(rule="<user.letter> (twice | second)")
def hinting_double(m) -> str:
return m.letter + m.letter


@mod.capture(
rule="<user.letter> | <user.letter> <user.letter> | <user.hinting_double> "
)
def hinting(m) -> str:
return "".join(m)


@ctx.action_class("main")
class MainActions:
def mouse_click(button: int = 0):
actions.user.hinting_close(True)
actions.next(button)

def mouse_scroll(y: float = 0, x: float = 0, by_lines: bool = False):
actions.user.hinting_close(True)
actions.next(y, x, by_lines)


@mod.action_class
class Actions:
def hinting_close(clear_cache: True):
"""Closes hinting canvas if open"""
return False

def hinting_toggle():
"""Toggles hints"""
pass

def hinting_select(mouse_button: int, label: str, click_count: int):
"""Click the hint based on the index"""
pass
12 changes: 12 additions & 0 deletions core/hinting/hinting.talon
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
tag: user.hinting_active
-

^<user.hinting>$: user.hinting_select(0, hinting, 1)

^<user.hinting> connie$: user.hinting_select(1, hinting, 1)

^<user.hinting> duke$: user.hinting_select(0, hinting, 2)

^<user.hinting> hover$: user.hinting_select(0, hinting, 0)

scrape: user.hinting_close()
Loading