Re: Dynamic palette of open notebooks
- To: mathgroup at smc.vnet.net
- Subject: [mg82994] Re: Dynamic palette of open notebooks
- From: bumlove at gmail.com
- Date: Tue, 6 Nov 2007 03:44:57 -0500 (EST)
- References: <fgenb0$fq1$1@smc.vnet.net><fghcff$kel$1@smc.vnet.net>
Thanks for that. It kinda works but still seems a bit unstable. The redrawing of the palette is not too much of an issue for me, but I seem to get other problems. Sometimes it just plain does not work. The palette reports various errors and doesn't display anything. Other times it works fine. I've yet to track down when and why it won't work although it always seems to work just in a notebook (i.e. without the CreateWindow). The other issue is that I can't seem to save the palette and have it open automatically when I start mathematica. Perhaps I'll wait for 6.0.2 and see how it works then. On Nov 3, 9:45 pm, David Reiss <dbre... at gmail.com> wrote: > The following is an example of how one might go about doing this. > However, I word of warning: this is a buggy example. This is not > because of the code itself, but because of a notebook redrawing bug in > Mathematica (at least on the Mac). The bug is that when one opens and > closes notebooks, the palette that this code has created will update > in a way that obscures the top of its notebook window in a way that > the operating system close button will be "below" an un-deleted > button. > > This bug has been duly reported to Wolfram Research and is in the > queue... > > I created this bit of code a while back thinking that a generalization > of it might be good as a replacement--or an adjunct--for the All > Notebooks Palette > > http://scientificarts.com/worklife/documentation/allnotebookspalette.... > > in A WorkLife Framework > > http://scientificarts.com/worklife/ > > Here is the code: > > notebooksPalette[] := > DynamicModule[{pagewidth, allNotebooks, names, buttons}, pagewidth = > 100; > allNotebooks = Dynamic[Refresh[Notebooks[], UpdateInterval -> 1]]; > names = Dynamic[ > CurrentValue[#, "NotebookFileName"] & /@ First[allNotebooks]]; > buttons = > Dynamic[Column[ > Button[Style[#[[1]], 10, Bold, Darker@Blue], > SetSelectedNotebook[#[[2]]], > Appearance -> "Palette", Alignment -> Left, > ImageSize -> {pagewidth, All}] & /@ > Transpose[{First[names], First[allNotebooks]}]]]; > CreateWindow@ > PaletteNotebook[buttons, PageWidth -> pagewidth, WindowSize -> > All]] > > I hope this helps! > > And, of course you should download the fully functional trial version > of A WorkLife Framework from > > http://scientificarts.com/worklife/trial.html > > --David > A WorkLife FrameWork > E x t e n d i n g MATHEMATICA's Reach...http://scientificarts.com/worklife/ > > On Nov 2, 4:32 am, buml... at gmail.com wrote: > > > Howdy, > > > I often have several notebooks open full screen on a second monitor. > > It would be nice to have some sort of taskbar in mathematica to switch > > between notebooks at a click (and indeed just see what I have open). > > Now it's easy enough to make a palette of open notebooks, but I can't > > figure out how to make it dynamic (in version 6.0). That is, if I > > open or close a notebook, the palette changes automatically to reflect > > this. Can this be done? Does anybody have any suggestions?