示例#1
0
def lyriczilla_applet_factory(applet, iid):
    socket = gtk.Socket()
    applet.add(socket)
    subprocess.Popen(['lyriczilla-nest', str(socket.get_id())])
    socket.set_size_request(400, 20)
    applet.show_all()
    return gtk.TRUE
示例#2
0
def call_gparted(main_window):
    '''call_autoparted() -> dict {'mount point' : 'dev'}
                       -> None
  '''
    import gtk
    mountpoints = {'/': '/dev/hda1', 'swap': '/dev/hda2', '/home': '/dev/hda3'}

    # plug/socket implementation (Gparted integration)
    socket = gtk.Socket()
    socket.show()
    main_window.get_widget('embedded').add(socket)
    Wid = str(socket.get_id())

    # TODO: rewrite next block.

    try:
        subprocess.Popen(['/usr/bin/gparted', '-i', Wid],
                         stdin=subprocess.PIPE,
                         stdout=subprocess.PIPE,
                         close_fds=True)
    except:
        try:
            subprocess.Popen(['/usr/local/bin/gparted', '-i', Wid],
                             stdin=subprocess.PIPE,
                             stdout=subprocess.PIPE,
                             close_fds=True)
        except:
            main_window.get_widget('embedded').destroy()

        if (stdin is not ''):
            mountpoints = stdin

    return mountpoints
示例#3
0
 def _add_socket(self, w):
     #must create an new socket, because socket will be destroyed when it reparent!!!
     if self.socket:
         self.socket.destroy()
     self.socket = gtk.Socket()
     self.pack_start(self.socket, True, True)
     self.socket.realize()
示例#4
0
 def start(self):
     """
     Start the Vim instance if it is not already running.
     
     This command forks in a pseudoterminal, and starts Vim, if Vim is not
     already running. The pid is stored for later use.
     """
     if not self.pid:
         # Get the console vim executable path
         #command = self.prop_main_registry.commands.vim.value()
         command = 'gvim'
         # Fork using pty.fork to prevent Vim taking the terminal
         sock = gtk.Socket()
         w = gtk.Window()
         w.realize()
         w.add(sock)
         xid = sock.get_id()
         pid, fd = pty.fork()
         if pid == 0:
             # Child, execute Vim with the correct servername argument
             os.execvp(command, ['gvim', '-f', '--servername', self.name,
                 '--socketid', '%s' % xid])
                 #'-v'])
             # os.system('%s -v --servername %s' % (command, self.name))
         else:
             # Parent, store the pid, and file descriptor for later.
             self.pid = pid
             self.childfd = fd
示例#5
0
    def __init__(self, width, height):

        # Build the main widget
        super(PyGameCanvas,self).__init__()
        
        # Build the sub-widgets
        self._align = gtk.Alignment(0.5, 0.5)
        self._inner_evb = gtk.EventBox()
        self._socket = gtk.Socket()

        
        # Add internal widgets
        self._inner_evb.set_size_request(width, height)
        self._inner_evb.add(self._socket)
        self._socket.show()
        
        self._align.add(self._inner_evb)
        self._inner_evb.show()
        
        self._align.show()
        
        self.add(self._align)

        # Construct a gtkEvent.Translator
        self._translator = gtkEvent.Translator(self, self._inner_evb)
        
        # <Cue Thus Spract Zarathustra>
        self.set_flags(gtk.CAN_FOCUS)
        self.show()
