Beispiel #1
0
def cp_all(butt, self, self2, win2, iter=None):

    #print("Copy all to clip")
    win2.tree.get_selection().select_all()

    sel = win2.tree.get_selection()
    xmodel, xiter = sel.get_selected_rows()

    cumm = ""
    for aa in xiter:
        iter = xmodel.get_iter(aa)
        xstr = xmodel.get_value(iter, 0)

        #print("got %s" % xstr);
        cc = xstr.split(" ")
        bb = cc[0].split(":")
        dd = xstr[len(cc[0]) + 1:]
        #print("str '%s'" % dd);
        cumm += dd + "\n"

    disp = Gdk.Display().get_default()
    clip = Gtk.Clipboard.get_default(disp)
    clip.set_text(cumm, len(cumm))

    self2.mained.update_statusbar("Copied hits to clipboard.", True)
    win2.destroy()
Beispiel #2
0
    def ensure_display_open(cls, display):
        """
        Return GdkDisplay for name @display.

        Return default if @display is None.
        """
        return Gdk.DisplayManager.get().get_default_display()

        def norm_name(name):
            "normalize display name"
            if name[-2] == ":":
                return name + ".0"
            return name

        dm = Gdk.display_manager_get()
        if display:
            new_display = None
            for disp in dm.list_displays():
                if norm_name(disp.get_name()) == norm_name(display):
                    new_display = disp
                    break
            if new_display is None:
                pretty.print_debug(__name__,
                                   "Opening display in ensure_display_open",
                                   display)
                new_display = Gdk.Display(display)
        else:
            new_display = Gdk.Display.get_default()
        ## Hold references to all open displays
        cls._open_displays = set(dm.list_displays())
        return new_display
Beispiel #3
0
def get_area():
    # width of the primary screen.
    dspl = Gdk.Display()
    dsp = dspl.get_default()
    prim = dsp.get_primary_monitor()
    geo = prim.get_geometry()
    return [geo.width, geo.height]
class MonitorScreenInfo(object):
    display = Gdk.Display().get_default()

    @staticmethod
    def get_default_display():
        return MonitorScreenInfo.display

    @staticmethod
    def get_screens_number():
        return MonitorScreenInfo.display.get_n_screens()

    @staticmethod
    def get_screens():
        display = MonitorScreenInfo.display
        screen_number = display.get_n_screens()
        return [
            ScreenInfo(display.get_screen(screennumber))
            for screennumber in range(screen_number)
        ]

    @staticmethod
    def get_monitors_number():
        return MonitorScreenInfo.display.get_n_monitors()

    @staticmethod
    def get_monitors():
        display = MonitorScreenInfo.display
        monitor_number = display.get_n_monitors()
        return [
            MonitorInfo(display.get_monitor(monitornumber))
            for monitornumber in range(monitor_number)
        ]
Beispiel #5
0
 def btn_press(self, _widget, event):
     if self.target_y == None:
         cursor = Gdk.Cursor.new_from_name(Gdk.Display().get_default(), 'grabbing')
         self.get_window().set_cursor(cursor)
         _, current_y = self.get_position()
         self.dragging_from = current_y - (current_y - event.y)
         return True
Beispiel #6
0
 def __init__(self):
     display        = Gdk.Display().get_default()
     self.monitor   = display.get_monitor(0)
     self.x         = self.monitor.get_geometry().x
     self.y         = self.monitor.get_geometry().y
     self.width     = self.monitor.get_geometry().width
     self.height    = self.monitor.get_geometry().height
     self.geometry  = self.monitor.get_geometry()
     self.info      = {"monitor":self.monitor,"x":self.x,"y":self.y,"width":self.width,"height":self.height}
