Use Notify-OSD in Gnome 3.4

With Gnome 3, I had two major pet peeves – the lack of a native window list and the message tray. I was able to fix the first problem with the panel docklet and a bit of theming. I was also able to fix a part of the second problem with the classic system tray extension. But there was still something that bothered me with that second annoyance; notifications! With the shell osd extension, I was able to achieve something similar to that of Notify-OSD, but it would always pop up the little message tray at the bottom of the screen. So annoying, especially if you used a dock like I did! I tried searching for a way to get notify-osd to run, but I couldn’t find anything. So I gave up…

But a few months later, I saw a blog post on Web Upd8 about Linux Deepin. The Linux distro was great; if I fucked up my install of Ubuntu (again) and had to install an OS, then I would have probably install Linux Deepin. I did try it via live usb session, and let me tell you, it looked pretty damn good! I mean, the default theme wasn’t my favorite; it looked like a mix between Windows and Macs. However, I still think it looked 100x better than the default the default Gnome 3 theme. I mean seriously, the default Gnome 3 looks ugly; if there wasn’t any themes and extensions to compensate for the lack of default functionality (which, I’m assuming, works for anyone who’s amazing with the keyboard and their shortcuts) and sexiness, I would have probably stopped using Linux distributions and go back to Windows (because I can’t afford a damn Mac). Well… that’s lie (probably); I may have switched over to KDE…

So I attempted to do what they did. I tried deleting notificationDaemon.js from /usr/share/gnome-shell/js/ui and commenting out any instances of it from main.js, but that wasn’t enough! It stopped notifications from working, but Notify-OSD wouldn’t work either. I asked on the Linux Deepin forums and it seems they compiled their own version of gnome-shell…

Luckily, they had their own packages for Gnome 3.4!

I already had gnome-shell installed and notify-osd since I was using Ubuntu. From:
I downloaded gnome-shell_3.4.1-1deepin12_amd64.deb (since I’m using a 64-bit version of Ubuntu) and gnome-shell-common_3.4.1-1deepin12_all.deb.

Before I did anything, I copied /usr/share/gnome-shell/js to my home folder. They changed a bit of the layout in the Linux Deepin version, which I liked. However, I had a problem where the top panel, Windows Button, Applications Button, and Search Box in overview overlapped. To fix this, I just copied the original overview.js in ~/js/ui (assuming the js folder was copied to the home folder) back into /usr/share/gnome-shell/js/ui after installing the Linux Deepin version.

Anyway, with synaptic, I removed gnome-shell and gnome-shell-common. No other packages were removed. I did this in a Unity session because I didn’t know what would happen if I was in Gnome Shell.

With Gdebi, I installed gnome-shell-common_3.4.1-1deepin12_all.deb and then gnome-shell_3.4.1-1deepin12_amd64.deb. Not sure if it’ll work in the Ubuntu Software Center, but it should.

Afterwards, I logged out and logged back into Gnome Shell. Opened a terminal and typed “notify-send test” and it worked!

Again, if you have a problem with the overview, then just copy and replace the overview.js from the original gnome-shell into /usr/share/gnome-shell/js/ui. Or, if you want the original gnome-shell look , just replace the js folder in /usr/share/gnome-shell with the original, but delete the notificationDaemon.js and main.js from the original js folder.