Re: Locate palette at top edge of screen?
- To: mathgroup at smc.vnet.net
- Subject: [mg91355] Re: Locate palette at top edge of screen?
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Sun, 17 Aug 2008 06:40:58 -0400 (EDT)
- References: <g8682n$hpr$1@smc.vnet.net>
Hi, try pal = CreatePalette[PasteButton[\[Alpha]]]; Manipulate[ SetOptions[pal, WindowMargins -> {{p[[1]], Automatic}, {p[[2]], Automatic}}]; p, {{p, {0, 0}}, {0, 0}, {1280, 1024}, ControlType -> Slider2D} ] and use the position you like. Regards Jens L. Dwynn Lafleur wrote: > (Windows XP SP3, Mathematica 6.0.3) > > I am trying to create a command that moves a palette so that its top > edge is at or near the top edge of the screen, i.e., superimposed on the > space occupied by the main title bar (the bar containing "Wolfram > Mathematica 6.0 - <notebook name>" and the menu titles.) > > If I simply use the example in the "CreatePalette" entry in the Help > documentation > > pal = CreatePalette[PasteButton[\[Alpha]]]; > > a small palette is created. (In my case, most of it extends off the > right edge of my screen). > > I then use the mouse to drag this palette onto the center area of the > main title bar, placing its top edge at the top edge of the screen and > thus practically coincident with the top edge of the main title bar. > To determine the coordinates (window margins) in this desired location, > I execute the command > > Options[pal, WindowMargins] > > and the result in this case is > > {WindowMargins -> {{599, Automatic}, {Automatic, -50}}} > > Using the mouse, I drag the palette away from this location, then > execute the following command, expecting it to move the palette back to > the desired position. > > SetOptions[pal, WindowMargins -> {{599, Automatic}, {Automatic, -50}} > > Instead, the palette moves to the correct horizontal postion, but its > top edge is at the BOTTOM edge of the main title bar, not at the top > edge of the screen. Executing the command > > Options[pal, WindowMargins] > > yields > > {WindowMargins -> {{599, Automatic}, {Automatic, -50}}} > > which is inconsistent with the screen position. Indeed, if I again move > the mouse to another location, then execute > > SetOptions[pal, WindowMargins -> {{599, Automatic}, {Automatic, 0}} > > the palette moves back to its previous position right below the main > title bar. Thus an upper margin of 0 corresponds with the bottom edge > of the main title bar, therefore implying a value of -50 should be above > that edge. However, it seems a command of the form > "SetOptions[...,WindowMargins->{{...},{Automatic,x}}]" converts negative > values of x to 0. > > Is there a command that can move a palette so its top edge is at the top > edge of the screen? > > > Dwynn >