2
$\begingroup$

When in presentation mode a Slideshow notebook's cells are hidden. This is good to have when presenting. However, if you have some cells in your presentation that take more than a few seconds to execute it would be useful to have some indicator in title bar that shows when a cell is running. This would be particularly useful in full-screen mode.

I am thinking of having the same little orange disk that appears on the Mathematica icon when it is running to appear in the right-hand side of title bar of the presentation when it is running a cell.

I know exceptionally little about front-end tokens/programming. I believe I need to use EvaluationNotebook and somehow with SetOptions place a Dynamic in the title bar that checks some built-in variable to see if the notebook is executing. I had a look withNames["$*"]` but nothing jumped out as being the current one to use.

I found WindowTitle.

SetOptions[EvaluationNotebook[], WindowTitle -> "test"]

But it seems to only take strings as the following inserts $Failed into the window title.

SetOptions[EvaluationNotebook[], WindowTitle -> Graphics[Disk[]]]

There appears to be a way to do this because there is a menu drop-down in the title bar when in presentation mode.

Any ideas?

$\endgroup$
  • $\begingroup$ I don't understand the little orange disk idea in context of full screen mode. $\endgroup$ – Kuba Nov 18 '16 at 8:02
  • $\begingroup$ @Kuba In version 11.0.1 on Windows 8.1 there is a little orange disk that appears on the notebook's Mathematica icon in the taskbar when code is running for a while. I was hoping to get something similar to show in the titlebar when in presentation mode. $\endgroup$ – Edmund Nov 18 '16 at 11:48
  • $\begingroup$ But the taskbar isn't visible when the slide show is in full screen mode, right? $\endgroup$ – Kuba Nov 18 '16 at 11:49
  • $\begingroup$ @Kuba Correct. That is why I want something similar in the titlebar of the slideshow in presentation mode. The presentation mode titlebar is different from the notebook mode titlebar. $\endgroup$ – Edmund Nov 18 '16 at 11:50
1
$\begingroup$

So I have some more complex ideas in mind but this is quite nice and short:

SetOptions[EvaluationNotebook[], {
  CellProlog :> SetOptions[EvaluationCell[], ShowCellBracket -> True],
  CellEpilog :> SetOptions[EvaluationCell[], ShowCellBracket -> Inherited]
  }
]

So it will show bracket when you evaluate cell and switch it back when it is over.

$\endgroup$
  • $\begingroup$ A very good idea. I would love to see some of your other ideas. $\endgroup$ – Edmund Nov 18 '16 at 11:44
  • 1
    $\begingroup$ @Edmund then keep your fingers crossed for my free time and motivation to be in phase some time during weekend :) $\endgroup$ – Kuba Nov 18 '16 at 11:48
  • $\begingroup$ How do I restrict this to only Input cells? Currently this runs for both Input and Output cells. When it runs on the Output cells an error is printed; The specified setting for the option ShowCellBracket cannot be used.. I have put the SetOptions code in the Cell Options | Evaluation Options section of the Options Inspector for the slideshow notebook. $\endgroup$ – Edmund Nov 18 '16 at 13:10
  • $\begingroup$ @Edmund what do you mean by runs on the Output cells? p.s. you can try with "Input" in private stylesheet. Haven't tried that, will do later. $\endgroup$ – Kuba Nov 18 '16 at 13:13
  • $\begingroup$ When in presentation mode I run a cell that takes 30 secs or so. The cell bracket shows up for the input cell. When the Output cell is created I error message is printed. Actually it could either be the Output cell or the CellEpilog running on the Input cell that is triggering the error. $\endgroup$ – Edmund Nov 18 '16 at 13:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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