# define IMG ".png"
// redefine some defaults
# undef ICS_LOGON
-# undef DATADIR
# undef LOCALEDIR
# undef SETTINGS_FILE
# define ICS_LOGON "Library/Preferences/XboardICS.conf"
-# define DATADIR dataDir
# define LOCALEDIR localeDir
# define SETTINGS_FILE masterSettings
# define SYNC_MENUBAR gtkosx_application_sync_menubar(theApp)
- char dataDir[MSG_SIZ]; // for expanding ~~
char localeDir[MSG_SIZ];
char masterSettings[MSG_SIZ];
#else
typedef unsigned int BoardSize;
BoardSize boardSize;
Boolean chessProgram;
+static int initialSquareSize;
int minX, minY; // [HGM] placement: volatile limits on upper-left corner
int smallLayout = 0, tinyLayout = 0,
return;
}
for(i=0; i<NUM_SIZES; i++) // [HGM] font: current font becomes standard for current size
- if(sizeDefaults[i].squareSize == squareSize) { // only for standard sizes!
- fontTable[n][squareSize] = strdup(name);
- fontValid[n][squareSize] = True;
+ if(sizeDefaults[i].squareSize == initialSquareSize) { // only for standard sizes!
+ fontTable[n][initialSquareSize] = strdup(name);
+ fontValid[n][initialSquareSize] = True;
break;
}
for(i=0; i<MAX_SIZE; i++) if(fontValid[n][i]) // [HGM] font: store all standard fonts
theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL);
snprintf(masterSettings, MSG_SIZ, "%s/Contents/Resources/etc/xboard.conf", path);
snprintf(dataDir, MSG_SIZ, "%s/Contents/Resources/share/xboard", path);
+ snprintf(manDir, MSG_SIZ, "%s/Contents/Resources/share/man", path);
snprintf(svgDir, MSG_SIZ, "%s/themes/default", dataDir);
g_signal_connect(theApp, "NSApplicationOpenFile", G_CALLBACK(StartNewXBoard), NULL);
g_signal_connect(theApp, "NSApplicationWillTerminate", G_CALLBACK(ExitEvent), NULL);
if(argc > 1 && !strcmp(argv[1], "--show-config")) { // [HGM] install: called to print config info
typedef struct {char *name, *value; } Config;
static Config configList[] = {
- { "Datadir", DATADIR },
+ { "Datadir", dataDir },
+ { "Mandir", manDir },
{ "Sysconfdir", SYSCONFDIR },
{ NULL }
};
{ // [HGM] initstring: kludge to fix bad bug. expand '\n' characters in init string and computer string.
static char buf[MSG_SIZ];
- snprintf(buf, MSG_SIZ, appData.sysOpen, DATADIR);
+ snprintf(buf, MSG_SIZ, appData.sysOpen, dataDir);
ASSIGN(appData.sysOpen, buf); // expand %s in -openCommand to DATADIR (usefull for OS X configuring)
EscapeExpand(buf, appData.firstInitString);
appData.firstInitString = strdup(buf);
tinyLayout = szd->tinyLayout;
// [HGM] font: use defaults from settings file if available and not overruled
}
+ initialSquareSize = squareSize; // [HGM] remember for saving font info
if(BOARD_WIDTH != 8) {
squareSize = (squareSize*8 + BOARD_WIDTH/2)/BOARD_WIDTH; // keep width the same
lineGap = (squareSize < 37 ? 1 : squareSize < 59 ? 2 : squareSize < 116 ? 3 : 4);
if(optList[W_BOARD].max > w) optList[W_BOARD].max = w;
if(optList[W_BOARD].value > h) optList[W_BOARD].value = h;
first = appData.fixedSize;
+ if(twoBoards && shellUp[DummyDlg]) {
+ SlavePopUp(); dualOptions[3].max = 0; DoEvents(); // calls SlaveResize, kludge to force assigning new canvas
+ partnerUp = !partnerUp; flipView = !flipView;
+ DrawPosition(True, NULL);
+ partnerUp = !partnerUp; flipView = !flipView;
+ }
}
static guint delayedDragTag = 0;