示例#6
0
    def add_wnck_window_to_tab(self, wnck_window):
        '''将窗口添加到标签
        '''
        notebook = self.notebook
        drawingarea = gtk.Socket()
        drawingarea.show()
        drawingarea.connect('realize', self._on_add_wnck_window_to_drawingarea, wnck_window, drawingarea)
        drawingarea.connect('plug-removed', self._tab_remove)
        tabimage = gtk.Image()
        tabimage.set_from_pixbuf(wnck_window.get_icon())
        tabimage.set_padding(0, 0)
        tabimage.show()
        tabmenu = gtk.Label(wnck_window.get_name())

        box = gtk.Viewport()
        box.add(drawingarea)
        box.show()

        box.set_flags(gtk.CAN_FOCUS)

        drawingarea.box = box
        drawingarea.tabimage = tabimage
        drawingarea.tabmenu = tabmenu
        drawingarea.wnck_window = wnck_window

        notebook.append_page_menu(box, tabimage, tabmenu)
        notebook.set_current_page( notebook.page_num(box) )

        notebook.set_tab_reorderable(drawingarea, 1)

        self.tabs[wnck_window] = drawingarea

        pass
    def __init__(self, handle):
        activity.Activity.__init__(self, handle)

        toolbox = activity.ActivityToolbox(self)
        self.set_toolbox(toolbox)
        toolbox.show()

        try:
            view = gnash.View()
            view.props.uri = os.path.join(activity.get_bundle_path(), SWFNAME)
            self.set_canvas(view)
            view.show()

        except NameError:
            socket = gtk.Socket()
            self.set_canvas(socket)
            self.show_all()

            args = [
                'gnash', '-x',
                str(socket.get_id()),
                os.path.join(activity.get_bundle_path(), SWFNAME)
            ]
            logging.debug(args)
            self._process = subprocess.Popen(args)
示例#8
0
文件: activity.py 项目: AlanJAS/Butia
 def __init__(self, handle):
     # fork pygame before we initialize the activity.
     import os
     import pygame
     import sys
     pygame.init()
     windowid = pygame.display.get_wm_info()['wmwindow']
     self.child_pid = os.fork()
     if self.child_pid == 0:
         bp = activity.get_bundle_path()
         library_path = os.path.join(bp, 'library')
         pippy_app_path = os.path.join(bp, 'pippy_app.py')
         sys.path[0:0] = [library_path]
         g = globals()
         g['__name__'] = '__main__'
         execfile(pippy_app_path, g, g)  # start pygame
         sys.exit(0)
     super(PyGameActivity, self).__init__(handle)
     import gobject
     import gtk
     toolbox = activity.ActivityToolbox(self)
     toolbar = toolbox.get_activity_toolbar()
     self.set_toolbox(toolbox)
     toolbox.show()
     socket = gtk.Socket()
     socket.set_flags(socket.flags() | gtk.CAN_FOCUS)
     socket.show()
     self.set_canvas(socket)
     socket.add_id(windowid)
     self.show_all()
     socket.grab_focus()
     gobject.child_watch_add(self.child_pid, lambda pid, cond: self.close())
     # hide the buttons we don't use.
     toolbar.share.hide()  # this should share bundle.
     toolbar.keep.hide()
示例#9
0
 def _add_socket(self, w):
     #must create an new socket, because socket will be destroyed when it reparent!!!
     if self.socket:
         self.socket.destroy()
     self.socket = gtk.Socket()
     self.socket_box.add(self.socket)
     self.socket.realize()
