Re: [pygtk] Applet doesn't run as applet

2006-07-17 Thread Nigel Tao

Hmm... a long time ago, I wrote a little Python GNOME-applet - perhaps
looking at the source (and README) for that will help??

http://www.gnomefiles.org/app.php?soft_id=745
___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] Applet doesn't run as applet

2006-07-16 Thread Nigel Tao

I also tried to follow davyd's instructions, but gdb complains about
"/usr/bin/vdr-applet.py": not in executable format: File format not
recognized"

I just have no idea what the problem could be :(


Off the top of my head, you might have to do "gdb python" and then
inside gdb, "run /usr/bin/vdr-applet.py".
___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] Panel applets gconf

2006-06-24 Thread Nigel Tao

In deskbar-applet (which is a PyGTK applet), we just use the regular
gconf module, and applet.get_preferences_key().

http://cvs.gnome.org/viewcvs/deskbar-applet/deskbar/DeskbarAppletPreferences.py?view=markup

Nigel.
___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] Detecting number of monitors/screens?

2006-05-23 Thread Nigel Tao

How do I find out how many heads X is using?


I think you need to query Xinerama rather than libwnck, and I don't
know if the former is wrapped in Pythony goodness.  At least, after
poking around libwnck for a fair bit (and looking at the metacity
source), I had to use Xinerama [1] for a recent C project of mine
(superswitcher): http://www.gnomefiles.org/app.php?soft_id=1231

You might also want to search the libwnck bugs in case other people
have asked for this before.

[1] Of course, I'd be happy to be proven wrong.  :-)
___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] GNOME Goal: Theme-friendly icons

2006-04-09 Thread Nigel Tao
On 4/9/06, Andrew Conkling <[EMAIL PROTECTED]> wrote:
> the page is immutable

The page is mutable if you log in.  :-)
___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: Re: [pygtk] gnome applets and menus

2006-02-02 Thread Nigel Tao
> self.ev.connect("button-press-event", ...

what happens if you connect to the textview rather than the eventbox (self.ev)? 
 eventboxes are only needed for those widgets (like images, iirc) that don't 
receive their own events.  a textview isn't one of those, i think.

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] gnome applets and menus

2006-01-30 Thread Nigel Tao
> Is it possible to make the right click on the
> textview be ignored by the textview widget and
> acted on by the applet itself?

Look at the 0.1 version (ie the simplest working example) of 
http://www.ugr.es/~arturogf/applets/software/ which comes with a bonus "writing 
applets in python" tutorial at http://www.ugr.es/~arturogf/applets/

In particular, this guy has a progressbar (in an eventbox) rather than a 
textview, but copying that might work for you.

Otherwise, look at deskbar-applet code, although it'll be more complicated.


Nigel.

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] import wnck error

2006-01-16 Thread Nigel Tao
On Mon, 2006-01-16 at 12:33 +0700, Akbar wrote:
> I use Ubuntu Breezy Badger ( 5.10 ), Gnome 2.12. I installed
> gnome-python2-extra-devs version 2.12 by synaptic.
> 
> I run python.
> $ python
> 
> >>> import wnck
> Traceback (most recent call last):
>   File "", line 1, in ?
> ImportError: /usr/lib/python2.4/site-packages/gtk-2.0/wnck.so: undefined
> symbol: wnck_window_demands_attention

This was a known bug that was fixed in more recent versions of
gnome-python-extras.  Bugs are tracked in GNOME's Bugzilla:
http://bugzilla.gnome.org/show_bug.cgi?id=317366

Unfortunately, I don't think that the patch has hit Breezy, but it
should be fixed in Dapper, or otherwise you could try compiling g-p-e
from source (for which you will probably need libwnck-dev, amongst
others).


Nigel.

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] How to get more info on a GC crasher

2005-11-24 Thread Nigel Tao
My somewhat complicated PyGTK program (involving threads, signals and
callbacks) has a Python-wrapping-C part, and somewhere along the line,
the program crashes when I do:

import gc
gc.collect()

