#include "gettext.h"
#include "draw.h"
-#ifdef __APPLE__
+#ifdef OSXAPP
# include <gtkmacintegration/gtkosxapplication.h>
// prevent pathname of positional file argument provided by OS X being be mistaken for option name
// (price is that we won't recognize Windows option format anymore).
void update_ics_width P(());
int CopyMemoProc P(());
static gboolean EventProc P((GtkWidget *widget, GdkEvent *event, gpointer g));
+static int FindLogo P((char *place, char *name, char *buf));
#ifdef TODO_GTK
#if ENABLE_NLS
return gdk_pixbuf_new_from_file(buf, NULL);
}
-#ifdef __APPLE__
+#ifdef OSXAPP
static char clickedFile[MSG_SIZ];
static int suppress;
/* set up GTK */
gtk_init (&argc, &argv);
-#ifdef __APPLE__
+#ifdef OSXAPP
{ // prepare to catch OX OpenFile signal, which will tell us the clicked file
char *path = gtkosx_application_get_bundle_path();
#ifdef ENABLE_NLS
snprintf(localeDir, MSG_SIZ, "%s/share/locale", res_path); // redefine locale dir for OSX bundle
#endif
theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL);
- strncpy(dataDir, path, MSG_SIZ);
snprintf(masterSettings, MSG_SIZ, "%s/Contents/Resources/etc/xboard.conf", path);
- snprintf(svgDir, MSG_SIZ, "%s/Contents/Resources/share/xboard/themes/default", path);
+ snprintf(dataDir, MSG_SIZ, "%s/Contents/Resources/share/xboard", path);
+ snprintf(svgDir, MSG_SIZ, "%s/themes/default", dataDir);
suppress = (argc == 1 || argc > 1 && argv[1][00] != '-'); // OSX sends signal even if name was already argv[1]!
g_signal_connect(theApp, "NSApplicationOpenFile", G_CALLBACK(StartNewXBoard), NULL);
// we must call application ready before we can get the signal,
if(appData.logoSize)
{ // locate and read user logo
- char buf[MSG_SIZ];
- snprintf(buf, MSG_SIZ, "%s/%s.png", appData.logoDir, UserName());
+ char buf[MSG_SIZ], name[MSG_SIZ];
+ snprintf(name, MSG_SIZ, "/home/%s", UserName());
+ if(!FindLogo(name, ".logo", buf))
+ FindLogo(appData.logoDir, name + 6, buf);
ASSIGN(userLogo, buf);
}
void
ManProc ()
{ // called from menu
-#ifdef __APPLE__
+#ifdef OSXAPP
char buf[MSG_SIZ];
snprintf(buf, MSG_SIZ, "%s ./man.command", appData.sysOpen);
system(buf);
GdkPixbuf *pm = *clockIcons[color];
if (mainwindowIcon != pm) {
mainwindowIcon = pm;
-#ifdef __APPLE__
+#ifdef OSXAPP
gtkosx_application_set_dock_icon_pixbuf(theApp, mainwindowIcon);
#else
gtk_window_set_icon(GTK_WINDOW(shellWidget), mainwindowIcon);