示例#10
0
    def __init__(self, create = True, accel_group = None, tooltips = None):
        '''建立主窗口和布局
        '''

        self.mainwindow = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.mainwindow.set_icon_name("gimp")
        self.mainwindow.set_default_size(700, 500)
        self.mainwindow.maximize()
        self.mainwindow.set_title(_("GimpBox"))
        #self.mainwindow.set_position(gtk.WIN_POS_CENTER)
        self.mainwindow.show()
        self.mainwindow.connect("delete_event", self.quit)

        self.screen = wnck.screen_get_default()

        self.hpaned1 = gtk.HPaned()
        self.hpaned1.set_position(180)
        self.hpaned1.show()

        self.toolboxarea = gtk.Socket()
        self.toolboxarea.show()
        self.hpaned1.pack1(self.toolboxarea, False, True)

        self.hpaned2 = gtk.HPaned()
        self.hpaned2.show()

        self.notebook = gtk.Notebook()
        self.notebook.set_tab_pos(gtk.POS_BOTTOM)
        self.notebook.popup_enable()
        self.notebook.set_scrollable(True)
        self.notebook.show()

        self.hpaned2.pack1(self.notebook, False, True)

        self.miscboxarea = gtk.Socket()
        self.miscboxarea.show()
        self.hpaned2.pack2(self.miscboxarea, False, False)

        self.hpaned1.pack2(self.hpaned2, True, True)

        self.mainwindow.add(self.hpaned1)

        gobject.idle_add(self.start)
        #self.toolboxarea.connect('realize', self.start)

        self.mainwindow.show_all()
        pass
 def __init__(self):
     gtk.EventBox.__init__(self)
     self.set_flags(gtk.CAN_FOCUS)
     self.setup_events()
     self.socket = gtk.Socket()
     self.add(self.socket)
     self.button_state = [0, 0, 0]
     self.mouse_pos = (0, 0)
示例#12
0
 def __pack(self):
     socket = gtk.Socket()
     eb = gtk.EventBox()
     self.widget.pack_start(eb)
     eb.add_events(gtk.gdk.KEY_PRESS_MASK)
     eb.add(socket)
     self.show_all()
     self.__eb = eb
     return socket.get_id()
示例#13
0
    def _create_ui(self):
        """Instantiate the GTK socket.

        Called by the run method before the widget is realized.
        """
        socket = gtk.Socket()
        self.add_events(gtk.gdk.KEY_PRESS_MASK)
        self.add(socket)
        self.show_all()
        return socket.get_id()
 def __init__(self, handle):
     activity.Activity.__init__(self, handle, False)
     self.set_title("Derecho A Transitar")
     self.socket = gtk.Socket()
     self.set_canvas(self.socket)
     self.gtkplug = gtkplug()
     self.socket.add_id(self.gtkplug.get_id())
     self.add_events(gtk.gdk.ALL_EVENTS_MASK)
     self.connect("destroy", self.salir)
     self.connect("set-focus-child", self.refresh)
     self.show_all()
示例#15
0
 def __pack(self):
     socket = gtk.Socket()
     socket.connect('plug-removed', self.cb_unplugged)
     eb = gtk.EventBox()
     self.widget.pack_start(eb)
     eb.add_events(gtk.gdk.KEY_PRESS_MASK)
     eb.add(socket)
     self.show_all()
     self.__eb = eb
     self.__socket = socket
     return socket.get_id()
示例#16
0
 def _popup(self, *p):
     """Open a popup window for temporary anchoring the player video.
     """
     if self.player is None:
         return None
     w = gtk.Window()
     d = gtk.Socket()
     w.add(d)
     w.show_all()
     self.player.set_visual(d.get_id())
     return w
示例#17
0
    def __init__(self, handle):

        Activity.__init__(self, handle, False)
        self.socket = gtk.Socket()
        self.set_canvas(self.socket)
        self.interfaz = Interfaz()
        self.socket.add_id(self.interfaz.get_id())
        self.show_all()

        self.connect("key-press-event", self.interfaz.key_press_even)
        self.connect("key-release-event", self.interfaz.key_release_even)
示例#18
0
 def __init__(self, command, args):
     self.win = gtk.EventBox()
     self.socket = gtk.Socket()
     self.socket.connect('plug-added', self.cb_plugged)
     self.socket.connect('plug-removed', self.cb_unplugged)
     self.win.add(self.socket)
     self.pid = None
     self.command = command
     self.args = args
     self.r_cb_plugged = None
     self.r_cb_unplugged = None
