Locate palette at top edge of screen?
- To: mathgroup at smc.vnet.net
- Subject: [mg91332] Locate palette at top edge of screen?
- From: "L. Dwynn Lafleur" <lafleur at louisiana.edu>
- Date: Sat, 16 Aug 2008 05:53:28 -0400 (EDT)
(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
--
=====================================
L. Dwynn Lafleur
Professor of Physics
University of Louisiana at Lafayette
lafleur at louisiana.edu
=====================================