def bench_func(n): times = [] for i in xrange(n): t = time.time() Gtk.get_current_event_time() Gtk.rc_get_theme_dir()[:] t = time.time() - t times.append(t) return times
def __get_themes(self): # deprecated, but there is no public replacement with warnings.catch_warnings(): warnings.simplefilter("ignore") theme_dir = Gtk.rc_get_theme_dir() theme_dirs = [theme_dir, os.path.join(get_home_dir(), ".themes")] themes = set() for theme_dir in theme_dirs: try: subdirs = os.listdir(theme_dir) except OSError: continue for dir_ in subdirs: gtk_dir = os.path.join(theme_dir, dir_, "gtk-3.0") if os.path.isdir(gtk_dir): themes.add(dir_) try: resource_themes = Gio.resources_enumerate_children( "/org/gtk/libgtk/theme", 0) except GLib.GError: pass else: themes.update([t.rstrip("/") for t in resource_themes]) return themes
def _list_gtk_themes(self): dirs = [ Gtk.rc_get_theme_dir(), os.path.join(GLib.get_user_data_dir(), 'themes'), os.path.join(GLib.get_home_dir(), '.themes') ] for dir in GLib.get_system_data_dirs(): dirs.append(os.path.join(dir, 'themes')) themes = set() for dir in dirs: for f in glob(os.path.join(dir, '*', 'index.theme')): themes.add(f.split(os.path.sep)[-2]) return themes
def __get_themes(self): theme_dirs = [ Gtk.rc_get_theme_dir(), os.path.join(const.HOME, ".themes") ] themes = set() for theme_dir in theme_dirs: try: subdirs = os.listdir(theme_dir) except OSError: continue for dir_ in subdirs: gtk_dir = os.path.join(theme_dir, dir_, "gtk-3.0") if os.path.isdir(gtk_dir): themes.add(dir_) return themes
def __get_themes(self): # deprecated, but there is no public replacement with warnings.catch_warnings(): warnings.simplefilter("ignore") theme_dir = Gtk.rc_get_theme_dir() theme_dirs = [theme_dir, os.path.join(get_home_dir(), ".themes")] themes = set() for theme_dir in theme_dirs: try: subdirs = os.listdir(theme_dir) except OSError: continue for dir_ in subdirs: gtk_dir = os.path.join(theme_dir, dir_, "gtk-3.0") if os.path.isdir(gtk_dir): themes.add(dir_) return themes
def __get_themes(self): # deprecated, but there is no public replacement with warnings.catch_warnings(): warnings.simplefilter("ignore") theme_dir = Gtk.rc_get_theme_dir() theme_dirs = [theme_dir, os.path.join(get_home_dir(), ".themes")] theme_dirs += [ os.path.join(d, "themes") for d in xdg_get_system_data_dirs() ] def is_valid_teme_dir(path): """If the path contains a theme for the running gtk version""" major = qltk.gtk_version[0] minor = qltk.gtk_version[1] names = ["gtk-%d.%d" % (major, m) for m in range(minor, -1, -1)] for name in names: if os.path.isdir(os.path.join(path, name)): return True return False themes = set() for theme_dir in set(theme_dirs): try: subdirs = os.listdir(theme_dir) except OSError: continue for dir_ in subdirs: if is_valid_teme_dir(os.path.join(theme_dir, dir_)): themes.add(dir_) try: resource_themes = Gio.resources_enumerate_children( "/org/gtk/libgtk/theme", 0) except GLib.GError: pass else: themes.update([t.rstrip("/") for t in resource_themes]) return themes
def get_theme_dirs(): return [ get_home_dir() + '/themes', Gtk.rc_get_theme_dir(), '/usr/share/themes' ]
def test_basic(self): self.assertTrue("themes" in Gtk.rc_get_theme_dir()) self.assertTrue(Gtk.rc_get_module_dir()) self.assertEqual(Gtk.rc_get_default_files(), []) self.assertEqual(Gtk.get_current_event_time(), 0)