36

For this purpose, I wrote a small Symbol Information Palette. This palette let's you quickly look up usages, options and attributes of symbols and was tested on Mac OSX and Linux. Installation The source code is hosted on my GitHub site but to preview or install the palette you only have to evaluate this: Get["http://goo.gl/QPywk"] The link is just ...


23

as J.M. mentions, the Workbench is an Eclipse plug-in (and is available as such). Now, to display all files in some directory, you can do this: SetDirectory["~/Documents/Projects/other/playing"] (this is an arbitrarily selected directory on my machine). Then define doSomething[fname_] := CreateWindow[ DialogNotebook[ { TextCell[fname], ...


18

You can simply assign the content of the palette to the docked cells, however this won't give any nice results for palettes that where not designed to be used as such: For instance, first open up a palette, I chose Basic Math input, then run plt = Notebooks[][[1]] CreateWindow[DockedCells -> NotebookGet[plt][[1]]] What you then end up with is a ...


16

I'm not sure if this is exactly what you need but this is what I've recently done to inform the user about ongoing calculation. Usage withProgressIndicator[proc, delay] Performs a proc, and when it lasts longer than delay (default 0), a progress indicator in dialog is created. It will be closed after finishing the proc. It should be run on Main Link, ...


16

OK, I guess I found something myself while trying to circumvent RunScheduledTask. DynamicModule[{prog = False}, Column[{ Button[ "Do heavy work", prog = True; Pause[10]; prog = False, Method -> "Queued" ], Dynamic@If[prog, ProgressIndicator[Appearance -> "Percolate"], Invisible[ProgressIndicator[Appearance ->...


13

Building on Kubas code here is an alternative which solves some (minor) problems: it will not leave behind scheduled tasks when the abort button is used, it works equaly well when the Alt+. shortcut is used to abort and it might work better when aborting preemptive evaluations. Here is the code: SetAttributes[withProgressIndicator, HoldFirst]; ...


12

Here is a bare bones tool to remove a palette and place it in a new directory. You can modify to delete the file entirely if you wish. You can modify the sources. There is an internal FE command to update the palette menu but I do not have that. You'll have to restart Mathematica. DynamicModule[{new, source1 = FileNameJoin[{$BaseDirectory, "...


12

The following expression will open the special characters palette: FrontEndExecute[{FrontEnd`NotebookOpen["SpecialCharacters.nb"]}] This expression was extracted from MenuSetup.tr: { $InstallationDirectory, "SystemFiles", "FrontEnd", "TextResources", $OperatingSystem , "MenuSetup.tr" } // FileNameJoin // FindList[#, "Special Character..."]& // First (...


8

There is a Wolfram blog by Oleg Marichev and Michael Trott which has an accompanying CDF demonstration (that can be downloaded here). This CDF can be used to explore distributions and their multitude of properties. It isn't the palette you described (it also doesn't paste a function template as the original palette probably did) but it may be useful ...


7

NOTE: This works on my Mathematica 10, but not tested on other versions. This method involving modification of a system file, thus is likely prohibited by the EULA. First locate the notebook corresponding to the Drawing Tools, which should be on a path similar to the following: (Mathematica root)\SystemFiles\FrontEnd\SystemResources\DrawingTools.nb ...


7

Using approach from How to customize the package editor interface? CopyFile @@ ( FileNameJoin[ {#, "SystemFiles", "FrontEnd", "Palettes", "BasicMathAssistant.nb"} ] & /@ {$InstallationDirectory, $UserBaseDirectory}) SetOptions[ NotebookOpen@%, { Saveable -> True, ClosingAutoSave -> True (*thx to Mr. Wizard*) } ] When you ...


6

WindowElements -> {"StatusArea"} CreatePalette[ PasteButton[ Style[StatusArea["\[Gamma]", "esc-g-esc"], FontFamily -> "Courier", 12], RawBoxes["\[Gamma]"], ImageSize -> {30, 20}], WindowStatusArea -> ":)", WindowElements -> {"StatusArea"}] Full answer: CreatePalette[ Table[With[{i = i}, ...


6

I see two problems here. First, Initialization is not a known option for CreatePalette: Options[CreatePalette, Initialization] Options::optnf: Initialization is not a known option for CreatePalette. >> Second, even if it were your use of Rule rather than RuleDelayed means that your initalization code will only be evaluated when the palette is ...


6

You can prevent the focus from being lost by setting certain system properties to true before calling any awt functionality: LoadJavaClass["java.lang.System", AllowShortContext -> False]; java`lang`System`setProperty["apple.awt.UIElement", "true"]; (* or use the property "java.awt.headless" instead *) These properties can also be specified in the ...


6

Try this: << AuthorTools` OpenAuthorTool[] Then clicking on some of the links open up palettes. MakeProject, MakeIndex, MakeContents, NotebookDiff, NotebookRestore, Paginate, ExportCells, InsertValue, SetPrintingOptions open for me (v12.1 Mac), the rest don't. I have no idea if they're actually functional though!


5

Here you go: button[tok_][par_] := Button[par, FrontEndTokenExecute[tok, par]] Row /@ { button["FontFamily"] /@ {"Arial", "Bookman", "Times"}, button["FontColor"] /@ {Red, Green, Blue, Brown, Black, White}, button["FontSize"] /@ Range[10, 20, 2] } // Column // CreatePalette


5

The supported way to do this is to include a FrontEnd extension in the PacletInfo file, as in this example: Paclet[ Name -> "ExamplePackage", Version -> "1.0.0", MathematicaVersion -> "9+", Description -> "An example package.", Creator -> "WEG", Extensions -> { {"Kernel", Context -> {"ExamplePackage`"}}, {"...


5

Using PasteButton with a matrix containing the desired matrix is one option. PasteButton["3x3 Matrix", MatrixForm@( { {\[Placeholder], \[Placeholder],\[Placeholder]}, {\[Placeholder], \[Placeholder],\[Placeholder]}, {\[Placeholder], \[Placeholder],\[Placeholder]} } )] PasteButton["1x3 Matrix", MatrixForm@( { {\[Placeholder], \[Placeholder]...


5

Suppose you have configured kernels "Kernel1" and "Kernel2", then this just works: CreatePalette[test, Evaluator -> "Kernel1"] CreatePalette[test2, Evaluator -> "Kernel2"]


5

This is a possible solution that I came up with after looking at another answer by @Ragfield: Encoding format used by GraphicsData? I had to modify the function decodePICT in that post to cut out the leading zero bytes: DecodePDF[data_String] := Module[{slash, backslash, zero, LF, CR, decode, codes, len, i}, {slash, backslash, zero, LF, CR} = ...


5

This is what I've came up with so far: Outline[] := CreatePalette[ Dynamic[Refresh[ Column@Cases[ NotebookRead /@ Cells[SelectedNotebook[], CellStyle -> {"Section", "Subsection", "Subsubsection", "Subsubsubsection"}], Cell[name_, style : "Section" | "Subsection" | "Subsubsection" | "...


5

Button["Backspace", SelectionMove[EvaluationNotebook[], Previous, Character]; SelectionMove[EvaluationNotebook[], All, Character]; NotebookDelete[EvaluationNotebook[]]]


5

Here's something you can try: CurrentValue[EvaluationNotebook[], {InputAliases,"ch"}] = ActionMenuBox[ "g1", { "g1":>NotebookWrite[EvaluationBox[], "g1"], "g2":>NotebookWrite[EvaluationBox[], "g2"] }, Appearance->"PopupMenu", AutoAction->True ] A short animation: The left hand side of the rule is what you see in the ...


5

Why not use an InputAutoReplacements instead? For example: CurrentValue[EvaluationNotebook[], {InputAutoReplacements, "ww"}] = "Ω" Then you can type: w w Control+- to enter the desired subscript. If you really want to use KeyEventTranslations.tr to do this, then you need to enter boxes: Item[KeyEvent["O", Modifiers -> {Control, Command, Shift}], ...


4

I am on Windows and palettes go away just like you describe. It gets fixed by changing the default WindowFrame option away from "Palette" EDIT It seems that changing WindowFrame disables the window floating behaviour also when Mathematica has focus. So, this would be equivalent to setting WindowFloating to False. This last option would at least keep the "...


4

This is a supplementary answer to what John Fultz has provided. Problem 1: The problem is that sometimes I can't include all functionality inside the palette nor I can call Needs to load it after kernel restart because the package initialization is a little bit complicated. What I'm fine with though is to be able to close the Palette/Dialog/GUInotebook as ...


4

As you already have the selection set to the cell and NotebookFind returns that selection, you could just use CurrentValue on it as here: PaletteNotebook[ Button[Style["Blog it", 12, FontFamily -> "Times"], Module[{ nb = InputNotebook[], out = NotebookCreate[], retval }, SelectionMove[nb, Before, Notebook]; retval = NotebookFind[...


4

You can press the blue Enable Dynamics button to make the warning disappear. (You also appear to have a zoom problem that I can't replicate, perhaps this is relevant?) Here are screenies before and after pressing the button:


4

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 ...


4

About StyleSheets, you can do: AppendTo[ CurrentValue[$FrontEnd, "StyleSheetPath"], "packageDir\\FrontEnd\\StyleSheets" ] which will have an effect as soon as you restart MMA or evaluate MathLink`CallFrontEnd[ FrontEnd`ResetMenusPacket[{Automatic, Automatic}]] credits to: R.M., Refreshing the Menu Analogically you can add palletes to the menu:...


Only top voted, non community-wiki answers of a minimum length are eligible