I actually don't want the interface movable by dragging because I'd
always drag it where I don't want it, and I want it exactly centered.
(I used to use BezelHUD so I could move it but got tired of exactly
these issues—finally got myself together just now to look at the Bezel
code instead.)

AFAIK Bezel doesn't have the "centering bug" precisely because it
can't be dragged and forces itself to a single position. Ultimately I
think the best option would be to have preference options for the
bezel position, but that's a lot of work for you guys. Similarly for
Primer—I would *remove* the draggability and replace it with a pref
for where it should appear (or a pref for draggable or not, if some
people want the option—but of course, again I understand more work for
the devs).

On Dec 15, 4:20 am, Patrick Robertson <[email protected]>
wrote:
> > For anyone else who's interested—I wanted Bezel to display near the
>
> top of the screen, instead of in the middle,
>
> That's an interesting idea. I often find myself with the problem of the
> interface (especially the larger Nostromo interface) being on top of finder
> windows as well.
>
> If we fixed the centring problem and made these interfaces moveable, that
> would help in this area. I may look into this soon to see what can be done.
>
> On 15 December 2011 01:05, Daniel <[email protected]> wrote:
>
>
>
>
>
>
>
> > So I was going to ask, any way to *change* where Bezel locks its
> > window to. And then I said, hey, let's look at the code...
>
> > For anyone else who's interested—I wanted Bezel to display near the
> > top of the screen, instead of in the middle, because I drag things
> > onto QS for "Open with..." a lot, and the Bezel window in the middle
> > of the screen is usually on top of Finder windows. The place to change
> > is in Plugins-Main/Bezel/QSBezelInterfaceController.m, function
> > rectForState, line 114. Changing "NSHeight(screenRect) / 8" to
> > "NSHeight(screenRect) / 3" gets me a bezel that's about 50-100px from
> > the bottom of the menubar, which is what I wanted.
>
> > And then I was going to say that getting Primer to center would be
> > more difficult, except that in QSPrimerInterfaceController.m, function
> > showMainWindow, there's this code:
>
> >        if (defaultBool(@"QSAlwaysCenterInterface") ) {
> >                NSRect frame = [[self window] frame];
> >                frame = centerRectInRect(frame, [[[self window] screen]
> > frame]);
> >                [[self window] setFrame:frame display:YES];
> >        }
>
> > So if you're willing to edit the code, what you can do is replace that
> > whole function (showMainWindow) with this:
>
> > - (void)showMainWindow:(id)sender {
>
> >        NSRect frame = [[self window] frame];
> >        NSRect screen = [[[self window] screen] frame];
> >        frame = NSOffsetRect(centerRectInRect(frame, screen), 0,
> > NSHeight(screen) / ***8 or 3 for roughly-centered or top-of-screen,
> > respectively***);
> >        [[self window] setFrame:frame display:YES];
>
> >        [super showMainWindow:(id)sender];
> > }
>
> > Unfortunately this still allows the interface window to be moved
> > (unlike Bezel), but the next time you invoke it it will be back where
> > it was.
>
> > On Dec 14, 5:36 am, michakaufman <[email protected]> wrote:
> > > Yeah, I'm using Primer (call me old fashion :). Bezel does
> > > automatically centers. Any way to have Primer to center?
>
> > > On Dec 11, 2:46 pm, Patrick Robertson <[email protected]>
> > > wrote:
>
> > > > Which interface are you using?
> > > > Some interfaces can only be placed in the middle of the screen, and
> > cannot
> > > > be moved. Have you tried an alternative interface (of course it isn't
> > ideal
> > > > for you to have to change interface)
>
> > > > If you're using BezelHUD, then it may be a bug with that interface.
>
> > > > On 9 December 2011 13:17, michakaufman <[email protected]>
> > wrote:
>
> > > > > I am constantly switching between my 13" MacBook Air to my 27" cinema
> > > > > display. Every time I do that, the QS interface position itself close
> > > > > to the left top edge of the screen. Is there a way to force it to
> > > > > remain in the center of the screen?

Reply via email to