Clicking with modifier on the group button gives more powerful control. (Shift: Rename, Ctrl: Join current, Super: Include siblings)
This commit is contained in:
parent
b85f7c402c
commit
618e38d18b
|
@ -772,7 +772,40 @@ class Terminal(gtk.VBox):
|
||||||
def on_group_button_press(self, widget, event):
|
def on_group_button_press(self, widget, event):
|
||||||
"""Handler for the group button"""
|
"""Handler for the group button"""
|
||||||
if event.button == 1:
|
if event.button == 1:
|
||||||
|
if event.type == gtk.gdk._2BUTTON_PRESS or \
|
||||||
|
event.type == gtk.gdk._3BUTTON_PRESS:
|
||||||
|
# Ignore these, or they make the interaction bad
|
||||||
|
return False
|
||||||
|
# Super key applies interaction to all terms in group
|
||||||
|
include_siblings=event.state & gtk.gdk.MOD4_MASK == gtk.gdk.MOD4_MASK
|
||||||
|
if include_siblings:
|
||||||
|
targets=self.terminator.get_sibling_terms(self)
|
||||||
|
else:
|
||||||
|
targets=[self]
|
||||||
|
if event.state & gtk.gdk.CONTROL_MASK == gtk.gdk.CONTROL_MASK:
|
||||||
|
dbg('on_group_button_press: toggle terminal to focused terminals group')
|
||||||
|
focused=self.get_toplevel().get_focussed_terminal()
|
||||||
|
if focused in targets: targets.remove(focused)
|
||||||
|
if self != focused:
|
||||||
|
if self.group==focused.group:
|
||||||
|
new_group=None
|
||||||
|
else:
|
||||||
|
new_group=focused.group
|
||||||
|
[term.set_group(None, new_group) for term in targets]
|
||||||
|
[term.titlebar.update(focused) for term in targets]
|
||||||
|
return True
|
||||||
|
elif event.state & gtk.gdk.SHIFT_MASK == gtk.gdk.SHIFT_MASK:
|
||||||
|
dbg('on_group_button_press: rename of terminals group')
|
||||||
|
self.targets_for_new_group = targets
|
||||||
|
self.titlebar.create_group()
|
||||||
|
return True
|
||||||
|
elif event.type == gtk.gdk.BUTTON_PRESS:
|
||||||
|
# Single Click gives popup
|
||||||
|
dbg('on_group_button_press: group menu popup')
|
||||||
self.create_popup_group_menu(widget, event)
|
self.create_popup_group_menu(widget, event)
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
dbg('on_group_button_press: unknown group button interaction')
|
||||||
return(False)
|
return(False)
|
||||||
|
|
||||||
def on_keypress(self, widget, event):
|
def on_keypress(self, widget, event):
|
||||||
|
|
Loading…
Reference in New Issue