Fwd: system tray or notification area in python

Discussion in 'Python' started by Daniel Fetchinson, Oct 16, 2012.

  1. >> Hi folks,
    >>
    >> I'm using a stand alone window manager without gnome or kde or any
    >> other de. But I still would like to have a system tray or notification
    >> area and so far used stalonetray for this. Stalonetray is written in C
    >> and is a GTK application, works all right but sometimes it doesn't.
    >> For instance if it is killed and restarted icons don't come back, etc,
    >> etc, there are some quirks.
    >>
    >> So I thought I would write a brand new stand alone system tray or
    >> notification area in python. I guess I need to use gtk bindings or
    >> some such but don't really know what my options are.
    >>
    >> Where would I start something like this?
    >> Any pointers would be greatly appreciated!
    >>

    > Why not look at the source code of the current app your using to get
    > an idea how that application accomplishes said task?


    I actually did that already it's using the C bindings of gtk.
    You might ask you I'm not modifying the code in order to achieve what
    I want, well, the answer is that I'd much rather prototype something
    like this in python than work immediately with gtk from C.

    But I have zero experience with gui programming in python. So any
    pointers would be much appreciated how to implement a system tray in
    python. Gtk is I guess just one option, one could use other stuff from
    python but I wouldn't know what the simplest approach is.

    Cheers,
    Daniel


    > You could always use raw X11 libs but leveraging something like Gtk or
    > Qt/KDE would probably be much easier.




    --
    Psss, psss, put it down! - http://www.cafepress.com/putitdown



    --
    Psss, psss, put it down! - http://www.cafepress.com/putitdown
     
    Daniel Fetchinson, Oct 16, 2012
    #1
    1. Advertising

  2. >>>> Hi folks,
    >>>> So I thought I would write a brand new stand alone system tray or
    >>>> notification area in python. I guess I need to use gtk bindings or
    >>>> some such but don't really know what my options are.
    >>>>
    >>>> Where would I start something like this?
    >>>> Any pointers would be greatly appreciated!
    >>>>
    >>> Why not look at the source code of the current app your using to get
    >>> an idea how that application accomplishes said task?

    >>
    >> I actually did that already it's using the C bindings of gtk.

    >
    > I think you are mistaken - if its this one:
    > http://stalonetray.sourceforge.net/


    Yes, that's it.

    > I had a quick look into the sources, it does not use gtk at all, it uses
    > low level X11 calls. Programming in this way is very tedious.


    Sorry, you are right. I was mixing things up, I just remembered it was
    gtk, apparently it's not.

    >> But I have zero experience with gui programming in python. So any
    >> pointers would be much appreciated how to implement a system tray in
    >> python. Gtk is I guess just one option, one could use other stuff from
    >> python but I wouldn't know what the simplest approach is.

    >
    > I'm not sure it is even possible. "Usual" GUI applications just need to
    > request certain features from their window manager such as the setting
    > the program icon or requesting a certain position on the screen. That is
    > what is implemented in the usual toolits like Tk, QT, and gtk.


    That is my impression as well, tk, qt, etc, won't be good for this
    task but I thought there are some sort of X bindings in python that
    will make writing low level X applications in python possible. For
    instance a system tray :)

    > A window manager, on the other hand, must be able to recieve and
    > interpret these messages. For a system tray, they are described here:
    >
    > http://standards.freedesktop.org/systemtray-spec/systemtray-spec-0.3.html
    >
    > I have not studied the whole interface of the aforementioned toolkits,
    > but I suspect that there is no way around writing low level Xlib code in
    > order to recieve these messages.


    Right, but nobody wrote Xlib bindings for python?

    > Don't take it wrong, but when you write that you have no experience with
    > GUI programming, I'd start another projet first - I think you will have
    > a tough way to succeed with this project.


    I certainly wouldn't start with Xlib in C, but if python bindings
    would be available that would make life much easier.

    Cheers,
    Daniel


    > Christian
    > --
    > http://mail.python.org/mailman/listinfo/python-list
    >



    --
    Psss, psss, put it down! - http://www.cafepress.com/putitdown
     
    Daniel Fetchinson, Oct 17, 2012
    #2
    1. Advertising

  3. Re: system tray or notification area in python

    >>>>>> So I thought I would write a brand new stand alone system tray or
    >>>>>> notification area in python. I guess I need to use gtk bindings or
    >>>>>> some such but don't really know what my options are.
    >>>>>>
    >>>>>> Where would I start something like this?
    >>>>>> Any pointers would be greatly appreciated!
    >>>>>>
    >>>>> Why not look at the source code of the current app your using to get
    >>>>> an idea how that application accomplishes said task?
    >>>>
    >>>> I actually did that already it's using the C bindings of gtk.
    >>>
    >>> I think you are mistaken - if its this one:
    >>> http://stalonetray.sourceforge.net/

    >>
    >> Yes, that's it.
    >>
    >>> I had a quick look into the sources, it does not use gtk at all, it uses
    >>> low level X11 calls. Programming in this way is very tedious.

    >>
    >> Right, but nobody wrote Xlib bindings for python?

    >
    > Erm, Google is your friend: "python xlib" turns up
    >
    > http://python-xlib.sourceforge.net/
    >
    > as well as
    >
    > http://plwm.sourceforge.net/
    >
    > which is pretty close to what you are trying to do.


    Great, thanks a lot!

    >>> Don't take it wrong, but when you write that you have no experience with
    >>> GUI programming, I'd start another projet first - I think you will have
    >>> a tough way to succeed with this project.

    >>
    >> I certainly wouldn't start with Xlib in C, but if python bindings
    >> would be available that would make life much easier.
    >>

    >
    > Everything is easier in python:) because usually python libs are
    > designed with OO and ease of use in mind. Beware that this will be much
    > tougher than using gtk&friends.


    I guess so :) But it's a good excuse to get familiar with X :)

    Cheers,
    Daniel


    > Christian
    >
    >
    > --
    > http://mail.python.org/mailman/listinfo/python-list
    >



    --
    Psss, psss, put it down! - http://www.cafepress.com/putitdown
     
    Daniel Fetchinson, Oct 17, 2012
    #3
  4. Daniel Fetchinson

    Anssi Saari Guest

    Daniel Fetchinson <> writes:

    > But I have zero experience with gui programming in python. So any
    > pointers would be much appreciated how to implement a system tray in
    > python. Gtk is I guess just one option, one could use other stuff from
    > python but I wouldn't know what the simplest approach is.


    Well, when I went to download stalonepanel, SourceForge said I might be
    interested in PyPanel as well. Which is a "lightweight panel/taskbar
    written in Python and C for X11 window managers." It includes a system
    tray. Fairly old though but I suppose it could be a start? Apparently it
    uses python-xlib.
     
    Anssi Saari, Oct 19, 2012
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. balu
    Replies:
    1
    Views:
    630
    Peter Jausovec
    Dec 18, 2004
  2. Replies:
    2
    Views:
    456
  3. Daniel Fetchinson

    system tray or notification area in python

    Daniel Fetchinson, Oct 16, 2012, in forum: Python
    Replies:
    0
    Views:
    184
    Daniel Fetchinson
    Oct 16, 2012
  4. Rodrick Brown
    Replies:
    0
    Views:
    168
    Rodrick Brown
    Oct 16, 2012
  5. Prasad, Ramit
    Replies:
    0
    Views:
    133
    Prasad, Ramit
    Oct 16, 2012
Loading...

Share This Page