The stack trace (http://bugzilla.gnome.org/show_bug.cgi?id=322119) doesn't give 
me any obvious clues.

How can I get a little more information?  For example, is a particular object 
badly ref-counted (e.g., with a ref-count of -1)?  How can I get the name of 
the Python class of the rogue object?

tia,
Nigel.

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] Looking up PyGTK API in the Deskbar

2005-11-10 Thread Nigel Tao
Blowing my own trumpet, but thought this list might be interested.

The Deskbar Applet (http://raphael.slinckx.net/deskbar/) is extensible,
and I just put up a first cut at a tutorial on how to do so:
http://live.gnome.org/DeskbarApplet/Extending

This particular example shows how to look up the www.pygtk.org class API
documentation, so that I can type "but" to go straight to the gtk.Button
page at http://www.pygtk.org/pygtk2reference/class-gtkbutton.html

Screenshot:
http://browserbookapp.sourceforge.net/misc/deskbar_pygtk_api.png

Obviously, there's plenty of functionality to potentially add, like
offering function names as well as class names, but it's a start.

Nigel.

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] Python/C and ref-counting

2005-10-18 Thread Nigel Tao
I'm writing Python bindings for a small bit of C code.

If I have

PyObject *t = PyTuple_New (3);
if (hit->text == NULL)
PyTuple_SET_ITEM (t, 0, Py_None);
else
PyTuple_SET_ITEM (t, 0, PyString_FromString(hit->text));

then do I have to Py_INCREF the Py_None in the NULL if-branch?  But the
result from PyString_FromString is properly ref-counted, right?

Also, if I do

PyArg_ParseTuple(first, "sO:", &keystring, &handler)

then I don't have to manually free keystring or Py_XDECREF handler, but
to refer to the string data later, I should g_strdup (and later free my
dup), right?

Just checking.  :)

Thanks again!
Nigel
___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] Python/C and Gtk threading

2005-10-17 Thread Nigel Tao
I have written a Python binding [1] to Tomboy's global keybinding code
(written in C).  And it all works fine.  Mostly.

If my python app calls
gtk.gdk.threads_init()
earlier, however, then it segfaults somewhere in the PyEval_CallObject
of:

void handler_c_func (char *keystring, gpointer user_data)
{
Handler_and_Args *ha = (Handler_and_Args *) user_data;
PyObject *result = PyEval_CallObject(ha->handler, ha->args);
if (result == NULL) {
if (PyErr_Occurred()) {
PyErr_Print();
}
} else {
Py_DECREF(result);
}
}


If I add gdk_threads_enter() and gdk_threads_leave() just before and
after the "PyObject *result = ..." line, then it doesn't segfault, but
just blocks at the gdk_threads_enter.  I tried messing around with
Py_BEGIN_ALLOW_THREADS, and alternatively having handler_c_func calling
g_idle_add, but both of those didn't seem to work.

Any ideas?

Thanks in advance,
Nigel.


[1] http://cvs.gnome.org/viewcvs/deskbar-applet/deskbar/keybinder/
___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] About Dialog Issues

2005-09-14 Thread Nigel Tao
On Wed, 2005-09-14 at 12:21 -0400, Mystilleef wrote:
> =
> 
> import gtk
> from gnome import url_show
> 
> gtk.about_dialog_set_url_hook(url_show, "http://www.google.com";)
> 
> def create_about_dialog():
>   
>   dialog = gtk.AboutDialog()
>   dialog.set_website_label("http://www.google.com";)
>   dialog.show_all()
>   
>   return dialog
> 
> =
> 
> When I click on the link on the dialog, I get the following
> error:
> 
> TypeError: url_show() takes exactly 1 argument (3 given)
> 
> 
> As you can see, I have passed exactly one argument to 
> url_show. What am I doing wrong?

url_show takes 1 argument, but the callback from
about_dialog_set_url_hook should take 3.  Thus, 3 args are being fed to
url_hook, which only takes one.  Thus, your error message.

Working version:
=
#!/usr/bin/env python

import gtk
from gnome import url_show

dialog = gtk.AboutDialog()

def foo(dialog, arg2, arg3):
print dialog
print arg2
print arg3
#url_show(arg2)

