Update!
This will make the reflection extension behave very close to that we all wanted (no upper left hot corner, notifications and system tray messages at bottom, etc.).
Let's asume we have installed the reflections extension (yet unmodded) with the bottom panel extension disabled.
First let's do a
sudo gedit /usr/share/gnome-shell/extensions/gnome-shell-reflection@emergya.com/extension.jsThen we can scroll down in gedit to line 97 (95 in new version):
- Code: Select all
this.trayBox.set_position(this.bottomMonitor.x, this.bottomMonitor.y);
and change it to:
- Code: Select all
// this.trayBox.set_position(this.bottomMonitor.x, this.bottomMonitor.y);
Now we go to line 103 (101 in new version):
- Code: Select all
this.trayBox.set_clip(0, 0,
this.bottomMonitor.width, this.bottomMonitor.height);
and we change those lines to:
- Code: Select all
//this.trayBox.set_clip(0, 0,
// this.bottomMonitor.width, this.bottomMonitor.height);
And now the tricky part. Let's go to line 277 (223 in new version):
- Code: Select all
function updateMessageTray() {
// Change the direction of the animation when showing the tray bar.
Main.messageTray._showTray = Lang.bind(Main.messageTray, function() {
this._tween(this.actor, '_trayState', MessageTray.State.SHOWN,
{ y: 0,
time: MessageTray.ANIMATION_TIME,
transition: 'easeOutQuad'
});
});
// Change the direction of the animation when hiding the tray bar.
Main.messageTray._hideTray = Lang.bind(Main.messageTray, function() {
this._tween(this.actor, '_trayState', MessageTray.State.HIDDEN,
{ y: -this.actor.height + 1,
time: MessageTray.ANIMATION_TIME,
transition: 'easeOutQuad'
});
});
// Align summary items to the left
Main.messageTray._summaryBin.x_align = St.Align.START;
// SummaryItems menus.
Main.messageTray._summaryBoxPointer._arrowSide = St.Side.TOP;
}
We change that with this:
- Code: Select all
function updateMessageTray() {
// Change the direction of the animation when showing the tray bar.
Main.messageTray._showTray = Lang.bind(Main.messageTray, function() {
this._tween(this.actor, '_trayState', MessageTray.State.SHOWN,
{ y: - this.actor.height * 1.8,
time: MessageTray.ANIMATION_TIME,
transition: 'easeOutQuad'
});
});
// Change the direction of the animation when hiding the tray bar.
// Main.messageTray._hideTray = Lang.bind(Main.messageTray, function() {
// this._tween(this.actor, '_trayState', MessageTray.State.HIDDEN,
// { y: -this.actor.height + 1,
// time: MessageTray.ANIMATION_TIME,
// transition: 'easeOutQuad'
// });
// });
// Align summary items to the left
// Main.messageTray._summaryBin.x_align = St.Align.START;
// SummaryItems menus.
// Main.messageTray._summaryBoxPointer._arrowSide = St.Side.TOP;
}
Then we go to line 501 (446 in new version):
- Code: Select all
updateNotifications();
and we change that with this:
- Code: Select all
// updateNotifications();
Then we can save, restart the Gnome-shell (Alt+F2 r), and now the notifications and the message tray will behave exactly as we wanted.
To test it, plug a pendrive or whatever that triggers a notification at the message tray and look what happens.
Now the "hot corner" is at bottom right, so if we want (for example) safely extract our pendrive, we can send our mouse pointer to that corner, the tray will pop up THERE, and we can unmount the pendrive as usual.
Just try it!
Update:
Use
THIS to fix the problem with menu not showing when you right click on a window button in task bar.