سلام مهدی جان
لینک خیلی عالی دادی بعضی جاها که ایراد داشتم حل شد ولی باز این برنامه که الان میذارمش اینجا تو پانل جا نمی گیره
سورس اصلی فایل :
نام:panel.py
#!/usr/bin/env python
import pygtk
import sys
pygtk.require('2.0')
import gtk
import gnomeapplet
import subprocess
def sample_factory(applet, iid):
hbox = gtk.HBox()
label = gtk.Label("Totem:")
hbox.add(label)
button = gtk.Button("")
image = gtk.Image()
image.set_from_stock("gtk-media-previous",gtk.ICON_SIZE_BUTTON)
button.set_image(image)
button.connect("clicked",previous_clicked)
hbox.add(button)
button = gtk.Button("")
image = gtk.Image()
image.set_from_stock("gtk-media-play",gtk.ICON_SIZE_BUTTON)
button.set_image(image)
button.connect("clicked",play_clicked)
hbox.add(button)
button = gtk.Button("")
image = gtk.Image()
image.set_from_stock("gtk-media-pause",gtk.ICON_SIZE_BUTTON)
button.set_image(image)
button.connect("clicked",pause_clicked)
hbox.add(button)
button = gtk.Button("")
image = gtk.Image()
image.set_from_stock("gtk-media-next",gtk.ICON_SIZE_BUTTON)
button.set_image(image)
button.connect("clicked",next_clicked)
hbox.add(button)
applet.add(hbox)
applet.show_all()
return True
def previous_clicked(event):
subprocess.Popen(("totem","--previous"))
def play_clicked(event):
subprocess.Popen(("totem","--play"))
def pause_clicked(event):
subprocess.Popen(("totem","--pause"))
def next_clicked(event):
subprocess.Popen(("totem","--next"))
if len(sys.argv) == 2:
if sys.argv[1] == "run-in-window":
main_window = gtk.Window(gtk.WINDOW_TOPLEVEL)
main_window.set_title("Python Applet")
main_window.connect("destroy", gtk.main_quit)
app = gnomeapplet.Applet()
sample_factory(app, None)
app.reparent(main_window)
main_window.show_all()
gtk.main()
sys.exit()
gnomeapplet.bonobo_factory("OAFIID:GNOME_TotemApplet_Factory",
gnomeapplet.Applet.__gtype__,
"simple remote control", "1.0", sample_factory)
سورس GNOME_totem-applet.server
<oaf_info>
<oaf_server iid="OAFIID:GNOME_TotemApplet_Factory"
type="exe" location="/home/owen/src/totem-applet/totem-applet.py">
<oaf_attribute name="repo_ids" type="stringv">
<item value="IDL:Bonobo/GenericFactory:1.0"/>
<item value="IDL:Bonobo/Unknown:1.0"/>
</oaf_attribute>
<oaf_attribute name="name" type="string" value="Totem Applet"/>
<oaf_attribute name="description" type="string" value="Simple remote control"/>
</oaf_server>
<oaf_server iid="OAFIID:GNOME_TotemApplet"
type="factory" location="OAFIID:GNOME_TotemApplet_Factory">
<oaf_attribute name="repo_ids" type="stringv">
<item value="IDL:GNOME/Vertigo/PanelAppletShell:1.0"/>
<item value="IDL:Bonobo/Control:1.0"/>
<item value="IDL:Bonobo/Unknown:1.0"/>
</oaf_attribute>
<oaf_attribute name="name" type="string" value="Totem Applet"/>
<oaf_attribute name="description" type="string" value="Simple remote control"/>
<oaf_attribute name="panel:category" type="string" value="Utility"/>
<oaf_attribute name="panel:icon" type="string" value="/usr/share/Totem_Applet/test.png"/>
</oaf_server>
</oaf_info>
و فایل Makefile :
PKGNAME = Totem-applet
PYTHON=python
PKGDIR = /usr/share/Totem_Applet
install:
mkdir -p $(DESTDIR)$(PKGDIR)
install -m755 panel.py $(DESTDIR)$(PKGDIR)/.
install -m644 GNOME_totem-applet.server $(DESTDIR)/usr/lib/bonobo/servers
install -m644 test.png $(DESTDIR)$(PKGDIR)/.
chmod +x $(DESTDIR)$(PKGDIR)/panel.py
به اضافه یه فایل png. کوچیک
اجرای دستور Makefile :
mkdir -p /usr/share/Totem_Applet
install -m755 panel.py /usr/share/Totem_Applet/.
install -m644 GNOME_totem-applet.server /usr/lib/bonobo/servers
install -m644 test.png /usr/share/Totem_Applet/.
chmod +x /usr/share/Totem_Applet/panel.py
کجای کار ایراد داره نمی دونم
به هیچ عنوان وارد لیست پانل مثا Jcalander نمیشه که نمیشه
سورس فایلهای Jcalander رو هم مطالعه کردم ولی چیز خاصی دستگیرم نشد که نشد