gtk.about_dialog_set_url_hook(foo, "arg3")
dialog.set_website("arg2")
dialog.set_website_label("http://www.google.com";)
dialog.show_all()

gtk.main()
=

Or, since arg3 is optional, you can do something like
=
gtk.about_dialog_set_url_hook(lambda dialog, url: url_show(url))
dialog.set_website("http://www.google.com";)
dialog.set_website_label("http://www.google.com";)
=


Nigel.
___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] panel_applet_request_focus() not bound?

2005-04-19 Thread Nigel Tao
Due to focus related changes to gnome-panel for 2.10, a new API -
panel_applet_request_focus() was introduced [1].  My PyGTK applet (which
contains a gtk.Entry) needs to use this function or otherwise the Entry
cannot receive key presses and is hence useless.

[1]
http://mail.gnome.org/archives/gnome-announce-list/2005-January/msg00020.html

Is panel_applet_request_focus() bound?  I tried:


python
>>> import gnomeapplet
>>> a=gnomeapplet.Applet()
>>> dir(a)


but did not find any leads.  I also downloaded the gnome-python-extras
tarball and in it I did a


grep -R equest_foc *


which came up empty, but I am not sure if that's the right way to try to
find API - I'm not sure how the gnome-python[-extras] source works.  Is
the applet.defs file Lisp?  I'm confused (not that I've poked around too
deeply).


tia,
Nigel.

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] Re: Popup Menu

2005-04-12 Thread Nigel Tao
On Mon, 2005-04-11 at 21:23 -0300, CÃsar Leonardo Blum Silveira wrote:
> Is there a way I can make my application be just a popup menu?
> I mean, when the user opens it, there is no window, it automatically
> pops up a menu right where the mouse pointer is. Is that possible?

Apologies for hijacking your thread, but on a related question - my
applet is nothing but an gtk.Entry, which already has a popup menu (with
Cut, Copy, ..., "Input Methods->" items).  How can I get the gtk.Menu
object when it pops (or otherwise add extra gtk.MenuItems to the popup
menu)?  I want to add "Preferences" and "About" items, without losing
the existing Cut, Copy, etc.

tia,
Nigel.

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] How to debug whilst logging off

2005-03-12 Thread Nigel Tao
I'm developing a Gnome Applet in python, and somewhere along the line
I've tickled a bug somewhere that's causing crashes.  Not regular
crashes, but crashes only when I log out of Gnome.  Something, somewhere
along the line is broken - but it's hard to debug because I can only
trigger it by logging out.  Adding applet instances, removing them,
moving them around, playing with the UI doesn't cause crashes - only
logging out.  Yes, it's weird.

The actual crash is that I get a message box that says something like
"The program 'deskbar-applet' has stopped unexpectedly" or something
like that - I can't remember the exact wording off the top of my head.
And sometimes (but not always!) it brings up two boxes - one with the
above message and another similar one with "multi-load applet" in place
of "deskbar-applet".  (Deskbar-applet is the one I'm developing, Multi-
Load is just another applet that happens to hang out on my panel).

Now, I can predictably and repeatedly trigger the bug.  But if, at a
certain place in the code (a constructor), I add the following:
-
# wait for 0.1 seconds
import time
time_to_wait_until = time.time() + 0.1
while time.time() < time_to_wait_until:
pass
-
then there are no crashes.  So, even weirder, something out there is
time-dependent or not properly multi-threaded or something.

Anyway, after having said all that, what I would like to know is:

1) Does this look familiar to anyone?  Any suggestions on what's going
on?

and

2) Any suggestions on how to debug an applet bug which I can only tickle
by logging off?  How can I get some sort of stack trace or log or
anything useful?  Right now I'm just guessing, coding, and hoping.

thanks,
Nigel.


FWIW, I am running Fedora Core 3, and the versions of relevant (I think)
packages are:
gnome-python2-applet-2.6.0-3
gnome-python2-2.6.0-3
python-2.3.4-13.1
gnome-panel-2.8.1-3
gnome-session-2.8.0-4
gtk2-2.4.14-2.fc3
libgnome-2.8.0-2

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] problem with applet's menu

