I was one of the Gnome Shell sceptics initially but now I like it a lot.
I tried it before with Fedora 16 last year but it was too much of a
culture shock for me. The previous week I decided that I'm going to make
some effort to try and "get it". And now, since the beginning of
this week, I am using Shell and I see no good reason to ever go back to
Classic (or the classic desktop Superphor, for that matter). I am using
Shell 3.2 with Trisquel 5.5.

I will admit that the default/stock Shell install definitely
won't cater to everyone. So I went looking at the Gnome Extensions
(https://extensions.gnome.org/#) website and what other websites deemed
"the best extensions". For a while I felt like a kid in a candy store
looking at all the interesting hacks people have been making for Shell.

There are essentially 4 modes for using Shell: Top bar, Top bar and
bottom panel, Bottom panel, "VIM mode".

The Top panel mode is what you get normally. It is a strange mixture of
a legacy concept (the Menu button), the name of the application having
focus and then the more traditional system/notification icons. As it is,
I felt it was a waste of space. I always use the Super/Windows key to
access Overview mode. As for the active window name, I either keep
mental track when I have multiple windows open, or I am full-screen and
there's nothing to keep track of. So I see no point in that either. I
know Shell 3.4 introduced some simplified menu into that Window Name
thing (possibly inspired by Unity's Globalmenu) but I'll ignore that for
now.

So I started to look for ways to customise the top bar. To get straight
to the point, it is possible to get it to look almost like the old
panel. You can have an old-style menu, shortcut icons, open windows and
then on the right side whatever other widgets/applets are available. Let
me warn that your new old-style top bar will not be very  customisable
from the GUI (like with 2.x Panel). You will not be able to  drag things
around but I realised that's not really an issue for me any more. All my
old 2.x Panels always looked like that anyway: Menu, Shortcuts, Windows,
Applets, System/Notification Icons, Time. With this customisation I
think I might have been satisfied if I wanted the old-style Panel back.
But there was one issue that annoyed me: the Window List extension
looked very ugly and distracting. So I decided to dig some more and see
what I can do with Shell. But here is a list of some of the extensions I
used to simulate the old panel (all, except one, of them are on the
Gnome Extensions website):
* Frippery Applications Menu: this replaces the 'Activities' button with
an old-style menu. It doesn't use floating boxes for each level in the
menu hierarchy, but instead uses something similar to a website
accordion widget.
* Frippery Panel Favorites: this adds the items in the Dash as shortcut
icons to the top bar. To edit the items here you must edit the Dash instead.
* Window List: this adds all the open windows to the top bar. They have
an icon and the window title. It also moves the Clock to before the
status icon.
* Window Icon List: I also tried this one instead of the normal Window
List. It adds only an icon for each open window. It is much harder to
use, for example while I'm typing this email I can see 2 Thunderbird
icons and I have no idea which one is which. There is also no hover text
to help me.
* Frippery Move Clock: moves the clock to be the second item on the
right side. Only the status/username menu is after it. You do not need
this extension if you use the Window List extension.
* gnome-shell-classic-systray: It moves the notifications from the
bottom "shadow panel" to the top, next to the other system icons. Note
that you cannot click on the moved icons while you are in Overview mode.
You can only get this extension from a PPA
(http://www.webupd8.org/2012/04/gnome-shell-classic-systray-message.html).
* Remove User Name: as the name says, it removes your name next to the
status icon. It is not necessary, but I know what my name is :).

The above extensions give you the basic old panel layout. But if you
like making crazy modifications to your 2.x Panel then this will not
make you happy.

There are some other extensions that might be useful:
* Remove Accessibility: exactly what the name says. It seems like many
people complained that it is there all the time.
* Evil Status Icon Forever: this allows you to define what notification
icons you want at the top and which of the default icons you want to
remove. If you use this you don't need the Remove Accessibility extensions
* gTile: it gives you a GUI to organise your windows in a grid. There
are no keybindings that I am aware of, which is very annoying.
* Alternative Status Menu: by default the Status menu does not have a
Shut Down item, you have to hold down ALT. This puts the Shut Down item
in the menu.
* Places Status Indicator: it adds something like the old Places applet.
It shows your Nautilus Bookmarks and standard Places, like Home,
Documents, Removable Drives, etc.

There are a few ALT+TAB extensions that make it work in the old way,
i.e. one icon per window, but I find myself to prefer the new style
where you ALT+TAB between different applications and ALT+` to switch
between different windows of the same application.

I did not really test any of the methods that add a bottom panel because
I never liked having two panels anyway and I realised that I do not
really want a panel at all. But I had a brief look at:
* Frippery Bottom Panel: it adds a bottom panel with open windows and
Workspace icons.
* Panel-Docklet: it can add a bottom panel with Workspace icons,
Favourite icons (from Dash) and open windows.
I should add that it is possible to run the Classic Panel alongside
Shell. I didn't test it much, but if you run "gnome-panel" you get your
Panel back if you want it.

But then I found an extension that made me realise how I want to work on
a desktop. The extension is "Panel Settings" and doesn't do much by
itself. You can use it to move the Top bar to the bottom but it looked
ugly because of the curved bottom. But the great thing was that I could
make the Top bar appear only in Overview mode. Using that setting in
combination with either a Shell bottom panel or gnome-panel would make
your desktop look and act like a Classic desktop until you press the
Super/Windows key to get the Overview mode.

With the Top bar now removed, I realised that I had an almost "VIM mode"
desktop. In work mode I had my windows and nothing else. In Overview
mode I could do other things. I use Overview mode only to launch
applications (usually I need 3 character to find the correct one) and
shutdown. I can see a lot of potential if Overview mode is hacked more.
I don't even use the mouse when I'm in there (except to shutdown), so if
something was done to the preview windows or if it was replace by
something useful (in my case) then Overview mode could be more useful.
But as it is now, I don't worry too much: I use it to run application,
see the time and almost nothing else.

And then I found one more extension that made me realise Gnome Shell
might turn out to be really awesome after all. It is called "Shellshape"
and it makes your window manager use an organic Tiling mode (like
Bluetile) in addition to stacking/floating mode. It supports keybindings
too. The bad news is that it now only works with Shell 3.4. But that is
the perfect excuse for me to try Shell 3.4 before Trisquel 6.0 is
released. All I would need with that is a way to hide application
titlebars and I think I would have something close to a perfect desktop
for me.

So now with all distractions hidden and with the exciting idea of
Shellshape I now have only one really big problem: what should I do with
my empty desktop root window :)? I turned off Nautilus desktop  handling
so now it is just a big empty space with a picture. Granted, it will not
be  seen much, maybe only after logging in. I thought that I would just
make it plain black and forget about it. Or I could find a cool picture
and cover it with a giant clock and some useless l33t stats provided by
Conky :). Maybe that will be the perfect place to showcase some really
great Trisquel artwork?

I've also experienced some weird issues. I mentioned in a previous
thread that I couldn't get Nautilus to show up in the Overview
applications list. It seems that it only displays applications that are
in the Applications Menu. I enabled Nautilus under Accessories/Files
using "alacarte" and it showed up.

Sometimes I get random lockups: it would show my windows but everything
would be frozen. Sometimes I can switch to another virtual terminal but
other times not even that would work and I have to do a hardware
shutdown on my laptop. I also get graphical corruption. Overview mode
will turn solid blue or have big patches of blue covering parts of the
screen. It usually corrupts the GUI fonts too. I've also had freezes and
corruptions at the same time. The animations are a bit laggy when many
open windows are displayed in Overview. Those descriptions aren't the
best and I probably missed some details. I have not done much empirical
testing, but I suspect this might have more to do with the acceleration
on my graphics card (Nvidia NVS 140M) and nouveau than with Gnome Shell
3.2. However. I will definitely test this with Shell 3.4, because it
spoils what is otherwise a really nice experience.

There was one issue on Trisquel's side. It looks like Gnome Tweak Tool
is modified in Trisquel to remove Gnome Shell tweaks
(http://bzr.trisquel.info/package-helpers/trunk/annotate/head:/helpers/oneiric/make-gnome-tweak-tool).
I had to download Ubuntu 11.10's version and install with dpkg to get
the functionality back. The change prevents you from changing some Shell
settings and it removes the list that allows you to enable/disable
extensions. The extensions one is important because without it I have to
go to the Gnome Extensions website to enable/disable extensions or I
have to move/remove folders manually.

I also have some other problems but I am not sure if I broke some
things. I used a Trisquel 5.5 Release Candidate (and probably broke it
already) and I added the gnome3-team/gnome3 PPA. Some of the issues I
have with the Top bar:
* Network Settings no longer opens the program, but
"nm-connection-editor" still brings it up manually.
* I cannot find a way to change my profile picture. When I click on the
big Trisquel icon near my name, it highlights (indicating something
should happen) but nothing happens.
* There is an "Online Accounts" item in the Status menu but it does
nothing. I think I must install it (gnome-online-accounts), but I did
not test this.
* The Available/Unavailable switcher is useless to me because I use
Pidgin instead of Empathy. I have not found any other reason why it is
there.

Some things I would like to see better integrated:
* Pidgin: besides the Available/Unavailable issue, Empathy allows you to
type a reply in the Notification popup but Pidgin does not. I don't
necessarily need this, but it might be useful. There is an extension,
Pidgin Conversation Integration, that might replicate the functionality
but I haven't tried. Perhaps I should have a look at Empathy (I've never
used it) and see if there is any good reason why I still use Pidgin.
* Thunderbird: The DateTime/Calendar applet only works with Evolution
for event management. There is supposed to be some a Thunerbird addon
that pushes Thunderbird/Lightning events to an Evolution server and then
to the calendar applet. But I couldn't get it to work and it seemed like
an unnecessary detour. In the past I preferred Thunderbird over
Evolution so I don't want to change to Evolution just for that
integration. Luckily there is an extension, Nothing To Do, that disables
the Calendar's Event functionality so it becomes just a plain calendar.

At this point I definitely think Trisquel should adopt Gnome Shell. I
used Unity a few times but I prefer Shell's extensibility. It would also
give us the opportunity to create a masterfully crafted Shell experience
by providing some useful extensions by default.

I am fully aware of the reasons why we are not using Shell. In Shell 3.4
accessibility has been improved, but I do not use these functions so I
have no idea what still needs attention. The only other big problem is
graphic acceleration. Please note that I am not trolling nor am I trying
to marginalise a part of the community, but I am not sure how bad that
problem really is.

I do not follow hardware trends much, but as far as I know most Intel
motherboards have had integrated graphics for a long time. I tested
Fedora 16 with Shell on an old 2004 Dell with Intel i915 chipset and it
worked. I think it lagged once in a while, but it was a live CD and
there are extensions to turn off some animations and even speed others
up. The point is that I had acceleration on an 8-year old machine,
though I probably wouldn't recommend to run it on such an old machine
anyway.

I never used AMD boards so I do not know if they ever had integrated
graphics. Is there a big problem with graphics on AMD motherboards?

As far as removable graphics cards are concerned, ATI is a bigger
problem than Nvidia, but a graphics card can be removed if it serves no
purpose. This is more problematic in laptops where you cannot remove the
card. I don't want to use "just buy better supported hardware" as a
reason to ignore people with this problem.

I am not sure how well the software acceleration works with Shell, but
if your CPU is powerful enough to handle that without a problem then
there is a big chance that you have integrated graphics anyway. Or am I
wrong in assuming this?

To get to the point: how big is the issue of not being able to run an
graphical accelerated desktop? Trisquel 6.0 is going to be our big
product and to be honest now, I no longer think Classic mode should be
our default desktop. We should definitely keep it for people who cannot
run Shell, or who do not want to run Shell (even if heavily modified to
resemble Classic) at all. I would go so far as to say we should have it
as separate option during the installer. But we need to take Gnome Shell
and integrate it better. Just installing "gnome-shell" makes it feel
generic and like we made no effort. Some people prefer Unity, but in my
experience Unity was meant to be generic and less customisable and
therefore it probably doesn't make much of a difference if it gets
installed without modifications. I'm sure people who love and know Unity
more might disagree with me.

So after this mouthful, who else is using Shell and how do you use/hack it?

-- 
Morne Alberts

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to