dotfiles/talon/user/community/apps/okular/okular.py

49 lines
935 B
Python

from talon import Context, Module, actions
# --- App definition ---
mod = Module()
mod.apps.okular = r"""
os: windows
and app.name: okular.exe
os: windows
and app.exe: /^okular\.exe$/i
"""
mod.apps.okular = """
os: linux
and app.name: okular
"""
# TODO: mac context and implementation
# Context matching
ctx = Context()
ctx.matches = """
os: windows
os: linux
app: okular
"""
# --- Implement actions ---
@ctx.action_class("user")
class UserActions:
# user.pages
def page_current():
actions.key("ctrl-g")
page = actions.edit.selected_text()
actions.key("escape")
return int(page)
def page_next():
actions.key("l")
def page_previous():
actions.key("h")
def page_jump(number: int):
actions.key("ctrl-g")
actions.sleep("100ms")
actions.insert(str(number))
actions.key("enter")
def page_final():
actions.key("ctrl-end")