13
$\begingroup$

Bug introduced in 10.0.0 and persisting through 10.1.0 or later


In the Version 10 interface, at least by default, there is no longer a common menu bar in a separate window, and menus appear to be localized to individual Notebook windows. If I select a Palette and attempt to use the menu in an adjacent Notebook, specifically Generate Notebook from Palette, the Palette loses focus and that menu item is disabled.

  1. Can I restore the common menu bar from earlier versions?

  2. If not what is the fastest and simplest way to apply these commands?

  3. When is the Generate Notebook from Palette item not disabled? I have been unable to use it.

$\endgroup$
19
  • 2
    $\begingroup$ Should this be tagged windows? On OS X, no window has a menu. All menus located in top of screen menu bar. $\endgroup$
    – m_goldberg
    Commented Jul 11, 2014 at 22:56
  • 1
    $\begingroup$ The same dropdown where you can choose global, selection, selected notebook, ..... Anyway, this would force you to save the palette WITH the menu bar on. That's not good $\endgroup$
    – Rojo
    Commented Jul 11, 2014 at 23:22
  • 2
    $\begingroup$ Haha. Btw, there's also selecting the palette and using ctrl+shift+o shortcut $\endgroup$
    – Rojo
    Commented Jul 11, 2014 at 23:37
  • 1
    $\begingroup$ BTW I like the new window/menu setup. It has several advantages: You can now switch between windows using the windows taskbar buttons, and the menu is never covered by another Mathematica window. You can still have a menu-free window by pressing F12. $\endgroup$ Commented Jul 12, 2014 at 0:55
  • 2
    $\begingroup$ This question has not been resolved after more than a month. It seems to me that it deserves to be tagged as bug, at least in windows. Don't you agree? $\endgroup$
    – magma
    Commented Aug 17, 2014 at 22:49

1 Answer 1

4
$\begingroup$

Token

That this menu item is doing is:

FrontEndExecute[FrontEndToken[InputNotebook[],"GenerateNotebook"]]

Keep in mind you have to add there FrontEnd` context.

  • You can use it in other palette after previously setting focus on different one.

  • Or you can put it in joker.m from 68871

  • Or use as a manual function for any NotebookObject in place of InputNotebook.


ContextMenu

The most handy way to get similar functionality back is to customize "Palettes" stylesheet, open it

CopyFile @@ (
  FileNameJoin[{#, "SystemFiles", "FrontEnd", "StyleSheets", 
      "Palette.nb"}] & /@ {$InstallationDirectory, $UserBaseDirectory}
  )

SetOptions[NotebookOpen @ %, {Editable -> True, Saveable -> True}] 

and add

Cell[StyleData["All"], ContextMenu -> 
          FEPrivate`FrontEndResource["ContextMenus", "Palette"]]

now you can try to click on part of palette that has a content:

CreatePalette[1, WindowSize -> 100]

enter image description here

$\endgroup$
2
  • $\begingroup$ This is greatly helpful. Thank you. I did not know what this token did. I am not Accepting this however as the underlying problem remains and remains unexplained. $\endgroup$
    – Mr.Wizard
    Commented May 8, 2015 at 8:46
  • 1
    $\begingroup$ @Mr.Wizard sure, ps, you can edit Palletes stylesheet to add for "All" cells ContextMenu -> FEPrivate`FrontEndResource["ContextMenus", "Palette"]. $\endgroup$
    – Kuba
    Commented May 8, 2015 at 8:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.