Beispiel #7
0
    def __init__(self):

        self.full = False
        self.fcount = 0
        self.statuscount = 0
        self.alt = False
        self.fullscreen = False
        self.got_warn = False

        pgutils.register_stock_icons()

        global mained
        mained = self

        warnings.simplefilter("ignore")

        disp2 = Gdk.Display()
        disp = disp2.get_default()
        #print disp
        scr = disp.get_default_screen()
        ptr = disp.get_pointer()
        #ptr = disp2.get_position()
        mon = scr.get_monitor_at_point(ptr[1], ptr[2])
        #mon = disp.get_monitor_at_point(ptr[1], ptr[2])
        geo = scr.get_monitor_geometry(mon)
        www = geo.width
        hhh = geo.height
        xxx = geo.x
        yyy = geo.y

        warnings.simplefilter("default")

        # Resort to old means of getting screen w / h
        if www == 0 or hhh == 0:
            www = Gdk.screen_width()
            hhh = Gdk.screen_height()

        # Create the toplevel window
        self.mywin = Gtk.Window()
        self.logwin = pycallog.LogWin()
        self.mywin.set_icon_from_file("pycal.png")
        #self.mywin.set_hide_titlebar_when_maximized(True)

        self.mywin.connect("key-press-event", self.keypress)

        #self.mywin.set_title("Calendar Alarm Monitor")
        self.mywin.set_title("Python Calendar")

        self.mywin.set_position(Gtk.WindowPosition.CENTER)
        mwh = min(www, hhh)
        self.mywin.set_default_size(3 * www / 4, 3 * hhh / 4)
        self.mywin.set_size_request(200, 200)
        self.mywin.set_events(Gdk.EventMask.ALL_EVENTS_MASK)
        self.mywin.connect("unmap", OnExit)
        self.populate()
        self.mywin.show_all()
 def set_visual(self, xid, realsink=None):
     if realsink is None:
         realsink = self.imagesink
     self.xid = xid
     if xid and hasattr(realsink, 'set_window_handle'):
         logger.info("Reparent " + hex(xid))
         Gdk.Display().get_default().sync()
         realsink.set_window_handle(xid)
     if hasattr(realsink.props, 'force-aspect-ratio'):
         realsink.set_property('force-aspect-ratio', True)
     return True
Beispiel #9
0
    def reparent(self, xid):
        logger.debug("Reparent %s", xid)
        # See https://bugzilla.gnome.org/show_bug.cgi?id=599885
        if xid:
            self.log("Reparent " + hex(xid))

            Gdk.Display().get_default().sync()

            self.imagesink.set_window_handle(xid)
        self.imagesink.set_property('force-aspect-ratio', True)
        self.imagesink.expose()
Beispiel #10
0
 def __init__(self, title='hello', **kwargs):
     print('before suer')
     super().__init__(title=title)
     dims = Gdk.Display().get_default().get_monitor(0).get_geometry()
     print('dims')
     print(dims)
     if 'width' in kwargs.keys():
         self.width = kwargs['width']
     if 'height' in kwargs.keys():
         self.height = kwargs['height']
     self.set_default_size(width=self.width, height=self.height)
     self.move((dims.width / 2) - (self.width / 2), 40)
     self.set_has_resize_grip(False)
     self.set_decorated(False)
     self.connect('destroy', Gtk.main_quit)       
Beispiel #11
0
 def reparent(self, xid, sink=None):
     if sink is None:
         sink = self.real_imagesink
     else:
         self.real_imagesink = sink
     logger.debug("Reparent %s", xid)
     # See https://bugzilla.gnome.org/show_bug.cgi?id=599885
     if xid:
         self.log("Reparent " + hex(xid))
         Gdk.Display().get_default().sync()
         try:
             sink.set_window_handle(xid)
             sink.set_property('force-aspect-ratio', True)
             sink.expose()
         except AttributeError:
             logger.warning("cannot set video output widget")
  def _inspectUnderMouse(self):
    '''
    Inspect accessible of widget under mouse.
    '''
    display = gdk.Display(gdk.get_display())
    screen, x, y, flags =  display.get_pointer()
    del screen # A workaround http://bugzilla.gnome.org/show_bug.cgi?id=593732

    # First check if the currently selected accessible has the pointer over it.
    # This is an optimization: Instead of searching for 
    # STATE_SELECTED and ROLE_MENU and LAYER_POPUP in the entire tree.
    item = self._getPopupItem(x,y)
    if item:
      self.node.update(item)
      return
          
    # Inspect accessible under mouse
    desktop = pyatspi.Registry.getDesktop(0)
    wnck_screen = wnck.Screen.get_default()
    window_order = [w.get_name() for w in wnck_screen.get_windows_stacked()]
    top_window = (None, -1)
    for app in desktop:
      if not app or self.isMyApp(app):
        continue
      for frame in app:
        if not frame:
          continue
        acc = self._getComponentAtCoords(frame, x, y)
        if acc:
          try:
            z_order = window_order.index(frame.name)
          except ValueError:
            # It's possibly a popup menu, so it would not be in our frame name
            # list. And if it is, it is probably the top-most component.
            try:
              if acc.queryComponent().getLayer() == pyatspi.LAYER_POPUP:
                self.node.update(acc)
                return
            except:
              pass
          else:
            if z_order > top_window[1]:
              top_window = (acc, z_order)

    if top_window[0]:
      self.node.update(top_window[0])
