First off, I like your ideas for the operation of the Hijack menu. On to other comments:
I don't like the idea of global focus. Whilst in the ideal world every app would be well-behaved, we know that in the real world some apps will have problems, and these could be harder to pinpoint with global focus. I
First off, if we made the default would be local focus, a lot of this could be averted. Global focus would be for special uses, and if we document that fact, it'd be used sparingly. After all, we're all here, and the source is almost always open right? If the developer binds buttons locally, it'd be easy to tell who's to blame, because you'd know which app you had selected to get input focus.
I know I'm pushing really hard on this input focus != button focus point, and it's for one reason: multiple overlay windows! Let's pretend for a moment that the empeg display has an X11 window manager on it. Let's say you've got a desktop and two windowed applications. The desktop is analagous to the player app, because it's in the "background" in terms of display -- you almost always want it to be hanging around behind anything else that's displaying in an overlay mode. And let's pretend the two windowed apps in our window manager example are two empeg apps that wish to show overlays.
Okay, so emphatic wants to scroll lyrics while GPSapp shows heading, directions, or whatever. On an X11 desktop, you'd have emphatic and gpsapp each having their windows on the screen at once. Both have "display focus" as both are displayed on the screen, and can update their own section of the display. But by using your mouse (or Alt-Tab, or whatever) you can put the input focus on one of those apps. Typing a key while emphatic is selected doesn't affect gpsapp. That's "local input focus" which would be far and away the most commonly used technique.
Getting back to reality, and away from the X11 example, giving input focus to an empeg app could be as easy as a reserved button code, or opening up the hijack menu and selecting the app from the running apps list.
How would multiple overlay apps be handled if display focus == input focus?
It's just occurred to me that the 'Select Mode' button is hardly ever used in the empeg. AFAIK it's only used when in a player submenu (eg search) or when in transient info mode to redisplay the current song title. I wonder if we could use this to switch rapidly between applications?
That's great for those who use remotes all the time... Not so good for those who would want to use the front panel buttons. Hmm. I think back in the Single Digit Hijack Version Number days, Mark actually had "chords" of front panel buttons that could do stuff. Like, if you pressed the BOTTOM and LEFT buttons at approximately the same time, it brought up Pong. If that kind of functionality were brought back, maybe that's the quick switch Alt-Tab like thing we want?