I find the GNOME Shell 3.6 changes to the message tray irritating. Is there a way to switch the message tray to the old model or to at least shrink the items and stop it from pushing the entire desktop when being summoned?
3 Answers
The new design makes the tray unusable for many apps like CherryTree, Deluge, etc. that have tray icons, as you have to wait one long second for each access! And if, by chance, the cursor of your mouse touches the desktop bottom for just a second, you'll see a nasty movement. I don't know where the gnome developers want to go with such "innovations".
However, you could change the tray behavior by editing /usr/share/gnome-shell/js/ui/messageTray.js.
I changed TRAY_DWELL_TIME to 50 ms
and set the hot zone to the old right bottom corner by changing the line which reads let shouldDwell = ...
to:
let shouldDwell = (x >= monitor.x && x == monitor.x + monitor.width - 1 &&
This makes the tray usable again but I didn't find a way for preventing that upward movement.
EDIT (Thanks to @6ahodir):
To prevent upward movement of the desktop change the same file (/usr/share/gnome-shell/js/ui/messageTray.js
) and update the following line in the _showDesktopClone()
function:
{ y: -this.actor.height,
to this:
{ y: 0,
In case you want to remove the messageTray,
let shouldDwell = (x >= monitor.x + monitor.width && x <= monitor.x + monitor.width + 1 &&
-
Awesome guys, this is EXACTLY what I was looking for!! Many, many thanks. Feb 10, 2013 at 3:14
-
Thanks! New gnome-shell broke my workflows a bit. But, do you know if I can change this code without tampering with installed files? Some per-user way to override gnome-shell behavior?– thinredNov 21, 2013 at 14:43
You can shrink the message tray modifying /usr/share/gnome-shell/theme/gnome-shell.css
#message-tray {
background: #2e3436 url(message-tray-background.png);
background-position: 0 0;
background-repeat: repeat;
transition-duration: 250;
height: 36px;
}
And you should also change the icons' size in /usr/share/gnome-shell/js/ui/messageTray.js
. Search for the SOURCE_ICON_SIZE
constant within the Source
class and set it to the value of your choice :-)
Disable the notification area hover:
let shouldDwell = 0;
There is a keybinding for notification area (default is super+m)