2005-02-15 Thread Nigel Tao
> I've created my first applet, ...
> [there are some problems]

Actually, on a second reading, I think I know what
you're talking about.

I suspect that the button is swallowing mouse press
events, and so right-click goes to the button rather
than the applet (which would bring up the menu).

What you want is for left-mouse-click to go the
button, but right-mouse-click to propagate.

The relevant code (from my applet I referred to
previously, replacing "button" with "menubar")
would look like:

---
# when constructing GUI elements
btn.connect("button-press-event", on_btn_click)

# a separate method definition
def on_btn_click(widget, event):
  # allow Middle- and Right-Mouse-Button to
  # go through to the applet window
  # 1 stands for Left-Mouse-Button
  if event.button != 1:
widget.emit_stop_by_name("button-press-event")
  return gtk.FALSE
---


Nigel.

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] problem with applet's menu

2005-02-15 Thread Nigel Tao
> I've created my first applet, ...
> [there are some problems]

I'm not sure what your specific problem is, so I can't
help in any detail, but I wrote a menu-based gnome
applet recently - you might find it helpful to look
over the source.

http://browserbookapp.sourceforge.net/

Nigel.

___
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] add AccelGroup to a Gnome Applet?

2004-12-08 Thread Nigel Tao
Is it possible to somehow attach an AccelGroup to a panel Applet (or
specifically, to a gtk.Entry inside that Applet)?

The AccelGroup documentation says that an AG needs to be associated with
a gtk.Window or a gtk.Menu, but from a gnome.applet.Applet I can't seem
to get either - its parent is a bonobo.ui.Plug.  And a gtk.gdk.Window
(not that I know how to get one) is not good enough, right?

tia,
Nigel.

___
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] gnome.vfs volume_monitor bindings?

2004-11-18 Thread Nigel Tao
Are the following methods in PyGTK?

gnome_vfs_get_volume_monitor()
gnome_vfs_volume_monitor_get_connected_drives(volume_monitor)
gnome_vfs_volume_monitor_get_mounted_volumes(volume_monitor)

The reference documentation on www.pygtk.org only seems to cover GTK,
GDK and Pango (but not GNOME APIs).

tia,
Nigel.

___
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] Reference counting in PyGTK

2004-11-17 Thread Nigel Tao
When using the Python bindings to GTK or GLib, I have so far not
bothered to think about reference counting.  Is it the case that Python
memory management / garbage collection and PyGTK work nicely in all
cases so that I never have to think about it?

In particular, I was looking at some C code using gnome-vfs the other
day, and it seemed to make a lot of fuss about un-reffing things.  Is
VFS a special case - would I have to be similarly fussy if I wanted to
use the python gnome.vfs module?

thanks,
Nigel.

___
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] How to Set a Window Icon to a Stock Image

2004-11-17 Thread Nigel Tao
On Wed, 2004-11-17 at 13:03 +0100, Gianmario Tagliaretti wrote:
> > Fair enough.  So how do I instead set a window's icon to a stock image?
> > Alternatively, how do I get a pixbuf from a stock image?
> 
> pxb = (gtk.Image.set_from_stock(stock_id, size)).get_pixbuf()
> 
> I cannot try right now but maybe this will work?

The way I understand the set_from_stock API to work, I have to write:
im = gtk.Image()
im.set_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_MENU)
print im.get_storage_type()

and then I am in the same problem as before (get_storage_type yields
GTK_IMAGE_STOCK, I need GTK_IMAGE_PIXBUF) and get_pixbuf() fails.

Nigel.

___
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] How to Set a Window Icon to a Stock Image

2004-11-17 Thread Nigel Tao
I have a GtkDialog for which I want to:
dialog.set_icon(gtk.image_new_from_stock(gtk.STOCK_FIND,
gtk.ICON_SIZE_MENU).get_pixbuf())

but I get the following error:
ValueError: image should be a GdkPixbuf or empty