Beispiel #13
0
	def Popupmenu_Activate(self, menuitem, listview, menuindex):
		if listview.get_selection() == None:
			return

		model = listview.get_selection().get_selected()[0]
		selection = listview.get_selection().get_selected()[1]
		clipboard = Gtk.Clipboard().get_for_display(Gdk.Display().get_default(), Gdk.SELECTION_CLIPBOARD)

		if menuindex == 0:
			# Copy Data
			clipboard.set_text(model.get_value(selection, 1), -1)

		elif menuindex == 1:
			# Copy Annotation
			clipboard.set_text(model.get_value(selection, 2), -1)
			
		elif menuindex == 2:
			# Copy Field Name
			clipboard.set_text(model.get_value(selection, 0), -1)
Beispiel #14
0
 def paste(self, win, butt, idx):
     clip = Gtk.Clipboard.get_default(Gdk.Display().get_default())
     self.text1.get_buffer().paste_clipboard(clip, None, True)
Beispiel #15
0
def get_mouse_pos():
    display = Gdk.Display().get_default()
    dm = Gdk.Display.get_device_manager(display)
    mouse = Gdk.DeviceManager.get_client_pointer(dm)
    screen, x, y = mouse.get_position()
    return x, y
Beispiel #16
0
 def copy(self, win, butt, idx):
     #print("Copy clip")
     clip = Gtk.Clipboard.get_default(Gdk.Display().get_default())
     self.text2.get_buffer().copy_clipboard(clip)
Beispiel #17
0
    def __init__(self, pvg, parent=None):

        Gtk.Window.__init__(self)
        try:
            self.set_screen(parent.get_screen())
        except AttributeError:
            self.connect('destroy', lambda *w: Gtk.main_quit())

        self.set_title(self.__class__.__name__)
        #self.set_border_width(0)

        img_dir = os.path.dirname(os.path.abspath(__file__))
        img_path = os.path.join(img_dir, "pangview.png")

        try:
            self.set_icon_from_file(img_path)
        except:
            #print ("Cannot load app icon.")
            pass

        #rect = self.get_allocation()

        disp2 = Gdk.Display()
        disp = disp2.get_default()
        #print (disp)
        scr = disp.get_default_screen()
        ptr = disp.get_pointer()
        mon = scr.get_monitor_at_point(ptr[1], ptr[2])
        geo = scr.get_monitor_geometry(mon)
        www = geo.width
        hhh = geo.height
        xxx = geo.x
        yyy = geo.y

        #www = rect.width;
        #hhh = rect.height;

        #self.set_default_size(7*www/8, 7*hhh/8)
        if pvg.full_screen:
            self.set_default_size(www, hhh)
        else:
            #self.set_default_size(3*www/4, 3*hhh/4)
            self.set_default_size(hhh, 3 * hhh / 4)

        self.set_position(Gtk.WindowPosition.CENTER)
        #self.set_title("Pango test display");

        hpaned = Gtk.HPaned()
        hpaned.set_border_width(5)

        self.add(hpaned)

        view1 = Gtk.TextView()
        view1.set_border_width(8)

        view1.connect("key-press-event", self.key_press_event)
        view1.connect("event-after", self.event_after)
        view1.connect("motion-notify-event", self.motion_notify_event)
        view1.connect("visibility-notify-event", self.visibility_notify_event)

        view1.set_editable(False)
        view1.set_cursor_visible(False)
        self.view = view1

        self.buffer_1 = view1.get_buffer()
        sw = Gtk.ScrolledWindow()
        sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
        sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
        sw.add(view1)

        view2 = Gtk.TextView()
        view2.set_border_width(8)
        view2.set_editable(False)
        self.buffer_2 = view2.get_buffer()
        sw2 = Gtk.ScrolledWindow()
        sw2.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
        sw2.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
        sw2.add(view2)

        view2.connect("key-press-event", self.key_press_event2)
        view2.connect("event-after", self.event_after2)
        view2.connect("motion-notify-event", self.motion_notify_event2)
        view2.connect("visibility-notify-event", self.visibility_notify_event2)

        hpaned.add1(sw2)
        hpaned.add2(sw)

        self.hpaned = hpaned
        self.set_pane_position(1)

        self.iter = self.buffer_1.get_iter_at_offset(0)
        self.iter2 = self.buffer_1.get_iter_at_offset(0)

        self.set_focus(view1)

        self.show_all()
