Soy nuevo en el desarrollo de Gtk +, y estoy tratando de escribir una aplicación usando PyGObject y Gtk + 3.0. Sin embargo, cuando ejecuto mi aplicación en Gnome Shell desde la línea de comandos, el nombre de la aplicación tal como aparece en la esquina superior izquierda (inmediatamente a la derecha de la esquina activa de Actividades) se configura con el nombre del archivo fuente de Python que corrí para iniciar la aplicación. ¿Hay alguna forma de configurar el nombre para que aparezca en Gnome Shell para mi aplicación? Miré Gtk.Application, y aunque parece hacer algo de lo que quiero (comenzando en Gtk + 3.3, de todos modos), parece que no puedo encontrar la manera de arreglar el nombre de la actividad o el nombre de la aplicación.Cómo establecer el título de la aplicación en Gnome Shell?
Respuesta
gnome-shell intenta hacer coincidir la ventana con una aplicación (una instancia de ShellApp
) y usa ese nombre. El código de hacerlo es aquí: http://git.gnome.org/browse/gnome-shell/tree/src/shell-window-tracker.c#n328
Pero si no logra encontrar ShellApp
de la ventana entonces se vuelve a utilizar el ICCCM especifica WM_CLASS
(especificación está en http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.5) aquí: http://git.gnome.org/browse/gnome-shell/tree/src/shell-app.c#n361
Así que si estás no instalando un archivo .desktop para que encuentre el nombre de la aplicación, aparecerá el WM_CLASS
predeterminado allí. GTK genera automáticamente en función del nombre del ejecutable. Puede anular eso antes de que se realice la ventana (esto significa antes de llamar al _show
en la ventana) usando gtk_window_set_wmclass()
Aquí hay un ejemplo simple que aparecerá como "Hola mundo". ¡No olvides establecer un título para la ventana también!
#!/usr/bin/python
from gi.repository import Gtk
win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.set_wmclass ("Hello World", "Hello World")
win.set_title ("Hello World")
win.show_all()
Gtk.main()
Para la posteridad: GNOME Shell muestra el argumento final para 'set_wmclass' en la barra superior. – wjt
Irónicamente dice "No use esta función". en los [documentos GTK] (https://developer.gnome.org/gtk3/stable/GtkWindow.html#gtk-window-set-wmclass). Sin embargo, recomendaría usarlo. – JayStrictor
Esta función está obsoleta sin reemplazo a partir de Gtk + 3.22. – Aeyoun
- 1. Cómo cambiar el título gnome-terminal en Ubuntu 10
- 2. Gnome shell escalada de privilegios
- 3. Eliminar barra de título en Gnome
- 4. Cómo establecer el título de QMainWindow
- 5. Cocoa: ¿Cómo establecer el título de la ventana?
- 6. Cocoa Mac Título de la aplicación Título: "sin título"
- 7. Llamando a métodos DBus en Gjs/Gnome Shell
- 8. Establecer título UITabBarItem programmatically?
- 9. Establecer título de pantalla desde shellscript
- 10. Establecer la gravedad del título en el centro en ActionBarSherlock
- 11. Establecer la elipse del título de actividad en el medio?
- 12. Establecer título en la ventana emergente
- 13. Cómo establecer el título dinámico de @ Html.ActionLink desde el controlador?
- 14. Establecer el título UITabBarItem desde UINavigationController?
- 15. ¿Cómo establecer el color del título en ActionBarSherlock?
- 16. Android Cómo cambiar el título de la aplicación
- 17. Cómo ocultar el título de la aplicación en el mosaico de aplicación WP7
- 18. ¿Cómo puedo establecer el título de manera programática?
- 19. Establecer la variable de entorno en script/acceso de shell en la aplicación Tomcat
- 20. Android: ¿Cómo establecer el icono en la barra de título de la actividad de Dialog?
- 21. Documentación de Gnome javascript
- 22. Eye of Gnome - Abre dos imágenes en diferentes ventanas con la secuencia de comandos de shell
- 23. Establecer la fecha de un shell en Android
- 24. ¿Cambiar el título del terminal gnome para reflejar el directorio actual?
- 25. establecer Form.Text en Windows Forms Formulario no actualiza el título
- 26. Aplicación de GNOME/Vala para ejecutar en Windows
- 27. Establecer programáticamente el título de una página de SharePoint?
- 28. Cómo establecer el título de la página desde una página de contenido web en ASP.NET 3.5
- 29. Establecer color de fondo de la barra de título AlertBox
- 30. ¿Cómo establecer otro título en línea en Django Admin?
Creo que el nombre puede ser obtenido del archivo '.desktop' asociado a un programa. –
No estoy seguro, pero intente 'GLib.set_application_name()' al comienzo de su programa? – ptomato