Indeed, the PyGTK docs ( http://www.pygtk.org/pygtk2reference/class-
gtkimage.html#method-gtkimage--get-pixbuf ) say that exactly that will
happen - get_storage_type() on the image returns GTK_IMAGE_STOCK, which
is not GTK_IMAGE_PIXBUF.

Fair enough.  So how do I instead set a window's icon to a stock image?
Alternatively, how do I get a pixbuf from a stock image?

(If somebody answers, can it be added to the PyGTK FAQ at
http://www.async.com.br/faq/pygtk/index.py?
req=show&file=faq10.007.htp ?)

thanks,
Nigel.


___
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] Browser Bookmarks Menu (Gnome Applet) 0.2

2004-11-03 Thread Nigel Tao
>   There's something wrong with the code:
> 
> ---
> menubar = gtk.MenuBar()
> menubar.connect("button-press-event", on_menubar_click)
> menubar.append(root_menu_item)
> gtk.rc_parse_string('''
> style "browser-bookmarks-menubar-style"
> {
> GtkMenuBar::shadow-type = none
> GtkMenuBar::internal-padding = 0
> }
> class "GtkMenuBar" style "browser-bookmarks-menubar-
> style"''')
> gobject.type_register(menubar.__class__)
> ---
>   You can't register the class gtk.MenuBar.  It is already registered.
> I'm surprised this actually worked...  You should do something like:

I think that the gobject.type_register came from a copy-and-paste that I
did of some C code I found.  I've taken it out, and it still seems to
work.

Yeah, I was a little surprised that this actually worked too, but for a
different reason.  My concern was that trying to set the style of a
GtkMenuBar would affect all other GtkMenuBars running, but the menus in
all the other applications seem unaffected, so I shrugged and left it as
it was.


> class MyMenuBar: pass
> gobject.type_register(MyMenuBar)
> 
> (...)later in the code
> 
> menubar = MyMenuBar()
> menubar.connect("button-press-event", on_menubar_click)
> menubar.append(root_menu_item)
> gtk.rc_parse_string('''
> style "browser-bookmarks-menubar-style"
> {
> GtkMenuBar::shadow-type = none
> GtkMenuBar::internal-padding = 0
> }
> class "MyMenuBar" style "browser-bookmarks-menubar-
> style"''')

In this case, should MyMenuBar subclass GtkMenuBar?  Does that
automatically register the type?


>   Not sure if it works (due to control/container split), but maybe:
> menubar.unset_flags(gtk.CAN_FOCUS).

This didn't work for me - I tried calling it on the menubar, the menu,
the menuitem, and the applet.  Failing all that, I have just asked the
gtk-list mailing list for help.


thanks,
Nigel.

___
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] Browser Bookmarks Menu (Gnome Applet) 0.2

2004-11-01 Thread Nigel Tao
Gustavo J. A. M. Carneiro wrote:
>> Right now it only reads Firefox bookmarks.
>> Support for Epiphany and Mozilla is planned.
>
> What about Galeon?! :)

Version 0.2 now supports Epiphany and Mozilla, as
well as Firefox.  I am reading a gconf entry to
pick up the preferred browser - I presume that that
is The Right Way To Do It.  Someone let me know if
there is a Gnome API that is recommended instead.

Galeon and Konqueror planned, but I am currently
running a x86_64 Fedora test release sans both,
and have had some RPM repository conflicts - I'm
simply waiting for Fedora 3 final to hit the
streets next week rather than mess around with
my configuration now.  Or, if you can't wait,
patches will be accepted.  :)

Source tarball:
http://sourceforge.net/project/showfiles.php?group_id=122136&package_id=133931&release_id=279424