Beispiel #18
0
def get_area():
    # width of the primary screen.
    dsp = Gdk.Display().get_default()
    prim = dsp.get_primary_monitor()
    return prim.get_geometry().width
Beispiel #19
0
    def __init__(self):

        Gtk.Window.__init__(self, Gtk.WindowType.TOPLEVEL)

        #self = Gtk.Window(Gtk.WindowType.TOPLEVEL)

        #register_stock_icons()

        self.set_title("Template")
        self.set_position(Gtk.WindowPosition.CENTER_ALWAYS)

        #ic = Gtk.Image(); ic.set_from_stock(Gtk.STOCK_DIALOG_INFO, Gtk.ICON_SIZE_BUTTON)
        #window.set_icon(ic.get_pixbuf())

        www = Gdk.Screen.width()
        hhh = Gdk.Screen.height()

        disp2 = Gdk.Display()
        disp = disp2.get_default()
        #print( disp)
        scr = disp.get_default_screen()
        ptr = disp.get_pointer()
        mon = scr.get_monitor_at_point(ptr[1], ptr[2])
        geo = scr.get_monitor_geometry(mon)
        www = geo.width
        hhh = geo.height
        xxx = geo.x
        yyy = geo.y

        # Resort to old means of getting screen w / h
        if www == 0 or hhh == 0:
            www = Gdk.screen_width()
            hhh = Gdk.screen_height()

        if www / hhh > 2:
            self.set_default_size(5 * www / 8, 7 * hhh / 8)
        else:
            self.set_default_size(7 * www / 8, 7 * hhh / 8)
        '''self.set_flags(Gtk.CAN_FOCUS | Gtk.SENSITIVE)

        self.set_events(  Gdk.POINTER_MOTION_MASK |
                            Gdk.POINTER_MOTION_HINT_MASK |
                            Gdk.BUTTON_PRESS_MASK |
                            Gdk.BUTTON_RELEASE_MASK |
                            Gdk.KEY_PRESS_MASK |
                            Gdk.KEY_RELEASE_MASK |
                            Gdk.FOCUS_CHANGE_MASK )
        '''
        self.connect("destroy", self.OnExit)
        self.connect("key-press-event", self.key_press_event)
        self.connect("button-press-event", self.button_press_event)

        try:
            self.set_icon_from_file("icon.png")
        except:
            pass

        vbox = Gtk.VBox()
        hbox4 = Gtk.HBox()

        merge = Gtk.UIManager()
        #self.mywin.set_data("ui-manager", merge)

        aa = create_action_group(self)
        merge.insert_action_group(aa, 0)
        self.add_accel_group(merge.get_accel_group())

        merge_id = merge.new_merge_id()

        try:
            mergeid = merge.add_ui_from_string(ui_info)
        except GLib.GError as msg:
            print("Building menus failed: %s" % msg)

        self.mbar = merge.get_widget("/MenuBar")
        self.mbar.show()

        self.tbar = merge.get_widget("/ToolBar")
        self.tbar.show()

        bbox = Gtk.VBox()
        bbox.pack_start(self.mbar, 0, 0, 0)
        bbox.pack_start(self.tbar, 0, 0, 0)

        vbox.pack_start(bbox, False, 0, 0)

        lab1 = Gtk.Label("")
        hbox4.pack_start(lab1, 1, 1, 0)

        butt1 = Gtk.Button.new_with_mnemonic(" _New ")
        #butt1.connect("clicked", self.show_new, window)
        hbox4.pack_start(butt1, False, 0, 2)

        butt2 = Gtk.Button.new_with_mnemonic(" E_xit ")
        butt2.connect("clicked", self.OnExit, self)
        hbox4.pack_start(butt2, False, 0, 0)

        lab2 = Gtk.Label("  ")
        hbox4.pack_start(lab2, 0, 0, 0)

        hbox2 = Gtk.HBox()
        lab3 = Gtk.Label("")
        hbox2.pack_start(lab3, 0, 0, 0)
        lab4 = Gtk.Label("")
        hbox2.pack_start(lab4, 0, 0, 0)
        vbox.pack_start(hbox2, False, 0, 0)

        hbox3 = Gtk.HBox()
        self.edit = SimpleEdit()
        hbox3.pack_start(self.edit, True, True, 6)
        vbox.pack_start(hbox3, True, True, 2)

        vbox.pack_start(hbox4, False, 0, 6)

        self.add(vbox)
        self.show_all()
