[openbox] openbox focus wish list

John Russell drjimmy42 at yahoo.com
Fri Oct 10 09:24:26 EDT 2003

I am new to openbox and this list, but it seems as though you do most,
if not all of the work for this.  If that isn't the case then please
distribute praise as appropriate.  In that vein, you rock.  

Can I ask... were you implementing the metacity-like window highlighting
before this email, or did you just whip that up in a few days.  Holy
crap.  Either way, there is really nothing missing from openbox3 now
that I could want, and its far beyond metacity and other WM I can think
of.  Congrats, truly amazing. Thanks.


On Mon, 2003-10-06 at 11:00, John Russell wrote:
> Hello openbox hackers,
> I just installed openbox this weekend and was blown away.  Very very
> impressed.  I am switching from metacity which had some cool features
> but left a lot to be desired in certain areas.  So much so, that was
> shopping around.  So here I am.   BUT... of course, like any truly geeky
> person, I am trying to get the best parts of my previous WM into my new
> one.  
> So far the only part of openbox that I don't find far superior to
> metacity is atl-tab window cycling.  Let me try to explain myself here
> in some intelligible way.  
> I usually have several frameless Eterms open at one time and alt-tabbing
> between them is very difficult because I never know which is the
> focus_cycle_target at any given point in time.  Even with framed
> windows, just the change in frame color doesn't really do it for me,
> especially if a window is completely obfuscated by a larger one.  In
> metacity, the current cycled window gets a black outline around it,
> which shows up even for covered windows.  If you haven't seen it, its
> worth a look just to see the feature.  Anyway, I found that a really
> good way to do alt-tab window cycling.  
> I looked into the openbox code to see what I could do.  I found a sort
> of helpful idea that needs help itself.  Here it is.
> In the function focus_cycle in focus.c I added one line just under
> frame_adjust_focus.  See clip below.
> Line 345
> if (valid_focus_target(ft)) {
>     if (ft != focus_cycle_target) /* prevents flicker */  { 
>          if (focus_cycle_target)
>             frame_adjust_focus(focus_cycle_target->frame, FALSE);
>         focus_cycle_target = ft;
>         frame_adjust_focus(focus_cycle_target->frame, TRUE);
>         client_raise(focus_cycle_target);  <===== This is the line
>     }
>     popup_cycle(ft, dialog);
>     return;
> }
> What this does, is as windows are being cycled through, it raises each
> current window so you can see which one it is.  This has some drawbacks
> though....
> 1) It actually raises the window instead of just highlighting it the way
> metacity does.  This screws up your stacking order if you cycle through
> some windows searching for something.  It seems like the cycling
> shouldn't actually raise the window, but somehow make it visible, even
> if covered or frameless.  
> 2) If a frameless window (and I understand this is my own damn fault,
> but the frameless terms just look so cool) is off by itself and not
> covered, it isn't obvious when it gets raised.  I tried the function
> client_focus() but that changes the focus cycle order so you end up
> endlessly switching between two windows.  Not good.
> So that's where I am now.  Looking for a way to highlight cycled windows
> without disturbing everything by raising them.  The popup window doesn't
> help so much because all of my terms come up as xterm[1] xterm[2] .... I
> still can't tell them apart.  
> Anyway, thanks for listening.  And truly amazing job on openbox.  Even
> with this minor problem, which I just me being whiny, I'm hooked. 
> Thanks.
> Sincerely.
> John Russell

More information about the openbox mailing list