mirror of
https://github.com/markqvist/NomadNet.git
synced 2026-06-05 08:11:21 +00:00
32 lines
812 B
Python
32 lines
812 B
Python
import sys
|
|
import base64
|
|
import urwid
|
|
import RNS
|
|
|
|
|
|
def osc52_copy(text):
|
|
if not text:
|
|
return False
|
|
try:
|
|
encoded = base64.b64encode(text.encode("utf-8")).decode("ascii")
|
|
sys.stdout.write("\x1b]52;c;" + encoded + "\x07")
|
|
sys.stdout.flush()
|
|
return True
|
|
except Exception as e:
|
|
RNS.log("Could not emit clipboard escape sequence: "+str(e), RNS.LOG_ERROR)
|
|
return False
|
|
|
|
|
|
class ClickableIcon(urwid.Text):
|
|
_selectable = False
|
|
|
|
def __init__(self, text, on_click=None):
|
|
super().__init__(text)
|
|
self._on_click = on_click
|
|
|
|
def mouse_event(self, size, event, button, x, y, focus):
|
|
if button == 1 and "press" in event and self._on_click is not None:
|
|
self._on_click()
|
|
return True
|
|
return False
|