Repository navigation
Expand file tree
/
Copy pathAppRun
More file actions
executable file
·121 lines (94 loc) · 2.85 KB
/
Copy pathAppRun
File metadata and controls
executable file
·121 lines (94 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/usr/bin/env python
import findrox; findrox.version(1, 9, 13)
import sys, os
import rox
from rox.settings import Setting, Settings
from rox import OptionsBox, g
import string
__builtins__._ = rox.i18n.translation(os.path.join(rox.app_dir, 'Messages'))
from rox.basedir import xdg_data_dirs
try:
import gconf
client = gconf.client_get_default ();
client.add_dir ("/desktop/gnome/interface", gconf.CLIENT_PRELOAD_NONE)
except:
client = None
def add_key_themes(themes, dir):
if not os.path.isdir(dir):
return
for theme in os.listdir(dir):
if theme.startswith('.'): continue
if os.path.exists(os.path.join(dir, theme, 'gtk-2.0-key')):
themes[theme] = True
def build_test_entry(box, node, label):
entry = g.Entry()
box.may_add_tip(entry, node)
return [entry]
def build_key_theme(box, node, label, option):
hbox = g.HBox(False, 4)
hbox.pack_start(g.Label(_(label)), False, True, 0)
#button = g.OptionMenu()
button = g.combo_box_new_text()
hbox.pack_start(button, True, True, 0)
#menu = g.Menu()
#button.set_menu(menu)
themes = {}
user_dir = os.path.expanduser('~/.themes')
add_key_themes(themes, user_dir)
add_key_themes(themes, g.rc_get_theme_dir())
for dir in xdg_data_dirs:
add_key_themes(themes, dir)
names = themes.keys()
names.sort()
for name in names:
#item = g.MenuItem(name)
#menu.append(item)
#item.show_all()
button.append_text(name)
def update_theme():
#i = -1
#for kid in menu.get_children():
# i += 1
# item = kid.child
# # The label actually moves from the menu!!
# if not item:
# item = button.child
# label = item.get_text()
# if label == option.value:
# button.set_history(i)
i = 0
for name in names:
if name == option.value:
button.set_active(i)
break;
i += 1
def read_theme():
#return button.child.get_text()
return names[button.get_active()]
box.handlers[option] = (read_theme, update_theme)
button.connect('changed', lambda w: box.check_widget(option))
eb = g.EventBox()
eb.add(hbox)
box.may_add_tip(eb, node)
return [eb]
OptionsBox.widget_registry['key-theme'] = build_key_theme
OptionsBox.widget_registry['test-entry'] = build_test_entry
settings = Settings()
class KeySetting(Setting):
def __init__(self, name, default, theme = True, gconf_key = None):
Setting.__init__(self, name, default, settings, theme, gconf_key)
KeySetting('Net/CursorBlink', 1)
KeySetting('Net/CursorBlinkTime', 1200)
KeySetting('Gtk/CanChangeAccels', 1)
KeySetting('Gtk/KeyThemeName', "Emacs", 'gtk_key_theme')
KeySetting('ROX/KeyTable',"default")
KeySetting('ROX/KbdRepeat', 1)
KeySetting('ROX/KbdDelay', 500)
KeySetting('ROX/KbdInterval', 30)
KeySetting('ROX/NumLock', 1)
KeySetting('ROX/CapsLock', 0)
KeySetting('ROX/ScrollLock', 0)
box = OptionsBox.OptionsBox(settings, os.path.join(rox.app_dir, 'Options.xml'))
box.open()
box.set_title(_("Keyboard options"))
rox.mainloop()