Looking for applet development tips for Gnome / Ubuntu

I am a Linux user (mainly ubuntu) with a reasonable understanding of how the system works (although I am definitely not a Linux guru!). In the past, I developed small cross-platform desktop applications in python / GTK, and I delivered them to clients as stand-alone files, so the only dependencies were Python and GTK itself.

Now I would like to develop a small ubuntu applet that I would like to release under the GPL 2 or 3.

In particular, these are new steps that I know, I must learn to achieve my goal (it is very possible that there are several more that I do not know about, though!):

  • Integration with gnome: I want my application to be available as an applet on the taskbar.
  • Using D-bus: In particular, I want my applet to use the new osd notification structure for ubuntu, but communication with other applets is also a possible opportunity for a second iteration.
  • Packing . I would like to set up public PPA as soon as the application reaches the alpha stage, but I would also like to use dependencies on existing packages in official repositories, and not include libraries again in my own package.

Of course, the official documentation will be my first source of knowledge, but, basing my opinion on the very useful answers that I received on another topic here, on SO - I decided to turn to the SO community for additional tips, for example, for example:

  • Are there any additional steps for those that I talked about earlier that I should study in order to be able to implement my project?
  • , ( ) gnome/d-bus " ", (: D-bus . webservice)?
  • (back-end front-end) ?,
  • - , , , ?
  • - " ", ?

, : , - , , !

PS: , : , , ( : , , ).

+5
4

, Ubuntu Gnome , . ( 2011 ) gnome-shell, Canonical (unity)..

, , libappindicator, (, , ) .

, AskUbuntu , , , , , ubuntu.

+1

, python, pynotify . DBus api osd-.

>>> import pynotify
>>> pynotify.init("Lil' Applet")
True
>>> note = pynotify.Notification(
...            pynotify.get_app_name(), 
...            "Lil' Applet wants you to know something up.", 
...            "/usr/share/icons/Human/48x48/status/dialog-information.png")
>>> note.show()
True

, :

[    ] **Lil' Applet**
[ICON]
[    ] Lil' Applet wants you to know something up.
+3

, , - , , , . , , , . , . , dbus. , , - deskbar-applet, (-) , , , X. C (, - ). , , )

"devhelp" - . , -doc , . glade, . , - . , . , !

, , , . , Debian ( PPA), . - "debian".

- , . . "" . , - .

- , . . .

, - , . - , .

+3

, , "Ubuntu", "Gnome". RPM , Fedora Arch Linux, . - Debian, GTK GLib , , . , , -, Debian .

I also suggest setting up a source control system as early as possible. You can not worry about the failure of your disk, but sometimes it will save you a lot of trouble just to return everything that you have done since the last commit.

Here is a link to the documentation in the official Gnome Panel applet library. I don't know if it has Python bindings or not.

+1
source

All Articles