2012-07-27 9 views
5

मैं vte.Terminal का उपयोग करके अजगर में एक साधारण टर्मिनल बना रहा हूं। मैं टर्मिनल पृष्ठभूमि में पारदर्शिता का एक निश्चित स्तर रखना चाहता हूं लेकिन set_opacity काम नहीं करता है। लेकिन यह टर्मिनेटर और अन्य टर्मिनल में काम करता है।vte में पारदर्शिता को कैसे सक्षम करें। टर्मिनल

window.set_opacity पूरी विंडो पारदर्शी बनाता है लेकिन मैं नहीं चाहता कि शीर्षक बल्ले पारदर्शी हो। यहां कोड है।

#!/usr/bin/env python 

import vte 
import gtk 
import pango 
import os 
import signal 

window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
window.connect('destroy', lambda w: gtk.main_quit()) 
# initial window size 
window.resize(640, 480) 

terminal = vte.Terminal() 
terminal.connect("child-exited", lambda w: gtk.main_quit()) 

# here you can set backscroll buffer 
terminal.set_scrollback_lines(5000) 
# encoding for console 
terminal.set_encoding("UTF-8") 
terminal.set_cursor_blinks(False) 

# here you can set background image 
#terminal.set_background_image_file("some/background/picture/here") 

# transparency 
terminal.set_opacity (45000) 
# font for terminal 
font = pango.FontDescription() 
font.set_family("Ubuntu Mono") 
# font size 
font.set_size(11 * pango.SCALE) 
font.set_weight(pango.WEIGHT_NORMAL) 
font.set_stretch(pango.STRETCH_NORMAL) 

terminal.set_font_full(font, True) 

child_pid = terminal.fork_command() 

scroll = gtk.ScrolledWindow() 
scroll.set_policy(0,1) 
scroll.add_with_viewport(terminal) 

window.add(scroll) 
window.show_all() 

# This must be here! before gtk.main() 
# here you can set columns count (first param) 
terminal.set_size(500,0) 

try: 
    gtk.main() 
except KeyboardInterrupt: 
    pass 
+0

क्या आपको यह उत्तर कभी मिला है? मुझे भी यही तकलीफ़ है। – weberc2

उत्तर

0

निम्नलिखित स्निपेट ने इस समस्या को हल किया।

colormap = window.get_screen().get_rgba_colormap() 
if colormap == None: 
    colormap = window.get_screen().get_rgb_colormap() 
gtk.widget_set_default_colormap(colormap) 

This is how the window looks

हालांकि मैं कार्यक्रम के लिए वाला का उपयोग कर endded और यह था एक साधारण समारोह set_visual कहा जाता है।

उम्मीद है कि यह

+0

मैं इसके साथ खेल रहा था ... मैं टर्मिनल को पारदर्शी बना सकता हूं, लेकिन जैसे ही मैंने मुख्य विंडो और टर्मिनल विजेट के बीच स्क्रॉल किए गए विन्डो को रखा है, यह फिर से अपारदर्शी हो जाता है, भले ही मैं स्क्रॉलड विन्डो.सेट_ऑपेसिटी (0)। मैं वैला का भी उपयोग कर रहा हूं। – weberc2

संबंधित मुद्दे