really basic mouse support
parent
0f6846c360
commit
a6e3e1675f
|
@ -181,6 +181,7 @@ editors = ["nano", "vim", "emacs", "vim -u NONE", "emacs -Q", "micro", "ed", "jo
|
||||||
default_prefs = {
|
default_prefs = {
|
||||||
# using default= is not completely reliable, sadly...
|
# using default= is not completely reliable, sadly...
|
||||||
"editor": os.getenv("EDITOR") or "nano",
|
"editor": os.getenv("EDITOR") or "nano",
|
||||||
|
"mouse_integration": False,
|
||||||
"jump_count": 1,
|
"jump_count": 1,
|
||||||
"shift_multiplier": 5,
|
"shift_multiplier": 5,
|
||||||
"integrate_external_editor": True,
|
"integrate_external_editor": True,
|
||||||
|
@ -261,7 +262,7 @@ class App(object):
|
||||||
self.loop = urwid.MainLoop(
|
self.loop = urwid.MainLoop(
|
||||||
urwid.Frame(self.body),
|
urwid.Frame(self.body),
|
||||||
palette=colormap,
|
palette=colormap,
|
||||||
handle_mouse=False)
|
handle_mouse=self.prefs["mouse_integration"])
|
||||||
|
|
||||||
|
|
||||||
def set_header(self, text, *format_specs):
|
def set_header(self, text, *format_specs):
|
||||||
|
@ -981,6 +982,13 @@ class App(object):
|
||||||
bbjrc("update", **self.prefs)
|
bbjrc("update", **self.prefs)
|
||||||
|
|
||||||
|
|
||||||
|
def toggle_mouse(self, button, value):
|
||||||
|
self.prefs["mouse_integration"] = value
|
||||||
|
self.loop.handle_mouse = value
|
||||||
|
self.loop.screen.set_mouse_tracking(value)
|
||||||
|
bbjrc("update", **self.prefs)
|
||||||
|
|
||||||
|
|
||||||
def toggle_spacing(self, button, value):
|
def toggle_spacing(self, button, value):
|
||||||
self.prefs["index_spacing"] = value
|
self.prefs["index_spacing"] = value
|
||||||
bbjrc("update", **self.prefs)
|
bbjrc("update", **self.prefs)
|
||||||
|
@ -1162,6 +1170,11 @@ class App(object):
|
||||||
state=self.prefs["index_spacing"],
|
state=self.prefs["index_spacing"],
|
||||||
on_state_change=self.toggle_spacing
|
on_state_change=self.toggle_spacing
|
||||||
),
|
),
|
||||||
|
urwid.CheckBox(
|
||||||
|
"Handle mouse (disrupts URL clicking)",
|
||||||
|
state=self.prefs["mouse_integration"],
|
||||||
|
on_state_change=self.toggle_mouse
|
||||||
|
),
|
||||||
urwid.Divider(),
|
urwid.Divider(),
|
||||||
*time_stuff,
|
*time_stuff,
|
||||||
urwid.Divider(),
|
urwid.Divider(),
|
||||||
|
@ -1768,6 +1781,19 @@ class ActionBox(urwid.ListBox):
|
||||||
app.reply(None, message)
|
app.reply(None, message)
|
||||||
|
|
||||||
|
|
||||||
|
def mouse_event(self, size, event, button, x, y, focus):
|
||||||
|
if super(ActionBox, self).mouse_event(size, event, button, x, y, focus):
|
||||||
|
return
|
||||||
|
if button == 4:
|
||||||
|
for x in range(app.prefs["shift_multiplier"]):
|
||||||
|
self._keypress_up(size)
|
||||||
|
|
||||||
|
elif button == 5:
|
||||||
|
for x in range(app.prefs["shift_multiplier"]):
|
||||||
|
self._keypress_down(size)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def frilly_exit():
|
def frilly_exit():
|
||||||
"""
|
"""
|
||||||
Exit with some flair. Will fill the screen with rainbows
|
Exit with some flair. Will fill the screen with rainbows
|
||||||
|
|
Loading…
Reference in New Issue