Beispiel #20
0
def get_window_xid():  # On Xorg Only
    time.sleep(sl)
    d = Gdk.Display().get_default()
    dv = d.get_device_manager()
    p = dv.get_client_pointer()
    return p.get_window_at_position()[0].get_xid()
Beispiel #21
0
    def __init__(self):

        Gtk.Window.__init__(self, Gtk.WindowType.TOPLEVEL)

        #self = Gtk.Window(Gtk.WindowType.TOPLEVEL)

        self.show_menu = True
        self.show_tbar = True

        register_stock_icons()

        self.set_title("Template")
        self.set_position(Gtk.WindowPosition.CENTER_ALWAYS)

        #ic = Gtk.Image(); ic.set_from_stock(Gtk.STOCK_DIALOG_INFO, Gtk.ICON_SIZE_BUTTON)
        #window.set_icon(ic.get_pixbuf())

        www = Gdk.Screen.width(); hhh = Gdk.Screen.height();

        disp2 = Gdk.Display()
        disp = disp2.get_default()
        #print( disp)
        scr = disp.get_default_screen()
        ptr = disp.get_pointer()
        mon = scr.get_monitor_at_point(ptr[1], ptr[2])
        geo = scr.get_monitor_geometry(mon)
        www = geo.width; hhh = geo.height
        xxx = geo.x;     yyy = geo.y

        # Resort to old means of getting screen w / h
        if www == 0 or hhh == 0:
            www = Gdk.screen_width(); hhh = Gdk.screen_height();

        if www / hhh > 2:
            self.set_default_size(5*www/8, 7*hhh/8)
        else:
            self.set_default_size(7*www/8, 7*hhh/8)

        self.connect("destroy", self.OnExit)
        self.connect("key-press-event", self.key_press_event)
        self.connect("button-press-event", self.button_press_event)

        try:
            self.set_icon_from_file("icon.png")
        except:
            pass

        self.headbar = Gtk.HeaderBar()
        self.headbar.set_decoration_layout("icon,menu:minimize,maximize,close")
        self.headbar.set_show_close_button(True)

        self.menu = MenuButt(("Open", "Close", "Exit"), self.menu_click)
        self.headbar.pack_start(Gtk.Label())
        self.headbar.pack_start(self.menu)
        self.headbar.pack_start(Gtk.Label())

        box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
        Gtk.StyleContext.add_class(box.get_style_context(), "linked")

        button = Gtk.Button()
        button.connect("pressed", self.xmail)
        button.set_tooltip_text("You may configure whatever you want ...")
        icon = Gio.ThemedIcon(name="mail-send-receive-symbolic")
        image = Gtk.Image.new_from_gicon(icon, Gtk.IconSize.BUTTON)
        button.add(image)

        self.headbar.pack_end(button)

        button = Gtk.Button()
        button.add(Gtk.Arrow(Gtk.ArrowType.DOWN, Gtk.ShadowType.NONE))
        button.set_tooltip_text("Show / Hide Toolbar")
        box.add(button)
        box.add(Gtk.Label(" "))
        button.connect("pressed", self.ttt)

        button = Gtk.Button()
        button.add(Gtk.Arrow(Gtk.ArrowType.DOWN, Gtk.ShadowType.NONE))
        button.connect("pressed", self.mmm)
        button.set_tooltip_text("Show / Hide menu")
        box.add(button)
        box.add(Gtk.Label(" "))
        box.add(Gtk.Label(" "))

        button = Gtk.Button()
        button.add(Gtk.Arrow(Gtk.ArrowType.LEFT, Gtk.ShadowType.NONE))
        button.connect("pressed", self.bleft)
        box.add(button)
        box.add(Gtk.Label(" "))

        button = Gtk.Button()
        button.add(Gtk.Arrow(Gtk.ArrowType.RIGHT, Gtk.ShadowType.NONE))
        button.connect("pressed", self.bright)
        box.add(button)

        self.headbar.pack_start(box)

        self.set_titlebar(self.headbar)

        vbox4 = Gtk.VBox(); hbox4 = Gtk.HBox()

        merge = Gtk.UIManager()
        #self.mywin.set_data("ui-manager", merge)

        aa = create_action_group(self)
        merge.insert_action_group(aa, 0)
        self.add_accel_group(merge.get_accel_group())

        merge_id = merge.new_merge_id()

        try:
            mergeid = merge.add_ui_from_string(ui_info)
        except GLib.GError as msg:
            print("Building menus failed: %s" % msg)

        self.mbar = merge.get_widget("/MenuBar")
        self.mbar.show()

        self.tbar = merge.get_widget("/ToolBar");
        self.tbar.show()

        bbox = Gtk.VBox()
        bbox.pack_start(self.mbar, 0,0, 0)
        bbox.pack_start(self.tbar, 0,0, 0)

        vbox4.pack_start(bbox, False, 0, 0)

        lab1 = Gtk.Label("");  hbox4.pack_start(lab1, 1, 1, 0)

        butt1 = Gtk.Button.new_with_mnemonic(" _New ")
        #butt1.connect("clicked", self.show_new, window)
        hbox4.pack_start(butt1, False, 0, 2)

        butt2 = Gtk.Button.new_with_mnemonic(" E_xit ")
        butt2.connect("clicked", self.OnExit, self)
        hbox4.pack_start(butt2, False, 0, 0)

        lab2 = Gtk.Label("  ");  hbox4.pack_start(lab2, 0, 0, 0)

        hbox2 = Gtk.HBox()
        lab3 = Gtk.Label("");  hbox2.pack_start(lab3, 0, 0, 0)
        lab4 = Gtk.Label("");  hbox2.pack_start(lab4, 0, 0, 0)
        vbox4.pack_start(hbox2, False, 0, 0)

        hbox3 = Gtk.HBox()
        self.edit = SimpleEdit();
        hbox3.pack_start(self.edit, True, True, 6)
        vbox4.pack_start(hbox3, True, True, 2)

        vbox4.pack_start(hbox4, False, 0, 6)

        self.add(vbox4)
        self.show_all()
 def parameters(self):
     monitor = Gdk.Display().get_default().get_monitor(0)
     scale, geometry = monitor.get_scale_factor(), monitor.get_geometry()
     return (scale * geometry.width, scale * geometry.height, 30)
Beispiel #23
0
import gi
#gi.require_version('Gtk', '3.0')
gi.require_version('Gdk', '3.0')
#from gi.repository import Gtk
from gi.repository import Gdk

Gdk.init("")

displays = Gdk.DisplayManager().list_displays()
print("Number of displays(" + str(len(displays)) + ")")

#slaves = Gdk.Seat().get_slaves()
print("Get default display...")
display = Gdk.Display().get_default()
if (display == None):
    print("Display not found!")
    exit

devices = display.get_device_manager().list_devices(Gdk.DeviceType.MASTER)
#devices = display.get_device_manager().list_devices(Gdk.DeviceType.SLAVE)
#devices = display.get_device_manager().list_devices(Gdk.DeviceType.FLOATING)
print("Number of devices(" + str(len(devices)) + ")")
for device in devices:
    print(device.get_name())

print("Get default seat...")
seat = display.get_default_seat()
if (seat == None):
    print("Default seat not found!")
    exit