}
void
+GetPlacement (DialogClass dlg, WindowPlacement *wp)
+{ // wrapper to shield back-end from widget type
+ if(shellUp[dlg]) GetActualPlacement(shells[dlg], wp);
+}
+
+void
GetWindowCoords ()
{ // wrapper to shield use of window handles from back-end (make addressible by number?)
// In XBoard this will have to wait until awareness of window parameters is implemented
if(shellUp[GameListDlg]) GetActualPlacement(shells[GameListDlg], &wpGameList);
if(shellUp[CommentDlg]) GetActualPlacement(shells[CommentDlg], &wpComment);
if(shellUp[TagsDlg]) GetActualPlacement(shells[TagsDlg], &wpTags);
+ GetPlacement(ChatDlg, &wpConsole); if(appData.icsActive) wpConsole.visible = shellUp[ChatDlg];
}
void
main (int argc, char **argv)
{
int i, clockFontPxlSize, coordFontPxlSize, fontPxlSize;
- int boardWidth, boardHeight, w, h;
+ int boardWidth, w, h; //, boardHeight;
char *p;
int forceMono = False;
GtkosxApplication *theApp = g_object_new(GTKOSX_TYPE_APPLICATION, NULL);
char *path = gtkosx_application_get_bundle_path();
strncpy(dataDir, path, MSG_SIZ);
- snprintf(masterSettings, MSG_SIZ, "%s/../Resources/etc/xboard.conf", path);
+ snprintf(masterSettings, MSG_SIZ, "%s/Contents/Resources/etc/xboard.conf", path);
g_signal_connect(theApp, "NSApplicationOpenFile", G_CALLBACK(StartNewXBoard), NULL);
// we must call application ready before we can get the signal,
// and supply a (dummy) menu bar before that, to avoid problems with dual apples in it
{ // [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);
+ ASSIGN(appData.sysOpen, buf); // expand %s in -openCommand to DATADIR (usefull for OS X configuring)
EscapeExpand(buf, appData.firstInitString);
appData.firstInitString = strdup(buf);
EscapeExpand(buf, appData.secondInitString);
/* [HR] height treated separately (hacked) */
boardWidth = lineGap + BOARD_WIDTH * (squareSize + lineGap);
- boardHeight = lineGap + BOARD_HEIGHT * (squareSize + lineGap);
+// boardHeight = lineGap + BOARD_HEIGHT * (squareSize + lineGap);
/*
* Determine what fonts to use.
EngineOutputPopUp();
}
+ if( wpConsole.visible && appData.icsActive ) {
+ ChatProc();
+ BoardToTop();
+ }
+
InitBackEnd2();
if (errorExitStatus == -1) {
{
MenuItem *item = MenuNameToItem(menuRef);
- if(item) gtk_widget_set_sensitive(item->handle, state);
+ if(item && item->handle) gtk_widget_set_sensitive(item->handle, state);
}
void
if(shellUp[HistoryDlg]) CoDrag(shells[HistoryDlg], &wpMoveHistory);
if(shellUp[EvalGraphDlg]) CoDrag(shells[EvalGraphDlg], &wpEvalGraph);
if(shellUp[GameListDlg]) CoDrag(shells[GameListDlg], &wpGameList);
+ if(shellUp[ChatDlg]) CoDrag(shells[ChatDlg], &wpConsole);
}
wpMain = wpNew;
DrawPosition(True, NULL);
buf[0]=eventkey->keyval;
buf[1]='\0';
if (eventkey->keyval > 32 && eventkey->keyval < 256)
- BoxAutoPopUp (buf);
+ ConsoleAutoPopUp (buf);
}
#ifdef TODO_GTK
ManProc ()
{ // called from menu
#ifdef __APPLE__
- system("%s ./man.command", appData.sysOpen);
+ char buf[MSG_SIZ];
+ snprintf(buf, MSG_SIZ, "%s ./man.command", appData.sysOpen);
+ system(buf);
#else
system("xterm -e man xboard &");
#endif