Howdy, all.
Many window managers use the "WM_CLASS" property to do various things
with programs (such as moving windows to their proper desktops
automatically or assigning icons, etc) - you can check the value of this
property using the X command "xprop." The current version of Freeamp
doesn't set this value, so I put together a quick patch to enable this
behavior, which I've attached. It applies cleanly to Freeamp 2.1.1.
It should remain consistent with the BRANDING attributes, so that
FreeAmp will report itself as "FreeAmp", whereas the Emusic version
will report itself as whatever the BRANDING string is set to in that
case. As a result, I've had to include config.h in a few files that
previously didn't have it included.
Do with it what you will. :)
Thanks for the great player,
CJ
--
WOW: Nyctitropic | "Let us rain some DOOM upon the filthy heads
apocalyptech.com/wow | of our DOOMED enemies!"
[EMAIL PROTECTED] | - Zim
diff -r -u freeamp-2.1.1/ui/download/unix/src/gtkdownloadui.cpp
freeamp-2.1.1-patched/ui/download/unix/src/gtkdownloadui.cpp
--- freeamp-2.1.1/ui/download/unix/src/gtkdownloadui.cpp Thu Sep 28 03:08:02
2000
+++ freeamp-2.1.1-patched/ui/download/unix/src/gtkdownloadui.cpp Tue May 14
+08:53:19 2002
@@ -368,6 +368,7 @@
{
m_downloadUI = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(m_downloadUI), BRANDING" - DownloadManager");
+ gtk_window_set_wmclass(GTK_WINDOW(m_downloadUI), BRANDING, "DownloadManager");
gtk_signal_connect(GTK_OBJECT(m_downloadUI), "destroy",
GTK_SIGNAL_FUNC(toggle_vis_internal), this);
gtk_container_set_border_width(GTK_CONTAINER(m_downloadUI), 5);
diff -r -u freeamp-2.1.1/ui/freeamp/unix/src/GTKMessageDialog.cpp
freeamp-2.1.1-patched/ui/freeamp/unix/src/GTKMessageDialog.cpp
--- freeamp-2.1.1/ui/freeamp/unix/src/GTKMessageDialog.cpp Fri Jun 2 10:30:29
2000
+++ freeamp-2.1.1-patched/ui/freeamp/unix/src/GTKMessageDialog.cpp Tue May 14
+09:09:40 2002
@@ -21,6 +21,8 @@
$Id: GTKMessageDialog.cpp,v 1.9 2000/06/02 15:30:29 ijr Exp $
____________________________________________________________________________*/
+#include "config.h"
+
#include <gtk/gtk.h>
#include <unistd.h>
@@ -104,6 +106,7 @@
gtk_signal_connect(GTK_OBJECT(window), "delete_event",
GTK_SIGNAL_FUNC(kill_me), &iRet);
gtk_window_set_title(GTK_WINDOW(window), oTitle.c_str());
+ gtk_window_set_wmclass(GTK_WINDOW(window), BRANDING, BRANDING);
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
diff -r -u freeamp-2.1.1/ui/freeamp/unix/src/GTKPreferenceWindow.cpp
freeamp-2.1.1-patched/ui/freeamp/unix/src/GTKPreferenceWindow.cpp
--- freeamp-2.1.1/ui/freeamp/unix/src/GTKPreferenceWindow.cpp Tue Oct 16 00:03:41
2001
+++ freeamp-2.1.1-patched/ui/freeamp/unix/src/GTKPreferenceWindow.cpp Tue May 14
+08:57:54 2002
@@ -204,6 +204,7 @@
gtk_signal_connect(GTK_OBJECT(mainWindow), "destroy",
GTK_SIGNAL_FUNC(pref_destroy), this);
gtk_window_set_title(GTK_WINDOW(mainWindow), BRANDING" - Preferences");
+ gtk_window_set_wmclass(GTK_WINDOW(mainWindow), BRANDING, "Preferences");
GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(mainWindow), vbox);
diff -r -u freeamp-2.1.1/ui/freeamp/unix/src/GTKWindow.cpp
freeamp-2.1.1-patched/ui/freeamp/unix/src/GTKWindow.cpp
--- freeamp-2.1.1/ui/freeamp/unix/src/GTKWindow.cpp Mon Apr 16 20:51:14 2001
+++ freeamp-2.1.1-patched/ui/freeamp/unix/src/GTKWindow.cpp Tue May 14 09:03:48
+2002
@@ -21,6 +21,8 @@
$Id: GTKWindow.cpp,v 1.39 2001/04/17 01:51:14 robert Exp $
____________________________________________________________________________*/
+#include "config.h"
+
#include <stdio.h>
#include <unistd.h>
#include "facontext.h"
@@ -212,6 +214,7 @@
mainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_set_app_paintable(mainWindow, TRUE);
gtk_window_set_title(GTK_WINDOW(mainWindow), BRANDING);
+ gtk_window_set_wmclass(GTK_WINDOW(mainWindow), BRANDING, BRANDING);
gtk_window_set_policy(GTK_WINDOW(mainWindow), TRUE, TRUE, TRUE);
gtk_widget_set_events(mainWindow, GDK_SUBSTRUCTURE_MASK | GDK_STRUCTURE_MASK
| GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK |
diff -r -u freeamp-2.1.1/ui/musicbrowser/unix/src/gtkmessagedialog.cpp
freeamp-2.1.1-patched/ui/musicbrowser/unix/src/gtkmessagedialog.cpp
--- freeamp-2.1.1/ui/musicbrowser/unix/src/gtkmessagedialog.cpp Thu Sep 14 06:00:22
2000
+++ freeamp-2.1.1-patched/ui/musicbrowser/unix/src/gtkmessagedialog.cpp Tue May 14
+09:08:04 2002
@@ -21,6 +21,8 @@
$Id: gtkmessagedialog.cpp,v 1.7 2000/09/14 11:00:22 ijr Exp $
____________________________________________________________________________*/
+#include "config.h"
+
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include <unistd.h>
@@ -156,6 +158,7 @@
gtk_signal_connect(GTK_OBJECT(window), "destroy",
GTK_SIGNAL_FUNC(message_destroy), (gpointer)inMain);
gtk_window_set_title(GTK_WINDOW(window), oTitle.c_str());
+ gtk_window_set_wmclass(GTK_WINDOW(window), BRANDING, BRANDING);
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
diff -r -u freeamp-2.1.1/ui/musicbrowser/unix/src/gtkmusicbrowser.cpp
freeamp-2.1.1-patched/ui/musicbrowser/unix/src/gtkmusicbrowser.cpp
--- freeamp-2.1.1/ui/musicbrowser/unix/src/gtkmusicbrowser.cpp Mon Dec 10 14:41:54
2001
+++ freeamp-2.1.1-patched/ui/musicbrowser/unix/src/gtkmusicbrowser.cpp Tue May 14
+09:08:37 2002
@@ -559,6 +559,7 @@
gtk_signal_connect(GTK_OBJECT(window), "delete_event",
GTK_SIGNAL_FUNC(add_new_kill), &iRet);
gtk_window_set_title(GTK_WINDOW(window), "Add a New Stream");
+ gtk_window_set_wmclass(GTK_WINDOW(window), BRANDING, "NewStream");
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
@@ -968,6 +969,7 @@
titlestr += string("Editing playlist ") + m_currentListName;
}
gtk_window_set_title(GTK_WINDOW(musicBrowser), titlestr.c_str());
+ gtk_window_set_wmclass(GTK_WINDOW(musicBrowser), BRANDING, "Playlist");
gtk_window_set_policy(GTK_WINDOW(musicBrowser), TRUE, TRUE, FALSE);
gtk_signal_connect(GTK_OBJECT(musicBrowser), "delete_event",
GTK_SIGNAL_FUNC(toggle_vis_delete_event), this);
diff -r -u freeamp-2.1.1/ui/musicbrowser/unix/src/infoeditor.cpp
freeamp-2.1.1-patched/ui/musicbrowser/unix/src/infoeditor.cpp
--- freeamp-2.1.1/ui/musicbrowser/unix/src/infoeditor.cpp Thu Apr 12 21:28:10
2001
+++ freeamp-2.1.1-patched/ui/musicbrowser/unix/src/infoeditor.cpp Tue May 14
+09:00:56 2002
@@ -264,6 +264,7 @@
m_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(m_window), BRANDING" - Edit Track Info");
+ gtk_window_set_wmclass(GTK_WINDOW(m_window), BRANDING, "TrackInfo");
gtk_signal_connect(GTK_OBJECT(m_window), "delete_event",
GTK_SIGNAL_FUNC(info_delete_event), this);
gtk_container_set_border_width(GTK_CONTAINER(m_window), 5);
diff -r -u freeamp-2.1.1/ui/musicbrowser/unix/src/introwizard.cpp
freeamp-2.1.1-patched/ui/musicbrowser/unix/src/introwizard.cpp
--- freeamp-2.1.1/ui/musicbrowser/unix/src/introwizard.cpp Tue Aug 14 15:33:53
2001
+++ freeamp-2.1.1-patched/ui/musicbrowser/unix/src/introwizard.cpp Tue May 14
+09:01:05 2002
@@ -731,6 +744,7 @@
m_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(m_window), BRANDING" - Introduction");
+ gtk_window_set_wmclass(GTK_WINDOW(m_window), BRANDING, "Introduction");
gtk_signal_connect(GTK_OBJECT(m_window), "destroy",
GTK_SIGNAL_FUNC(wiz_destroy), this);
gtk_container_set_border_width(GTK_CONTAINER(m_window), 5);
diff -r -u freeamp-2.1.1/ui/musicbrowser/unix/src/missingfileui.cpp
freeamp-2.1.1-patched/ui/musicbrowser/unix/src/missingfileui.cpp
--- freeamp-2.1.1/ui/musicbrowser/unix/src/missingfileui.cpp Thu Oct 12 15:22:41
2000
+++ freeamp-2.1.1-patched/ui/musicbrowser/unix/src/missingfileui.cpp Tue May 14
+08:59:47 2002
@@ -141,6 +141,7 @@
gtk_signal_connect(GTK_OBJECT(window), "delete_event",
GTK_SIGNAL_FUNC(missing_kill), &iRet);
gtk_window_set_title(GTK_WINDOW(window), "Missing File Error");
+ gtk_window_set_wmclass(GTK_WINDOW(window), BRANDING, "MissingFile");
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
diff -r -u freeamp-2.1.1/ui/musicbrowser/unix/src/musicsearch.cpp
freeamp-2.1.1-patched/ui/musicbrowser/unix/src/musicsearch.cpp
--- freeamp-2.1.1/ui/musicbrowser/unix/src/musicsearch.cpp Wed Feb 7 11:13:42
2001
+++ freeamp-2.1.1-patched/ui/musicbrowser/unix/src/musicsearch.cpp Tue May 14
+09:00:01 2002
@@ -158,6 +165,7 @@
m_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(m_window), BRANDING" - Search For Music");
+ gtk_window_set_wmclass(GTK_WINDOW(m_window), BRANDING, "Search");
gtk_signal_connect(GTK_OBJECT(m_window), "destroy",
GTK_SIGNAL_FUNC(search_destroy), this);
gtk_container_set_border_width(GTK_CONTAINER(m_window), 5);