def __init__(self): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.connect("destroy", self.destroy) self.window.set_default_size(640, 300) self.window.set_border_width(20) vbox = gtk.VBox(False, 0) vbox.set_spacing(15) self.log = maxdeque(maxlen=25) for x in range(25): self.log.append("") self.events = gtk.Label() fixed = pango.FontDescription('monospace 9') self.events.modify_font(fixed) #how many clipboards to show: self.clipboards = ["CLIPBOARD", "PRIMARY", "SECONDARY"] if sys.platform.startswith("win"): self.clipboards = ["CLIPBOARD"] tb = TableBuilder() table = tb.get_table() labels = [label("Selection")] labels += [ label("Value"), label("Clear"), label("Targets"), label("Actions") ] tb.add_row(*labels) for selection in self.clipboards: cs = ClipboardInstance(selection, self.add_event) get_actions = gtk.HBox() for x in (cs.get_get_targets_btn, cs.get_target_btn, cs.get_string_btn): get_actions.pack_start(x) tb.add_row(label(selection), cs.value_label, cs.clear_label_btn, cs.get_targets, get_actions) set_actions = gtk.HBox() for x in (cs.set_target_btn, cs.set_string_btn): set_actions.pack_start(x) tb.add_row(None, cs.value_entry, cs.clear_entry_btn, cs.set_targets, set_actions) vbox.pack_start(table) vbox.add(self.events) self.window.add(vbox) self.window.show_all() icon = get_icon("clipboard.png") if icon: self.window.set_icon(icon) try: self.add_event( "ALL", "window=%s, xid=%s" % (self.window, hex(self.window.get_window().xid))) except: self.add_event("ALL", "window=%s" % self.window)
def do_init(): from wimpiggy.util import gtk_main_quit_really def quit_launcher(*args): gtk_main_quit_really() from xpra.darwin.gui import get_OSXApplication, setup_menubar, osx_ready from xpra.platform import get_icon setup_menubar(quit_launcher) osxapp = get_OSXApplication() icon = get_icon("xpra.png") if icon: osxapp.set_dock_icon_pixbuf(icon) osx_ready()
def __init__(self): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.connect("destroy", self.destroy) self.window.set_default_size(640, 300) self.window.set_border_width(20) vbox = gtk.VBox(False, 0) vbox.set_spacing(15) self.log = maxdeque(maxlen=25) for x in range(25): self.log.append("") self.events = gtk.Label() fixed = pango.FontDescription('monospace 9') self.events.modify_font(fixed) #how many clipboards to show: self.clipboards = ["CLIPBOARD", "PRIMARY", "SECONDARY"] if sys.platform.startswith("win"): self.clipboards = ["CLIPBOARD"] tb = TableBuilder() table = tb.get_table() labels = [label("Selection")] labels += [label("Value"), label("Clear"), label("Targets"), label("Actions")] tb.add_row(*labels) for selection in self.clipboards: cs = ClipboardInstance(selection, self.add_event) get_actions = gtk.HBox() for x in (cs.get_get_targets_btn, cs.get_target_btn, cs.get_string_btn): get_actions.pack_start(x) tb.add_row(label(selection), cs.value_label, cs.clear_label_btn, cs.get_targets, get_actions) set_actions = gtk.HBox() for x in (cs.set_target_btn, cs.set_string_btn): set_actions.pack_start(x) tb.add_row(None, cs.value_entry, cs.clear_entry_btn, cs.set_targets, set_actions) vbox.pack_start(table) vbox.add(self.events) self.window.add(vbox) self.window.show_all() icon = get_icon("clipboard.png") if icon: self.window.set_icon(icon) try: self.add_event("ALL", "window=%s, xid=%s" % (self.window, hex(self.window.get_window().xid))) except: self.add_event("ALL", "window=%s" % self.window)
def about(on_close=None): global about_dialog if about_dialog: about_dialog.show() about_dialog.present() return from xpra.platform import get_icon xpra_icon = get_icon("xpra.png") dialog = gtk.AboutDialog() if not is_gtk3(): def on_website_hook(dialog, web, *args): ''' called when the website item is selected ''' webbrowser.open(SITE_URL) def on_email_hook(dialog, mail, *args): webbrowser.open("mailto://[email protected]") gtk.about_dialog_set_url_hook(on_website_hook) gtk.about_dialog_set_email_hook(on_email_hook) if xpra_icon: dialog.set_icon(xpra_icon) dialog.set_name("Xpra") dialog.set_version(__version__) dialog.set_authors(('Antoine Martin <*****@*****.**>', 'Nathaniel Smith <*****@*****.**>', 'Serviware - Arthur Huillet <*****@*****.**>')) _license = load_license() dialog.set_license(_license or "Your installation may be corrupted," + " the license text for GPL version 2 could not be found," + "\nplease refer to:\nhttp://www.gnu.org/licenses/gpl-2.0.txt") dialog.set_comments("\n".join(get_build_info())) dialog.set_website(SITE_URL) dialog.set_website_label(SITE_DOMAIN) if xpra_icon: dialog.set_logo(xpra_icon) if hasattr(dialog, "set_program_name"): dialog.set_program_name(APPLICATION_NAME) def close(*args): close_about() #the about function may be called as a widget callback #so avoid calling the widget as if it was a function! if on_close and hasattr(on_close, '__call__'): on_close() dialog.connect("response", close) add_close_accel(dialog, close) about_dialog = dialog dialog.show()
def __init__(self): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.connect("destroy", self.destroy) self.window.set_default_size(540, 800) self.window.set_border_width(20) # Title vbox = gtk.VBox(False, 0) vbox.set_spacing(15) label = gtk.Label("Keyboard State") label.modify_font(pango.FontDescription("sans 13")) vbox.pack_start(label) self.modifiers = gtk.Label() vbox.add(self.modifiers) self.mouse = gtk.Label() vbox.add(self.mouse) self.keys = gtk.Label() fixed = pango.FontDescription('monospace 9') self.keys.modify_font(fixed) vbox.add(self.keys) self.window.add(vbox) self.window.show_all() gobject.timeout_add(100, self.populate_modifiers) self.key_events = maxdeque(maxlen=35) self.window.connect("key-press-event", self.key_press) self.window.connect("key-release-event", self.key_release) self.window.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.HAND2)) icon = get_icon("keyboard.png") if icon: self.window.set_icon(icon)