Merged with trunk
This commit is contained in:
commit
e67c092600
@ -130,4 +130,11 @@ class EditableLabel(gtk.EventBox):
|
||||
"""Set the label foreground"""
|
||||
self._label.modify_fg(state, color)
|
||||
|
||||
def is_custom(self):
|
||||
"""Return whether or not we have a custom string set"""
|
||||
return(self._custom)
|
||||
|
||||
def set_custom(self):
|
||||
"""Set the customness of the string to True"""
|
||||
self._custom = True
|
||||
gobject.type_register(EditableLabel)
|
||||
|
@ -45,7 +45,7 @@ class Notebook(Container, gtk.Notebook):
|
||||
# the new order of terminals. We probably need to preserve this for
|
||||
# navigation to next/prev terminals.
|
||||
#self.connect('page-reordered', self.on_page_reordered)
|
||||
self.set_property('homogeneous', not self.config['scroll_tabbar'])
|
||||
self.set_property('homogeneous', True)
|
||||
self.set_scrollable(self.config['scroll_tabbar'])
|
||||
|
||||
pos = getattr(gtk, 'POS_%s' % self.config['tab_position'].upper())
|
||||
@ -405,11 +405,13 @@ class TabLabel(gtk.HBox):
|
||||
"""Update the angle of a label"""
|
||||
position = self.notebook.get_tab_pos()
|
||||
if position == gtk.POS_LEFT:
|
||||
if hasattr(self, 'set_orientation'):
|
||||
self.set_orientation(gtk.ORIENTATION_VERTICAL)
|
||||
self.label.set_angle(90)
|
||||
elif position == gtk.POS_RIGHT:
|
||||
self.label.set_angle(270)
|
||||
else:
|
||||
if hasattr(self, 'set_orientation'):
|
||||
self.set_orientation(gtk.ORIENTATION_HORIZONTAL)
|
||||
self.label.set_angle(0)
|
||||
|
||||
|
@ -1249,6 +1249,7 @@ for %s (%s)' % (name, urlplugin.__class__.__name__))
|
||||
|
||||
def get_cursor_position(self):
|
||||
"""Return the co-ordinates of our cursor"""
|
||||
# FIXME: THIS METHOD IS DEPRECATED AND UNUSED
|
||||
col, row = self.vte.get_cursor_position()
|
||||
width = self.vte.get_char_width()
|
||||
height = self.vte.get_char_height()
|
||||
@ -1282,6 +1283,9 @@ for %s (%s)' % (name, urlplugin.__class__.__name__))
|
||||
if layout != "default":
|
||||
# There's no point explicitly noting default profiles
|
||||
layout['profile'] = profile
|
||||
title = self.titlebar.get_custom_string()
|
||||
if title:
|
||||
layout['title'] = title
|
||||
name = 'terminal%d' % count
|
||||
count = count + 1
|
||||
global_layout[name] = layout
|
||||
@ -1298,6 +1302,8 @@ for %s (%s)' % (name, urlplugin.__class__.__name__))
|
||||
# This doesn't need/use self.titlebar, but it's safer than sending
|
||||
# None
|
||||
self.really_create_group(self.titlebar, layout['group'])
|
||||
if layout.has_key('title') and layout['title'] != '':
|
||||
self.titlebar.set_custom_string(layout['title'])
|
||||
|
||||
# There now begins a great list of keyboard event handlers
|
||||
def key_zoom_in(self):
|
||||
|
@ -244,4 +244,16 @@ class Titlebar(gtk.EventBox):
|
||||
self.bellicon.hide()
|
||||
return(False)
|
||||
|
||||
def get_custom_string(self):
|
||||
"""If we have a custom string set, return it, otherwise None"""
|
||||
if self.label.is_custom():
|
||||
return(self.label.get_text())
|
||||
else:
|
||||
return(None)
|
||||
|
||||
def set_custom_string(self, string):
|
||||
"""Set a custom string"""
|
||||
self.label.set_text(string)
|
||||
self.label.set_custom()
|
||||
|
||||
gobject.type_register(Titlebar)
|
||||
|
@ -671,9 +671,10 @@ class Window(Container, gtk.Window):
|
||||
|
||||
if len(winners) > 1:
|
||||
# Break an n-way tie using the cursor position
|
||||
cursor_x, cursor_y = terminal.get_cursor_position()
|
||||
cursor_x = cursor_x + allocation.x
|
||||
cursor_y = cursor_y + allocation.y
|
||||
term_alloc = terminal.allocation
|
||||
cursor_x = term_alloc.x + term_alloc.width / 2
|
||||
cursor_y = term_alloc.y + term_alloc.height / 2
|
||||
|
||||
for term in winners:
|
||||
rect = layout[term]
|
||||
if util.get_nav_tiebreak(direction, cursor_x, cursor_y,
|
||||
|
Loading…
Reference in New Issue
Block a user