I am new to Gtk+ development, and am trying to write an app using PyGObject and Gtk+3.0. When I run my app in Gnome Shell from the command line, however, the application name as it appears in the upper-left hand corner (immediately to the right of the Activities hot corner) is just set to the name of the Python source file that I ran to start the app. Is there any way to set the name to appear in Gnome Shell for my application? I've looked at Gtk.Application, and though it seems to do some of what I want (starting in Gtk+3.3, anyway), I can't seem to figure out how to fix the activity name or the application name.
相关问题
- how to define constructor for Python's new Nam
- streaming md5sum of contents of a large remote tar
- How to get the background from multiple images by
- Evil ctypes hack in python
- Correctly parse PDF paragraphs with Python
gnome-shell tries to match the window to an an app (a
ShellApp
instance) and use that name. The code do that is here: http://git.gnome.org/browse/gnome-shell/tree/src/shell-window-tracker.c#n328But if it fails to find
ShellApp
for the window then it falls back to using the ICCCM specifiedWM_CLASS
(spec is at http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.5) here: http://git.gnome.org/browse/gnome-shell/tree/src/shell-app.c#n361So if you're not installing a .desktop file for it to find the application name from you'll get the default
WM_CLASS
appearing in there. GTK automatically generates based on the executable name. You can override that before the window is realized (this means before calling_show
on the window) usinggtk_window_set_wmclass()
Here is a simple example that will appear as "Hello World". Don't forget to set a window title too!