fast resize keyboard shortcuts
This commit is contained in:
parent
dfc0d8dbca
commit
8552037fc8
|
@ -109,6 +109,7 @@ DEFAULTS = {
|
||||||
'title_inactive_fg_color' : '#000000',
|
'title_inactive_fg_color' : '#000000',
|
||||||
'title_inactive_bg_color' : '#c0bebf',
|
'title_inactive_bg_color' : '#c0bebf',
|
||||||
'inactive_color_offset': 0.8,
|
'inactive_color_offset': 0.8,
|
||||||
|
'fast_resize_step': 50,
|
||||||
'enabled_plugins' : ['LaunchpadBugURLHandler',
|
'enabled_plugins' : ['LaunchpadBugURLHandler',
|
||||||
'LaunchpadCodeURLHandler',
|
'LaunchpadCodeURLHandler',
|
||||||
'APTURLHandler'],
|
'APTURLHandler'],
|
||||||
|
@ -152,6 +153,10 @@ DEFAULTS = {
|
||||||
'resize_down' : '<Shift><Control>Down',
|
'resize_down' : '<Shift><Control>Down',
|
||||||
'resize_left' : '<Shift><Control>Left',
|
'resize_left' : '<Shift><Control>Left',
|
||||||
'resize_right' : '<Shift><Control>Right',
|
'resize_right' : '<Shift><Control>Right',
|
||||||
|
'resize_up_fast' : '<Shift>Up',
|
||||||
|
'resize_down_fast' : '<Shift>Down',
|
||||||
|
'resize_left_fast' : '<Shift>Left',
|
||||||
|
'resize_right_fast': '<Shift>Right',
|
||||||
'move_tab_right' : '<Shift><Control>Page_Down',
|
'move_tab_right' : '<Shift><Control>Page_Down',
|
||||||
'move_tab_left' : '<Shift><Control>Page_Up',
|
'move_tab_left' : '<Shift><Control>Page_Up',
|
||||||
'toggle_zoom' : '<Shift><Control>x',
|
'toggle_zoom' : '<Shift><Control>x',
|
||||||
|
|
|
@ -130,7 +130,7 @@ class Container(object):
|
||||||
self.terminator.group_hoover()
|
self.terminator.group_hoover()
|
||||||
return(True)
|
return(True)
|
||||||
|
|
||||||
def resizeterm(self, widget, keyname):
|
def resizeterm(self, widget, keyname, fast = False):
|
||||||
"""Handle a keyboard event requesting a terminal resize"""
|
"""Handle a keyboard event requesting a terminal resize"""
|
||||||
raise NotImplementedError('resizeterm')
|
raise NotImplementedError('resizeterm')
|
||||||
|
|
||||||
|
|
|
@ -376,7 +376,7 @@ class Notebook(Container, Gtk.Notebook):
|
||||||
err('Notebook::closetab: child is unknown type %s' % child)
|
err('Notebook::closetab: child is unknown type %s' % child)
|
||||||
return
|
return
|
||||||
|
|
||||||
def resizeterm(self, widget, keyname):
|
def resizeterm(self, widget, keyname, fast = False):
|
||||||
"""Handle a keyboard event requesting a terminal resize"""
|
"""Handle a keyboard event requesting a terminal resize"""
|
||||||
raise NotImplementedError('resizeterm')
|
raise NotImplementedError('resizeterm')
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ class Paned(Container):
|
||||||
self.signals.append({'name': 'resize-term',
|
self.signals.append({'name': 'resize-term',
|
||||||
'flags': GObject.SignalFlags.RUN_LAST,
|
'flags': GObject.SignalFlags.RUN_LAST,
|
||||||
'return_type': None,
|
'return_type': None,
|
||||||
'param_types': (GObject.TYPE_STRING,)})
|
'param_types': (GObject.TYPE_STRING, GObject.TYPE_BOOLEAN)})
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable-msg=W0613
|
# pylint: disable-msg=W0613
|
||||||
|
@ -322,16 +322,19 @@ class Paned(Container):
|
||||||
parent.replace(self, child)
|
parent.replace(self, child)
|
||||||
del(self)
|
del(self)
|
||||||
|
|
||||||
def resizeterm(self, widget, keyname):
|
def resizeterm(self, widget, keyname, fast = False):
|
||||||
"""Handle a keyboard event requesting a terminal resize"""
|
"""Handle a keyboard event requesting a terminal resize"""
|
||||||
if keyname in ['up', 'down'] and isinstance(self, Gtk.VPaned):
|
if keyname in ['up', 'down'] and isinstance(self, Gtk.VPaned):
|
||||||
# This is a key we can handle
|
# This is a key we can handle
|
||||||
position = self.get_position()
|
position = self.get_position()
|
||||||
|
|
||||||
|
if not fast:
|
||||||
if self.maker.isinstance(widget, 'Terminal'):
|
if self.maker.isinstance(widget, 'Terminal'):
|
||||||
fontheight = widget.vte.get_char_height()
|
fontheight = widget.vte.get_char_height()
|
||||||
else:
|
else:
|
||||||
fontheight = 10
|
fontheight = 10
|
||||||
|
else:
|
||||||
|
fontheight = self.config['fast_resize_step']
|
||||||
|
|
||||||
if keyname == 'up':
|
if keyname == 'up':
|
||||||
self.set_position(position - fontheight)
|
self.set_position(position - fontheight)
|
||||||
|
@ -341,10 +344,13 @@ class Paned(Container):
|
||||||
# This is a key we can handle
|
# This is a key we can handle
|
||||||
position = self.get_position()
|
position = self.get_position()
|
||||||
|
|
||||||
|
if not fast:
|
||||||
if self.maker.isinstance(widget, 'Terminal'):
|
if self.maker.isinstance(widget, 'Terminal'):
|
||||||
fontwidth = widget.vte.get_char_width()
|
fontwidth = widget.vte.get_char_width()
|
||||||
else:
|
else:
|
||||||
fontwidth = 10
|
fontwidth = 10
|
||||||
|
else:
|
||||||
|
fontwidth = self.config['fast_resize_step']
|
||||||
|
|
||||||
if keyname == 'left':
|
if keyname == 'left':
|
||||||
self.set_position(position - fontwidth)
|
self.set_position(position - fontwidth)
|
||||||
|
@ -352,7 +358,7 @@ class Paned(Container):
|
||||||
self.set_position(position + fontwidth)
|
self.set_position(position + fontwidth)
|
||||||
else:
|
else:
|
||||||
# This is not a key we can handle
|
# This is not a key we can handle
|
||||||
self.emit('resize-term', keyname)
|
self.emit('resize-term', keyname, fast)
|
||||||
|
|
||||||
def create_layout(self, layout):
|
def create_layout(self, layout):
|
||||||
"""Apply layout configuration"""
|
"""Apply layout configuration"""
|
||||||
|
|
|
@ -127,6 +127,10 @@ class PrefsEditor:
|
||||||
'resize_down' : _('Resize the terminal down'),
|
'resize_down' : _('Resize the terminal down'),
|
||||||
'resize_left' : _('Resize the terminal left'),
|
'resize_left' : _('Resize the terminal left'),
|
||||||
'resize_right' : _('Resize the terminal right'),
|
'resize_right' : _('Resize the terminal right'),
|
||||||
|
'resize_up_fast' : _('Resize the terminal up (faster)'),
|
||||||
|
'resize_down_fast' : _('Resize the terminal down (faster)'),
|
||||||
|
'resize_left_fast' : _('Resize the terminal left (faster)'),
|
||||||
|
'resize_right_fast': _('Resize the terminal right (faster)'),
|
||||||
'move_tab_right' : _('Move the tab right'),
|
'move_tab_right' : _('Move the tab right'),
|
||||||
'move_tab_left' : _('Move the tab left'),
|
'move_tab_left' : _('Move the tab left'),
|
||||||
'toggle_zoom' : _('Maximize terminal'),
|
'toggle_zoom' : _('Maximize terminal'),
|
||||||
|
|
|
@ -67,7 +67,7 @@ class Terminal(Gtk.VBox):
|
||||||
'maximise': (GObject.SignalFlags.RUN_LAST, None, ()),
|
'maximise': (GObject.SignalFlags.RUN_LAST, None, ()),
|
||||||
'unzoom': (GObject.SignalFlags.RUN_LAST, None, ()),
|
'unzoom': (GObject.SignalFlags.RUN_LAST, None, ()),
|
||||||
'resize-term': (GObject.SignalFlags.RUN_LAST, None,
|
'resize-term': (GObject.SignalFlags.RUN_LAST, None,
|
||||||
(GObject.TYPE_STRING,)),
|
(GObject.TYPE_STRING, GObject.TYPE_BOOLEAN)),
|
||||||
'navigate': (GObject.SignalFlags.RUN_LAST, None,
|
'navigate': (GObject.SignalFlags.RUN_LAST, None,
|
||||||
(GObject.TYPE_STRING,)),
|
(GObject.TYPE_STRING,)),
|
||||||
'tab-change': (GObject.SignalFlags.RUN_LAST, None,
|
'tab-change': (GObject.SignalFlags.RUN_LAST, None,
|
||||||
|
@ -1768,16 +1768,28 @@ class Terminal(Gtk.VBox):
|
||||||
self.close()
|
self.close()
|
||||||
|
|
||||||
def key_resize_up(self):
|
def key_resize_up(self):
|
||||||
self.emit('resize-term', 'up')
|
self.emit('resize-term', 'up', False)
|
||||||
|
|
||||||
def key_resize_down(self):
|
def key_resize_down(self):
|
||||||
self.emit('resize-term', 'down')
|
self.emit('resize-term', 'down', False)
|
||||||
|
|
||||||
def key_resize_left(self):
|
def key_resize_left(self):
|
||||||
self.emit('resize-term', 'left')
|
self.emit('resize-term', 'left', False)
|
||||||
|
|
||||||
def key_resize_right(self):
|
def key_resize_right(self):
|
||||||
self.emit('resize-term', 'right')
|
self.emit('resize-term', 'right', False)
|
||||||
|
|
||||||
|
def key_resize_up_fast(self):
|
||||||
|
self.emit('resize-term', 'up', True)
|
||||||
|
|
||||||
|
def key_resize_down_fast(self):
|
||||||
|
self.emit('resize-term', 'down', True)
|
||||||
|
|
||||||
|
def key_resize_left_fast(self):
|
||||||
|
self.emit('resize-term', 'left', True)
|
||||||
|
|
||||||
|
def key_resize_right_fast(self):
|
||||||
|
self.emit('resize-term', 'right', True)
|
||||||
|
|
||||||
def key_move_tab_right(self):
|
def key_move_tab_right(self):
|
||||||
self.emit('move-tab', 'right')
|
self.emit('move-tab', 'right')
|
||||||
|
|
Loading…
Reference in New Issue