Thanks to all for help with the border (shadow)
style on the menubar.  A remaining minor cosmetic
quibble is that when my applet has focus it has a
blue (with the Glider theme) rectangle around the
menu.  Again - the Gnome main menu ("Applications
Actions") does not - it does not seem to be able to
receive focus (!?).  Any suggestions?


Next on the TODO list are packaging and installation
scripts.


cheers,
Nigel.

--
This message was sent with an unlicensed evaluation version of
Novell NetMail. Please see http://www.netmail.com/ for details.

___
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


Re: [pygtk] Browser Bookmarks Menu (Gnome Applet) 0.1

2004-10-28 Thread Nigel Tao
>>How do I get rid of the border?
>
>menubar.set_property("shadow-type", gtk.SHADOW_NONE)

I tried this, and got:

Traceback (most recent call last):
  File "./browser-bookmarks-menu.py", line 212, in ?
applet_factory(applet, None)
  File "./browser-bookmarks-menu.py", line 94, in applet_factory
menubar.set_property("shadow-type", gtk.SHADOW_NONE)
TypeError: the object does not support the given parameter


I poked around for a bit, and tried:
print menubar.get_property("shadow-type")
and again got an error:
TypeError: the object does not support the given parameter


tried a different method with "style_" in it:
print menubar.style_get_property("shadow-type")
and now got:



but there is no corresponding style_set_property method.


Any ideas?  I have gnome-python 2.6.0.

tia,
Nigel.

___
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/


[pygtk] Browser Bookmarks Menu (Gnome Applet) 0.1

2004-10-27 Thread Nigel Tao
This is mostly an announcement, but it's also 1) my first foray into GNOME hacking and 
2) only my second foray into Python, and I am hoping for a little help, or some 
general feedback.



Gnome has an Applications menu, and an Actions menu.  I wrote a Bookmarks menu, to get 
to my browser's bookmarks.  This idea seems to have been tried before (see RELATED 
WORK section below), but various similar projects appear out-of-date or incomplete.

A screenshot is worth a thousand words, and is at 
http://browserbookapp.sourceforge.net/screenshot-0.1.png



Source code (GPL) is at 
http://sourceforge.net/project/showfiles.php?group_id=122136&package_id=133931&release_id=278276





CAVEATS
---
Right now it only reads Firefox bookmarks.  Support for Epiphany and Mozilla is 
planned.


HELP!  (AKA GNOME API AND OTHER QUESTIONS)

--

The menu (or applet?) has a border around it, but the gnome main menu applet 
"Applications Actions menu" does not.  The screenshot shows this (see the vertical 
bars to the left and right of the blue "Bookmarks" menu).  How do I get rid of the 
border?

I'm not fluent in [auto]make or RPM .spec files, and would appreciate some help.  I 
found the pygnome-hello example and am looking at that, but it isn't a panel applet, 
so I am not entirely sure how to adapt it to:
1) install my .server file into the right place (/usr/lib/bonobo/server in general, 
but .../lib64/... on x86_64).
2) restart whatever needs to be restarted (gnome-panel?? bonobo-activation-server??) 
on installation for it to show up in the "Add to Applet" option in the panel context 
menu.

Also, any leads on writing a .spec file or packaging a python gnome-applet as an RPM?  
I am completely lost in figuring out what the dependencies are - I presume 
gnome-panel, gnome-python2 and gnome-python2-applet - but how do I find out what else 
(and what versions) my software depends on?  And is the gnome-python / 
gnome-python-applet distinction a distribution-specific thing?





RELATED WORK



An old (1999) mailing list post talks about creating a Netscape Bookmarks sub-menu of 
the foot menu 
(http://mail.gnome.org/archives/gnome-devel-list/1999-September/msg00024.html) - 
Miguel de Icaza replied that "it seems a very good idea", but I don't know where it 
went from there.  PyGnome 1.4 had a Netscape bookmarks applet 
(pygnome/examples/bookmarks-applet.py), but this seems to have been dropped in more 
recent versions of gnome-python.



Gnome Bookmarks Organizer (gnobog) at http://www.nongnu.org/gnobog/ is slightly 
different (it has its own frame rather than being a panel applet) and looks like it's 
been superseded by Firefox's Bookmarks sidebar.



The Nautilus-Menu applet (http://bitpoetry.com/programs/nautilusmenu/) and 
bookmark-applet (http://gnomefiles.org/app.php?soft_id=278) look pretty similar, but 
they provide access to GTK file-chooser bookmarks (local files), not provide access to 
the browser bookmarks (URLs).





cheers,

Nigel.

___
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/