انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: کمک در نوشتن برنامه های Gnome-applet  (دفعات بازدید: 2942 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
کمک در نوشتن برنامه های Gnome-applet
« : 07 امرداد 1386، 07:58 ق‌ظ »
سلام
من یه برنامه کوچیک واسه پانل گنوم نوشتم ولی نمی تونم لودش کنم وقتی add to panel می زنم دیده نمیشه کسی می توه کمک کنه من فایلها رو attach کردم می تونین دانلودش کنین

آفلاین Mehdi

  • ناظر ویژه انجمن
  • *
  • ارسال: 3284
  • جنسیت : پسر
    • هزاردستان
پاسخ به: کمک در نوشتن برنامه های Gnome-applet
« پاسخ #1 : 07 امرداد 1386، 09:10 ب‌ظ »
این یه مرجع بسیار خوب کامله!
http://www.pygtk.org/articles/applets_arturogf
Of one Essence is the human race,
Thusly has Creation put the Base;
One Limb impacted is sufficient,
For all Others to feel the Mace.
~Saadi (persian poet) -1258
Hezardastan | Free As in Freedom

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: کمک در نوشتن برنامه های Gnome-applet
« پاسخ #2 : 07 امرداد 1386، 10:38 ب‌ظ »
سلام مهدی جان
لینک خیلی عالی دادی بعضی جاها که ایراد داشتم حل شد ولی باز این برنامه که الان میذارمش اینجا تو پانل جا نمی گیره  :-[
سورس اصلی فایل :
نام: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 رو هم مطالعه کردم ولی چیز خاصی دستگیرم نشد که نشد :'(

آفلاین parsibox

  • Hero Member
  • *
  • ارسال: 777
  • جنسیت : پسر
  • آچار فرانسه
    • سایت شخصی محسن داوری
پاسخ به: کمک در نوشتن برنامه های Gnome-applet
« پاسخ #3 : 20 آذر 1388، 01:23 ب‌ظ »
میدونم الان ۲ سال از تاپیک میگذره ولی من تغییرش دادم و الان میاد توی لیست.
ولی برنامتون مشکل داره

<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>
« آخرین ویرایش: 20 آذر 1388، 01:26 ب‌ظ توسط parsibox »
http://forum.ubuntu.ir/index.php/topic,12830.0.html
http://forum.ubuntu.ir/index.php/topic,12928.new.htm
http://forum.ubuntu.ir/index.php/topic,12151.0.html
توجه : کلیه ی کاربران لینوکس در اصفهان که متقاضی شارژ یا راه اندازی ADSL پیشگامان یا صبانت هستند میتوانند از طریق ما 5% تخفیف بگیرند

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: کمک در نوشتن برنامه های Gnome-applet
« پاسخ #4 : 17 اسفند 1388، 11:25 ق‌ظ »
سلام . دستت درد نکنه کجای کار ایراد داشت ؟