[specimen] PATCH: client name for GTK (FIXME fixed)

Ken Restivo ken at restivo.org
Wed Aug 22 15:10:51 CDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The hack below makes the instance name, if supplied with -n on command line, appear in the window manager's window list.

Fixes a FIXME in the code.

This business with the strdup and the DEFAULT_INSTANCE_NAME is now cut-and-pasted in three places (midi.c, gui.c, and jackdriver.c). It should probably be abstracted out into a utility function, something like copy_instancename().

- -ken
===========================

- --- specimen-0.5.2.rc3.orig/src/gui/gui.c
+++ specimen-0.5.2.rc3/src/gui/gui.c
@@ -402,19 +402,30 @@
 }
 
 
- -int gui_init(void)
+int gui_init(char * forced_instancename)
 {
     GtkWidget* window_vbox;
     GtkWidget* master_hbox;
     GtkWidget* menubar;
     GtkWidget* vbox;
+	char * instancename; 
 
     debug ("Initializing GUI\n");
 
+     if(forced_instancename)
+     {
+     	 instancename = strdup(forced_instancename);
+     }
+     else
+     {
+         instancename = strdup(DEFAULT_INSTANCE_NAME);
+     }
+
+
     /* main window */
     window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- -    gtk_window_set_title (GTK_WINDOW (window), "Specimen");
+    gtk_window_set_title (GTK_WINDOW (window), instancename);
     g_signal_connect (G_OBJECT (window), "delete-event",
 		      G_CALLBACK (cb_delete), NULL);
     g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (cb_quit),
- --- specimen-0.5.2.rc3.orig/src/gui/gui.h
+++ specimen-0.5.2.rc3/src/gui/gui.h
@@ -30,8 +30,8 @@
 GtkWidget* gui_section_new(const char* name, GtkWidget** box);
 
 /* prepare the gui for use */
- -int gui_init(void);
+int gui_init(char * forced_instancename);
 
 /* refresh the gui's display */
 void gui_refresh(void);
- --- specimen-0.5.2.rc3.orig/src/specimen.c
+++ specimen-0.5.2.rc3/src/specimen.c
@@ -58,13 +58,12 @@
      /* FIXME: use client_name in lashdriver_init */
      lashdriver_init(&argc, &argv);
 #endif
- -     /* FIXME: use client_name in gtk_init */
      gtk_init(&argc, &argv);
      driver_init();
      lfo_init();
      mixer_init();
      patch_init();
- -     gui_init();
+     gui_init(client_name);
 
      if (optind < argc) 
      {

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGzJhLe8HF+6xeOIcRAiRiAKDDnfF05orcVdKQGBcZS/oWfq9RuwCcD4bd
sMsOnzRZg4guEvmmDivjJWQ=
=BLC/
-----END PGP SIGNATURE-----

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




More information about the Specimen mailing list