示例#19
0
    def __init__(self, handle):

        activity.Activity.__init__(self, handle)

        self.set_title(_('SimCity Activity'))
        self.connect('destroy', self._destroy_cb)
        self.connect('focus-in-event', self._focus_in_cb)
        self.connect('focus-out-event', self._focus_out_cb)

        signal.signal(signal.SIGCHLD, self._sigchild_handler)

        self._bundle_path = get_bundle_path()

        if False:
            # FIXME: Plug SimCity's window into a gtk socket.
            # Doesn't work yet, but it would be cool if it did.
            socket = gtk.Socket()
            try:
                self.set_canvas(socket)
            except AttributeError:
                self.add(socket)
            socket.show()
            socket.connect('plug-added', self._plug_added_cb)
            socket.connect('plug-removed', self._plug_removed_cb)

            win = socket.get_id()

        command = os.path.join(self._bundle_path, 'SimCity')

        args = [
            command,
            #'-R', str(win), # Set root window to socket window id
            '-t',  # Interactive tty mode, so we can send it commands.
        ]

        logging.debug("CWD: " + self._bundle_path)
        logging.debug("SIMCITY ARGS: " + repr(args))

        self._process = subprocess.Popen(
            args,
            stdin=subprocess.PIPE,
            stdout=subprocess.PIPE,
            close_fds=True,
            cwd=self._bundle_path,
            preexec_fn=lambda: os.chdir(self._bundle_path))

        logging.debug("STARTING THREAD... " +
                      str(self._stdout_thread_function))
        t = None
        try:
            t = thread.start_new(self._stdout_thread_function, ())
        except Exception, e:
            logging.debug("EXCEPTION " + str(e))
 def __init__(self):
     gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
     self.set_title("Derecho A Transitar")
     self.fullscreen()
     self.socket = gtk.Socket()
     self.add(self.socket)
     self.gtkplug = gtkplug()
     self.socket.add_id(self.gtkplug.get_id())
     self.add_events(gtk.gdk.ALL_EVENTS_MASK)
     self.connect("destroy", self.salir)
     self.connect("set-focus-child", self.refresh)
     self.show_all()
    def __init__(self, handle):

        Activity.__init__(self, handle)

        self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#ffeeaa"))
        self.socket = gtk.Socket()
        self.set_canvas(self.socket)
        self.interfaz = Interfaz()
        self.socket.add_id(self.interfaz.get_id())
        self.show_all()

        self.connect("key-press-event", self.interfaz.key_press_event)
        self.connect("key-release-event", self.interfaz.key_release_event)
示例#22
0
    def __init__(self, mainwindow):
        gtk.EventBox.__init__(self)

        global CANVAS
        assert CANVAS == None, "Only one PygameCanvas can be created, ever."
        CANVAS = self

        self._mainwindow = mainwindow

        self.set_flags(gtk.CAN_FOCUS)
        
        self._socket = gtk.Socket()
        self.add(self._socket)
        self.show_all()
示例#23
0
 def _add_uisocket(self, box):
     # add Hatari parent container to given box
     socket = gtk.Socket()
     # without this, closing Hatari would remove the socket widget
     socket.connect("plug-removed", lambda obj: True)
     socket.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("black"))
     socket.set_events(gtk.gdk.ALL_EVENTS_MASK)
     socket.set_flags(gtk.CAN_FOCUS)
     # set initial embedded hatari size
     width, height = self.config.get_window_size()
     socket.set_size_request(width, height)
     # no resizing for the Hatari window
     box.pack_start(socket, False, False)
     self.hatariwin = socket
示例#24
0
文件: vimembed.py 项目: PyCManager/a8
 def create_ui(self):
     self.holder = gtk.EventBox()
     self.holder.add_events(gtk.gdk.KEY_PRESS_MASK)
     self.widget.add(self.holder)
     # NOTE: Setting a size request on self.widget prevents vim from propagating
     #       its own size requests up when gvim adds UI elements and resizes
     self.socket = gtk.Socket()
     self.holder.add(self.socket)
     self.widget.show_all()
     self.vim_command = 'gvim'
     self.vim = None
     self.vim_proc = None
     self.vim_pid = None
     self.vim_running = False  # to prevent accessing vim after close
