mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-18 07:34:54 +00:00
panel: center date entry with workarea
Align and center the date entry with the workspace's workarea.
This way, maximized applications have their window aligned with the top date
entry.
This doesn't change anything for desktops with no docks or when left/right
workareas are aligned with the monitor.
The offset is leftOffset - rightOffset:
(workArea.x - monitor.x) - (monitor.width - ((workArea.x - monitor.x) +
workArea.width))
https://bugzilla.gnome.org/show_bug.cgi?id=792354
This commit is contained in:
parent
0b51ead004
commit
cd0af33947
1 changed files with 11 additions and 1 deletions
|
|
@ -821,6 +821,7 @@ var Panel = new Lang.Class({
|
|||
global.window_group.connect('actor-removed', Lang.bind(this, this._onWindowActorRemoved));
|
||||
global.window_manager.connect('switch-workspace', Lang.bind(this, this._updateSolidStyle));
|
||||
|
||||
global.screen.connect('workareas-changed', () => { this.actor.queue_relayout(); });
|
||||
this._updatePanel();
|
||||
},
|
||||
|
||||
|
|
@ -867,7 +868,16 @@ var Panel = new Lang.Class({
|
|||
|
||||
let sideWidth, centerWidth;
|
||||
centerWidth = centerNaturalWidth;
|
||||
sideWidth = Math.max(0, (allocWidth - centerWidth) / 2);
|
||||
|
||||
// get workspace area and center date entry relative to it
|
||||
let monitor = Main.layoutManager.findMonitorForActor(actor);
|
||||
let centerOffset = 0;
|
||||
if (monitor) {
|
||||
let workArea = Main.layoutManager.getWorkAreaForMonitor(monitor.index);
|
||||
centerOffset = 2 * (workArea.x - monitor.x) + workArea.width - monitor.width;
|
||||
}
|
||||
|
||||
sideWidth = Math.max(0, (allocWidth - centerWidth + centerOffset) / 2);
|
||||
|
||||
let childBox = new Clutter.ActorBox();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue