comparison src/xfns.c @ 12019:63ee64941021

(x_top_window_to_frame): Don't match menu-bar widget. (x_window): Use applicationShellWidgetClass, not topLevelShellWidgetClass. Call lw_set_main_areas after creating the menubar widget.
author Karl Heuer <kwzh@gnu.org>
date Tue, 30 May 1995 18:47:11 +0000
parents 854e396aabed
children 035d4ee6cc80
comparison
equal deleted inserted replaced
12018:f5d820ad7a13 12019:63ee64941021
377 continue; 377 continue;
378 x = f->display.x; 378 x = f->display.x;
379 /* This frame matches if the window is its topmost widget. */ 379 /* This frame matches if the window is its topmost widget. */
380 if (wdesc == XtWindow (x->widget)) 380 if (wdesc == XtWindow (x->widget))
381 return f; 381 return f;
382 #if 0 /* I don't know why it did this,
383 but it seems logically wrong,
384 and it causes trouble for MapNotify events. */
382 /* Match if the window is this frame's menubar. */ 385 /* Match if the window is this frame's menubar. */
383 if (x->menubar_widget 386 if (x->menubar_widget
384 && wdesc == XtWindow (x->menubar_widget)) 387 && wdesc == XtWindow (x->menubar_widget))
385 return f; 388 return f;
389 #endif
386 } 390 }
387 return 0; 391 return 0;
388 } 392 }
389 #endif /* USE_X_TOOLKIT */ 393 #endif /* USE_X_TOOLKIT */
390 394
2385 XtSetArg (al[ac], XtNallowShellResize, 1); ac++; 2389 XtSetArg (al[ac], XtNallowShellResize, 1); ac++;
2386 XtSetArg (al[ac], XtNinput, 1); ac++; 2390 XtSetArg (al[ac], XtNinput, 1); ac++;
2387 XtSetArg (al[ac], XtNmappedWhenManaged, 0); ac++; 2391 XtSetArg (al[ac], XtNmappedWhenManaged, 0); ac++;
2388 XtSetArg (al[ac], XtNborderWidth, f->display.x->border_width); ac++; 2392 XtSetArg (al[ac], XtNborderWidth, f->display.x->border_width); ac++;
2389 shell_widget = XtAppCreateShell (f->namebuf, EMACS_CLASS, 2393 shell_widget = XtAppCreateShell (f->namebuf, EMACS_CLASS,
2390 topLevelShellWidgetClass, 2394 applicationShellWidgetClass,
2391 FRAME_X_DISPLAY (f), al, ac); 2395 FRAME_X_DISPLAY (f), al, ac);
2392 2396
2393 f->display.x->widget = shell_widget; 2397 f->display.x->widget = shell_widget;
2394 /* maybe_set_screen_title_format (shell_widget); */ 2398 /* maybe_set_screen_title_format (shell_widget); */
2395 2399
2412 XtSetArg (al[ac], XtNresizeToPreferred, 1); ac++; 2416 XtSetArg (al[ac], XtNresizeToPreferred, 1); ac++;
2413 XtSetArg (al[ac], XtNemacsFrame, f); ac++; 2417 XtSetArg (al[ac], XtNemacsFrame, f); ac++;
2414 frame_widget = XtCreateWidget (f->namebuf, 2418 frame_widget = XtCreateWidget (f->namebuf,
2415 emacsFrameClass, 2419 emacsFrameClass,
2416 pane_widget, al, ac); 2420 pane_widget, al, ac);
2417 lw_set_main_areas (pane_widget, f->display.x->menubar_widget, frame_widget);
2418 2421
2419 f->display.x->edit_widget = frame_widget; 2422 f->display.x->edit_widget = frame_widget;
2420 2423
2421 if (f->display.x->menubar_widget)
2422 XtManageChild (f->display.x->menubar_widget);
2423 XtManageChild (frame_widget); 2424 XtManageChild (frame_widget);
2424 2425
2425 /* Do some needed geometry management. */ 2426 /* Do some needed geometry management. */
2426 { 2427 {
2427 int len; 2428 int len;
2533 2534
2534 UNBLOCK_INPUT; 2535 UNBLOCK_INPUT;
2535 2536
2536 if (!minibuffer_only && FRAME_EXTERNAL_MENU_BAR (f)) 2537 if (!minibuffer_only && FRAME_EXTERNAL_MENU_BAR (f))
2537 initialize_frame_menubar (f); 2538 initialize_frame_menubar (f);
2539 lw_set_main_areas (pane_widget, f->display.x->menubar_widget, frame_widget);
2538 2540
2539 if (FRAME_X_WINDOW (f) == 0) 2541 if (FRAME_X_WINDOW (f) == 0)
2540 error ("Unable to create window"); 2542 error ("Unable to create window");
2541 } 2543 }
2542 2544