示例#25
0
def pytest_funcarg__vim_process(request):
    w = gtk.Window()
    w.set_title(request.function.__name__)
    s = gtk.Socket()
    w.add(s)
    w.set_size_request(600, 600)
    w.show_all()
    refresh_ui()
    process = _start_vim(
            s.get_id(),
            request.function.__name__)
    process._win_ = w
    request.addfinalizer(w.destroy)
    return process
示例#26
0
    def __init__(self, parent):
        ViewerExtension.__init__(self, parent)

        self._process = None

        # create container
        self._container = gtk.Viewport()
        self._container.set_shadow_type(gtk.SHADOW_IN)

        # create socket for embeding GVim window
        self._socket = gtk.Socket()
        self._socket.connect('realize', self.__socket_realized)

        # pack interface
        self._container.add(self._socket)
示例#27
0
    def __init__(self, url, title="new"):
        super(SessionTab, self).__init__()
        self.socket = gtk.Socket()
        self.socket.connect("plug-removed", self.close)

        self.label = TabLabel(title)
        self.label.connect("close", self.close)
        self.proc = None
        self.source_id = None
        self.status = ""
        self.title = ""
        self.location = url

        self.wid = -1
        self.close_emitted = False
    def __init__(self):
        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
        self.set_title("CantaBichos")
        self.fullscreen()
        #self.set_size_request(800,600)
        self.socket = gtk.Socket()
        self.add(self.socket)

        self.gtkplug = gtkplug()
        self.socket.add_id(self.gtkplug.get_id())

        self.add_events(gtk.gdk.ALL_EVENTS_MASK)
        self.connect("destroy", self.salir)
        self.connect("set-focus-child", self.refresh)
        self.show_all()
示例#29
0
    def __init__(self, handle):
        """Set up the Pilas activity."""
        activity.Activity.__init__(self, handle)

        # we do not have collaboration features,
        # make the share option insensitive
        self.max_participants = 1

        # toolbar with the new toolbar redesign
        toolbar_box = ToolbarBox()

        activity_button = ActivityButton(self)
        toolbar_box.toolbar.insert(activity_button, 0)
        activity_button.show()

        title_entry = TitleEntry(self)
        toolbar_box.toolbar.insert(title_entry, -1)
        title_entry.show()

        share_button = ShareButton(self)
        toolbar_box.toolbar.insert(share_button, -1)
        share_button.show()
        
        separator = gtk.SeparatorToolItem()
        separator.props.draw = False
        separator.set_expand(True)
        toolbar_box.toolbar.insert(separator, -1)
        separator.show()

        stop_button = StopButton(self)
        toolbar_box.toolbar.insert(stop_button, -1)
        stop_button.show()

        self.set_toolbar_box(toolbar_box)
        toolbar_box.show()

        socket = gtk.Socket()
        socket.connect("plug-added", self._on_plugged_event)
        socket.set_flags(gtk.CAN_FOCUS)
        self.set_canvas(socket)
        self.set_focus(socket)
        socket.show()

        screen_width = gtk.gdk.screen_width()
        screen_height = gtk.gdk.screen_height()

        Popen(["python", "pilas_plug.py", str(socket.get_id()),
               str(screen_width), str(screen_height)], env=new_env)
示例#30
0
def install_featured(widget, wTree, treeview_featured, window):
	vbox = wTree.get_widget("vbox1")
	socket = gtk.Socket()
	vbox.pack_start(socket)
	socket.show()
	window_id = repr(socket.get_id())	
	command = "gksu mint-synaptic-install " + window_id
	model = treeview_featured.get_model()
	iter = model.get_iter_first()
	while iter != None:
		if (model.get_value(iter, 1) == "true"):
			pkg = model.get_value(iter, 0)
			command = command + " " + pkg
		iter = model.iter_next(iter)	
	os.system(command)
	close_window(widget, window)