summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Estienne <sebastien.estienne@gmail.com>2005-09-26 01:38:20 +0000
committerSebastien Estienne <sebastien.estienne@gmail.com>2005-09-26 01:38:20 +0000
commitb5b472cfc79807734b3a9f9a7f4aa2f25c528301 (patch)
tree8c80828f7f0edf792b40c91cb83be1a0202c719c
parentba3d8fb5a9e28437ca516d43d8f934b030a3eb51 (diff)
* support panel color (no transparency yet)
* allow hiding the applet name git-svn-id: file:///home/lennart/svn/public/service-discovery-applet/trunk@20 3be567f1-68ff-0310-b24a-ad7cc433fd2f
-rw-r--r--schemas/service-discovery-applet.schemas12
-rwxr-xr-xsrc/service-discovery-applet.in37
2 files changed, 28 insertions, 21 deletions
diff --git a/schemas/service-discovery-applet.schemas b/schemas/service-discovery-applet.schemas
index f6afac6..cc23770 100644
--- a/schemas/service-discovery-applet.schemas
+++ b/schemas/service-discovery-applet.schemas
@@ -14,6 +14,18 @@
</locale>
</schema>
<schema>
+ <key>/schemas/apps/service-discovery-applet/options/show_applet_name</key>
+ <applyto>/apps/service-discovery-applet/options/show_applet_name</applyto>
+ <owner>service-discovery-applet</owner>
+ <type>bool</type>
+ <default>FALSE</default>
+ <locale name="C">
+ <short>Display the name of the applet.</short>
+ <long>
+ </long>
+ </locale>
+ </schema>
+ <schema>
<key>/schemas/apps/service-discovery-applet/services/_ssh._tcp</key>
<applyto>/apps/service-discovery-applet/services/_ssh._tcp</applyto>
<owner>service-discovery-applet</owner>
diff --git a/src/service-discovery-applet.in b/src/service-discovery-applet.in
index 0f6f1bb..d86944f 100755
--- a/src/service-discovery-applet.in
+++ b/src/service-discovery-applet.in
@@ -65,9 +65,6 @@ zc_pretty_name = {'_ssh._tcp' : 'SSH Servers',
'_workstation._tcp': 'Workstations'
}
-menuZC = gtk.ImageMenuItem()
-menubar = gtk.MenuBar()
-
def siocgifname(interface):
global server
@@ -207,21 +204,13 @@ def del_service_type(interface, protocol, type, domain):
# Callback: panel background changed
-def on_change_background(panelapplet, backgroundtype, color, pixmap):
- global menubar, menuZC
-
- panelapplet.modify_bg(gtk.STATE_NORMAL, color)
- menuZC.modify_bg(gtk.STATE_NORMAL, color)
+def on_change_background(panelapplet, backgroundtype, color, pixmap, menubar):
menubar.modify_bg(gtk.STATE_NORMAL, color)
if backgroundtype == gnomeapplet.PIXMAP_BACKGROUND:
print "PIXMAP_BACKGROUND"
- s1 = panelapplet.get_style()
-# s2 = menuZC.get_style()
-# s3 = menubar.get_style()
- s1.bg_pixmap[gtk.STATE_NORMAL] = pixmap
-# s2.bg_pixmap[gtk.STATE_NORMAL] = pixmap
-# s3.bg_pixmap[gtk.STATE_NORMAL] = pixmap
+ s3 = menubar.get_style()
+ s3.bg_pixmap[gtk.STATE_NORMAL] = pixmap
if backgroundtype == gnomeapplet.COLOR_BACKGROUND:
print "COLOR_BACKGROUND"
@@ -312,19 +301,23 @@ def gc_services_cb (client, cnxn_id, gc_entry, data):
print "remove %s" % (service_type)
del_service_type(interface, protocol, service_type, domain)
-def gc_options_cb (client, cnxn_id, gc_entry, data):
+def gc_options_cb (client, cnxn_id, gc_entry, zc_label):
global show_notifications, show_applet_name, show_local_services
key = os.path.basename(gc_entry.key)
if key == "show_applet_name":
show_applet_name = client.get_bool(gc_entry.key)
+ if show_applet_name == False:
+ zc_label.hide()
+ else:
+ zc_label.show()
if key == "show_notifications":
show_notifications = client.get_bool(gc_entry.key)
if key == "show_local_services":
show_local_services = client.get_bool(gc_entry.key)
def ServiceDiscoveryApplet_factory(applet, iid):
- global session_bus, notif, show_notifications, gc_client, server, system_bus, domain, menubar, menuZC
+ global session_bus, notif, show_notifications, gc_client, server, system_bus, domain
# Gconf
gc_client = gconf.client_get_default ()
@@ -335,7 +328,6 @@ def ServiceDiscoveryApplet_factory(applet, iid):
show_notifications = gc_client.get_bool ("%s/%s" % (gc_options,"show_notifications"))
show_applet_name = gc_client.get_bool ("%s/%s" % (gc_options,"show_applet_name"))
- gc_client.notify_add (gc_options, gc_options_cb, None)
gc_client.add_dir (gc_services, gconf.CLIENT_PRELOAD_NONE)
gc_client.notify_add (gc_services, gc_services_cb,None)
@@ -344,12 +336,16 @@ def ServiceDiscoveryApplet_factory(applet, iid):
image = gtk.Image()
image.set_from_file("@iconsdir@/24x24/service-discovery-applet.png")
menuZC = gtk.ImageMenuItem()
- menuZC.add(gtk.Label('ZeroConf'))
+ zc_label = gtk.Label('ZeroConf')
+ if show_applet_name == False:
+ zc_label.set_no_show_all(True)
+ menuZC.add(zc_label)
menuZC.set_image(image)
menuZC.set_right_justified(True)
menuZC.set_submenu(service_menu);
- menuZC.show_all()
+ gc_client.notify_add (gc_options, gc_options_cb, zc_label)
+
# Applet MenuBar
gtk.rc_parse_string('''
style "service-discovery-applet-menubar-style"
@@ -366,9 +362,8 @@ def ServiceDiscoveryApplet_factory(applet, iid):
menubar.add(menuZC)
#expand the applet with the panel
- applet.connect("change_background", on_change_background)
+ applet.connect("change_background", on_change_background, menubar)
applet.set_applet_flags(gnomeapplet.EXPAND_MINOR)
- #applet.add(menuZC)
applet.add(menubar)
applet.show_all()