Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann Leboulanger <asterix@lagaule.org>2009-09-17 15:54:20 +0400
committerYann Leboulanger <asterix@lagaule.org>2009-09-17 15:54:20 +0400
commitb6481d54eae73cd31f56b437d38da2fd1f6373c5 (patch)
tree908a2aa7db898fe496fd7068aa4b1c862ce2fa7d
parent4e4a91dbe112f2eeecd01822a3d39c89f0ab5eb1 (diff)
[Jonathan Michalon] Make latex images theme aware.
-rw-r--r--src/common/latex.py8
-rw-r--r--src/gajim.py19
2 files changed, 26 insertions, 1 deletions
diff --git a/src/common/latex.py b/src/common/latex.py
index 2d783726d..777577d1c 100644
--- a/src/common/latex.py
+++ b/src/common/latex.py
@@ -114,6 +114,12 @@ def latex_to_image(str_):
result = None
exitcode = 0
+ try:
+ bg_str, fg_str = gajim.interface.get_bg_fg_colors()
+ except:
+ # interface may not be available when we test latext at startup
+ bg_str, fg_str = 'rgb 1.0 1.0 1.0', 'rgb 0.0 0.0 0.0'
+
# filter latex code with bad commands
if check_blacklist(str_):
# we triggered the blacklist, immediately return None
@@ -131,7 +137,7 @@ def latex_to_image(str_):
if exitcode == 0:
# convert dvi to png
latex_png_dpi = gajim.config.get('latex_png_dpi')
- exitcode = try_run(['dvipng', '-bg', 'rgb 1.0 1.0 1.0', '-T',
+ exitcode = try_run(['dvipng', '-bg', bg_str, '-fg', fg_str, '-T',
'tight', '-D', latex_png_dpi, tmpfile + '.dvi', '-o',
tmpfile + '.png'])
diff --git a/src/gajim.py b/src/gajim.py
index b8512ac43..46357eb4b 100644
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -3036,6 +3036,25 @@ class Interface:
pep.user_send_tune(acct, artist, title, source)
gajim.connections[acct].music_track_info = music_track_info
+ def get_bg_fg_colors(self):
+ def gdkcolor_to_rgb (gdkcolor):
+ return [c / 65535. for c in (gdkcolor.red, gdkcolor.green,
+ gdkcolor.blue)]
+
+ def format_rgb (r, g, b):
+ return ' '.join([str(c) for c in ('rgb', r, g, b)])
+
+ def format_gdkcolor (gdkcolor):
+ return format_rgb (*gdkcolor_to_rgb (gdkcolor))
+
+ # get style colors and create string for dvipng
+ dummy = gtk.Invisible()
+ dummy.ensure_style()
+ style = dummy.get_style()
+ bg_str = format_gdkcolor(style.base[gtk.STATE_NORMAL])
+ fg_str = format_gdkcolor(style.text[gtk.STATE_NORMAL])
+ return (bg_str, fg_str)
+
def read_sleepy(self):
'''Check idle status and change that status if needed'''
if not self.sleeper.poll():