diff --git a/piker/brokers/ib.py b/piker/brokers/ib.py index b1d1cc42..420087a3 100644 --- a/piker/brokers/ib.py +++ b/piker/brokers/ib.py @@ -2556,89 +2556,4 @@ async def data_reset_hack( await tractor.to_asyncio.run_task(vnc_click_hack) # we don't really need the ``xdotool`` approach any more B) - return - - # TODO: see if we can find which window is mapped to which process? - # for eg. if we can launch a paper account with docker and then find - # the pid of it, can we send keycommands to that container somehow? - - # TODO: try out this lib instead, seems to be the most modern - # and usess the underlying lib: - # https://github.com/rshk/python-libxdo - - # TODO: seems to be a few libs for python but not sure - # if they support all the sub commands we need, order of - # most recent commit history: - # https://github.com/rr-/pyxdotool - # https://github.com/ShaneHutter/pyxdotool - # https://github.com/cphyc/pyxdotool - - try: - import i3ipc - except ImportError: - return False - log.warning('IB data hack no-supported on ur platformz') - - i3 = i3ipc.Connection() - t = i3.get_tree() - - orig_win_id = t.find_focused().window - - # for tws - win_names: list[str] = [ - 'Interactive Brokers', # tws running in i3 - 'IB Gateway', # gw running in i3 - # 'IB', # gw running in i3 (newer version?) - ] - - combos: dict[str, str] = { - # only required if we need a connection reset. - 'connection': ('ctrl+alt+r', 12), - - # data feed reset. - 'data': ('ctrl+alt+f', 6) - } - - for name in win_names: - results = t.find_titled(name) - print(f'results for {name}: {results}') - if results: - con = results[0] - print(f'Resetting data feed for {name}') - win_id = str(con.window) - w, h = con.rect.width, con.rect.height - - # TODO: only run the reconnect (2nd) kc on a detected - # disconnect? - key_combo, timeout = combos[reset_type] - # for key_combo, timeout in [ - # # only required if we need a connection reset. - # # ('ctrl+alt+r', 12), - # # data feed reset. - # ('ctrl+alt+f', 6) - # ]: - await trio.run_process([ - 'xdotool', - 'windowactivate', '--sync', win_id, - - # move mouse to bottom left of window (where there should - # be nothing to click). - 'mousemove_relative', '--sync', str(w - 4), str(h - 4), - - # NOTE: we may need to stick a `--retry 3` in here.. - 'click', '--window', win_id, - '--repeat', '3', '1', - - # hackzorzes - 'key', key_combo, - # ], - # timeout=timeout, - ]) - - # re-activate and focus original window - await trio.run_process([ - 'xdotool', - 'windowactivate', '--sync', str(orig_win_id), - 'click', '--window', str(orig_win_id), '1', - ]) return True