Opened 12 years ago

Closed 4 years ago

#10252 closed Bug Report - General (Abandoned)

Mac OS X menu bar, dock, and mouse not hidden if GUI size nonzero

Reported by: dgatwood <dgatwood@…> Owned by: Nigel
Priority: trivial Milestone: unknown
Component: Ports - OSX Version: 0.24.1
Severity: low Keywords:
Cc: Ticket locked: no

Description

If you change the GUI size and offset to compensate for overscan, MythTV incorrectly uses a normal window instead of a full-screen window, resulting in Mac OS X showing the menu bar and doc. MythTV should use these values for scaling the *content* of the window, not for setting the actual size and position of the window itself.

The net result is that unless you can find a reduced-size theme that will fit on your screen, you're pretty much hosed.

Change History (4)

comment:1 Changed 12 years ago by danielk

Priority: majortrivial
Severity: highlow

Nigel, I'll leave it to you if this is a won't fix or not, but I've just fixed the priority and severity fields.

comment:2 Changed 12 years ago by Nigel

Status: newassigned
  1. OS X code never did anything with the dock. (except in the Full Screen output module, which is a layer above the menu bar, dock, UI desktop picture, et c.) If you want the dock to be hidden, set it to hide in Mac OS? ("System Preferences" -> Dock -> "Automatically hide and show the Dock")


  1. The Mac output code was written assuming either Full Screen, or "one Window among the rest of your active apps" usage. Attaching to a TV that has overscan was never implemented. I would have thought that any display that overscanned would chop the menu bar off in its bezel, but I guess that is a bad assumption :-(


Two easy options - either always hide the Menu Bar when Appearance -> "Use window border" is off, or always hide it when the GUI Y offset is less than 22 pixels? e.g. undo https://github.com/MythTV/mythtv/commit/6116efda and augment the 'd->does_fill_screen' conditionals.

comment:3 Changed 12 years ago by dgatwood <dgatwood@…>

As I understand it (and this is from distant memory, so I may be wrong), Mac OS X automatically hides the dock and menu bar if you create a window and make it be a full-screen window at the appropriate level (above the dock). This only works if it is actually a full-screen window, however—that is, if the window starts at the upper left corner and extends to the lower right.

I *think* the problem is that MythTV, when you add overscan compensation, actually reduces the size of the window that it creates. It is thus no longer a full-screen window, so Mac OS X no longer hides the dock and menu bar automatically. At least that's the way it acts.

I can see two relatively easy ways to fix the problem:

  1. Add a full-screen black masking window behind the main drawing window, at a level greater than NSDockWindowLevel/kCGDockWindowLevel and less than your actual main window, sized to fit the screen without overscan compensation.
  2. Instead of shrinking the drawing window itself, create a smaller subwindow inside the main window (based on the overscan-compensated size) and draw inside that.

comment:4 Changed 4 years ago by Mark Kendall

Resolution: Abandoned
Status: assignedclosed

I plan to re-work the GUI rendering as outline in the last comment for 0.32 (i.e. use a fullscreen window but 'underscan' the UI rendering).

Closing this as it is soooo old and improvements will be tracked elsewhere.

Note: See TracTickets for help on using tickets.