انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: مهدی پیشگوی در 07 امرداد 1386، 07:58 قظ
-
سلام
من یه برنامه کوچیک واسه پانل گنوم نوشتم ولی نمی تونم لودش کنم وقتی add to panel می زنم دیده نمیشه کسی می توه کمک کنه من فایلها رو attach کردم می تونین دانلودش کنین
-
این یه مرجع بسیار خوب کامله!
http://www.pygtk.org/articles/applets_arturogf
-
سلام مهدی جان
لینک خیلی عالی دادی بعضی جاها که ایراد داشتم حل شد ولی باز این برنامه که الان میذارمش اینجا تو پانل جا نمی گیره :-[
سورس اصلی فایل :
نام: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 رو هم مطالعه کردم ولی چیز خاصی دستگیرم نشد که نشد :'(
-
میدونم الان ۲ سال از تاپیک میگذره ولی من تغییرش دادم و الان میاد توی لیست.
ولی برنامتون مشکل داره
<oaf_info>
<oaf_server iid="OAFIID:GNOME_dic_Factory" type="exe"
location="/usr/share/Mahdi/panel2.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="mahdi Factory"/>
<oaf_attribute name="description" type="string" value="its mahdi factory!"/>
</oaf_server>
<oaf_server iid="OAFIID:GNOME_dic" type="factory"
location="OAFIID:GNOME_dic_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="mahdi"/>
<oaf_attribute name="description" type="string" value="Thats my description!!"/>
<oaf_attribute name="panel:category" type="string" value="Amusements"/>
<oaf_attribute name="panel:icon" type="string" value="apple-green.png"/>
</oaf_server>
</oaf_info>
-
سلام . دستت درد نکنه کجای کار ایراد داشت ؟