This file is where everything about panels happens.
Main will create a
PanelManager object, which is responsible for creating and moving panels. There is also a
checkPanelUpgrade function used as a transition between the old panel settings and the new panel settings.
Run from main, prior to PanelManager being initialized this handles the one-time transition between panel implementations to make this transition invisible to the user. We will evaluate the desktop-layout key, and pre-set applets-enabled and panels-enabled appropriately.
Retrieves the heights used in horizontal panels on the monitor to that vertical panels can be sized and positioned not to overlap them
get the panel numeric type from its name in settings
returns - panel type (integer)
Sets up a panel corner
The panel corners are there for a non-obvious reason. They are used as the positioning points for small drawing areas that use some optional css to draw small filled arcs (in the repaint function). This allows windows with rounded corners to be blended into the panels in some distros, gnome shell in particular. In mint tiling and full screen removes any rounded window corners anyway, so this optional css is not there in the main mint themes, and the corner/cairo functionality is unused in this case. Where the corners are used they will be positioned so as to fill in the tiny gap at the corners of full screen windows, and if themed right they will be invisble to the user, other than the window will appear to go right up to the corner when full screen