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