[27574] in Source-Commits
xdsc commit: Tweak font and UI
daemon@ATHENA.MIT.EDU (Jonathan D Reed)
Mon Feb 3 15:59:26 2014
Date: Mon, 3 Feb 2014 15:59:19 -0500
From: Jonathan D Reed <jdreed@MIT.EDU>
Message-Id: <201402032059.s13KxJZQ010565@drugstore.mit.edu>
To: source-commits@MIT.EDU
https://github.com/mit-athena/xdsc/commit/cd3c98cd5739557f41ebad8034c7dccd45bc7906
commit cd3c98cd5739557f41ebad8034c7dccd45bc7906
Author: Jonathan Reed <jdreed@mit.edu>
Date: Tue Dec 10 13:57:06 2013 -0500
Tweak font and UI
- Per andersk's suggestion, Use Gio.Settings to determine the preferred
monospace font, rather than hardcoding Courier. However, we don't use
get_string() since that segfaults if the string isn't there. Fortunately,
Gio.Settings pretends to be a dictionary.
- Add a margin in the transaction textview widget
xdsc.py | 18 ++++++++++++------
xdsc.ui | 2 ++
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/xdsc.py b/xdsc.py
index e816671..44635ff 100755
--- a/xdsc.py
+++ b/xdsc.py
@@ -16,7 +16,7 @@ from email.mime.text import MIMEText
from optparse import OptionParser
from xml.etree import ElementTree
-from gi.repository import Gtk, GObject, Pango, GLib, Gdk
+from gi.repository import Gtk, GObject, Pango, GLib, Gdk, Gio
import discuss
@@ -189,9 +189,9 @@ class DiscussWrapper:
class Xdsc:
# A mapping of widget id to font description string
- default_fonts_map = {'help_textview': 'Courier 8',
- 'transaction_textview': 'Courier 8',
- 'upper_treeview': 'Courier 8'}
+ monospace_font_widgets = ('help_textview',
+ 'transaction_textview',
+ 'upper_treeview')
# A mapping of menus to the buttons they pop down from
# for positioning.
@@ -216,8 +216,14 @@ class Xdsc:
if isinstance(self.builder.get_object(object_id), Gtk.Widget):
self.builder.get_object(object_id).set_name(object_id)
# Set some font defaults
- for widget_id in self.default_fonts_map:
- pangofont = Pango.FontDescription(self.default_fonts_map[widget_id])
+ for widget_id in self.monospace_font_widgets:
+ gsettings = Gio.Settings('org.gnome.desktop.interface')
+ try:
+ font_name = gsettings['monospace-font-name']
+ except KeyError:
+ font_name = 'Courier'
+ pangofont = Pango.FontDescription(font_name)
+ pangofont.set_size(9 * Pango.SCALE)
self.builder.get_object(widget_id).override_font(pangofont)
self.builder.connect_signals(self)
self.main_window = self.builder.get_object('xdsc_main_window')
diff --git a/xdsc.ui b/xdsc.ui
index f489723..09d161f 100644
--- a/xdsc.ui
+++ b/xdsc.ui
@@ -1338,6 +1338,8 @@ permission to enter transactions in a meeting.
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="wrap_mode">char</property>
+ <property name="left_margin">5</property>
+ <property name="right_margin">2</property>
<property name="buffer">transaction_buffer</property>
<signal name="key-press-event" handler="font_size_keypress_event" swapped="no"/>
</object>