gtk3 panel

Damian Ivanov damianatorrpm at gmail.com
Tue Sep 4 14:54:56 CEST 2012


Hello developers :)

AFAIK and read from the wiki xfce 4.12  will feature the port to gtk3.
I am one of the guys who packaged unity for Fedora and openSUSE, but
want also to have some
classic desktop environment. My question is what would need to be
changed of the gnome3-panel, so xfce4-panel and gnome3-panel having
the same code base (actually gnome is most likely to drop it I talked
to Vincent Untz who cares less than 0 about the gnome-classic-panel
https://live.gnome.org/ThreePointSeven/Features/DropOrFixFallbackMode
gnome-shell). It has more applets already ported which I miss in
xfce-panel, like cardapio, all incicators, window buttons applet. May
would be cool if you let me know where in my other project, see the
long crappy text below :), we could work together, or even why it
should be better to do it even based on the xfce-panel (but would
require more work, because of the winow button and indicator applets)
The xfce part may be most interesting for you.

KDE:
Was once really a great desktop environment but now (after 4.0) it is
not really usuable, the design and themes are awful if you compare
them to e.g ubuntu radiance or ambiance themes. The Activites concept
is again something 95% of users don't want but some developers think
it's a good idea. The whole Nepomuk/Strigi framework is light years
behind zeitgeist (maybe not technikally but well try unity and the
things using zeitgeist and KDE equivalents) and make the whole system
unresponsive if enabled. KDE has no orientation of UI design
guidelines e.g the systemsettings is a poor clone of  Mac OS X
systemsettings . Other parts look like poor and ugly windows clone.
The dolphin developer switched
back to Windows because situation with KDE and Gnome is helpless since
both developed in some areas bad ways.
The whole plasma-desktop feels sluggish compared to any other Desktop
environment e.g if you resize the panel, in height not length or
oversize any plasma applet you can feel what  I mean.  Or compare
gnome online accounts with KDE equivalent. Also technically plasma has
a core design issue, the panel, the desktop and the eye-candy widgets
on the desktop are one and the same framework, program, command. You
get a widget to crash, your panel and desktop will crash too. Non of
these parts are productively re-usable in a different desktop
environment. KDE 3 was good there one program for the panel (kicker),
one for the desktop and one for the widgets (superkaramba)
Qt framework is one of the most advanced and best supported, KDE has
so much skilled developers and so much great applications (okular,
k3b, amarok, dolphin just to name a few) and they made a crap of it.

Xfce:
Quite nice desktop, I'd say most stable (maybe despite Mate?!?) and
one of the best you can work with at the moment running Linux.
Though xfce gives me a antique, hackish feeling, lots of things need to be
polished (but please no new desktop/mobile concept overkill
shell/plasma/uebermacht desktop ideas)
The panel can be look modern but still vanilla xfce e.g all desktop
icons seems marked (as if you clicked on them). It is based of
deprecated gtk2, gtk3 is the future. The panel if in vertical mode looks
like having about 20 separators, and no option for them to auto respect
height and length of an overlapping panel. eg have one horizontal and
one vertical
panel in gnome3-panel makes the vertical panel automatically shorter
so it does not
overlap the horizontal one. Gnome 3 settings have less options but
looks more modern and smooth.

Lxde:
See xfce but needs even more polishing.

Razor-qt:
Well these guys and you're at the beginning of you development so no
big criticize from me here at this point, just a few notes  to them:
Delete oxygen theme, try to support gtk themes and write something
like xfapplet (so you can support KDE plasma-applets, supporting
gnome-panel applets with qt would be
much more work and unrealistic, but with supporting KDE plasma
applets, you would have a good start)

Mate:
Well it's gnome2 (I like a lot of the design concepts) so what I
dislike is that it's technically deprecated and is maintained and
developed by users that are maybe enough to maintain a panel)

Unity and Gnome3, Cinnamon:
 I have them together because they share so much in common positives
and negatives. So what is good with them? Well all tools are good and
are elegant e.g the control center, the file manager and all other
tools coming with them. Unity has really so many great innovations for
the Desktop, I love the indicators and the Dash, I somehow like the
HUD (since it's optional) and unity is the 1st desktop environment I
know of where you can use all the space of your display for the
running application, without losing the clock, the systray etc.
Gnome3 has also some sexy things, the hot corner, also dash could need
a window lense since that is also somehow nice in gnome. Cinnamon is
well like gnome with a few minor changes, without another default
configuration and done only by LinuxMint developers and now backport
and code updates from gnome to cinnamon is now their duty since they
decided to fork mutter and gnome-shell rather than to enhance and
write extensions and cinnamon is most likely to not get the same
amount of bug fixes and enhancements in time. So but wrong with all of
them is the technical concept: each of them has their one and only
exclusive window manager (no, it's not event the same!) unity has
compiz (definitely best choice for users), gnome has mutter (rewrite
of metacity aka Metacity Clutter, which technically may be best) and
cinnamon has muffin (fork of mutter, not going to profit from mutter
patches, they will need to be backported and only few developers).
This window managers can not be replace with a different. Ok, lets say
that is not that worse, but compiz and mutter *require* 3d
acceleration. Sure most PC's Today do 3d with Linux. Sure for the
others is llvmpipe. Do you think any company would run that? You know
windows server has no aero fancy stuff, at this is not because they
could not do a llvpipe thingy. You see any sysadmin wasting CPU
resources for the desktop? On the server? There are so many servers
and will be there without a 3d card and seriously it is not rare that
few users want to login remotely on a server machine. If you have 3-4
users running gnome3 on a server
the best llvmpipe will get your CPU into trouble. Another use-case is
multiseat (the most awesome, less advertised Fedora 17 feature) I have
this at home  and with the 2nd seat accelered by llvmpipe your system
goes unusuable and I have a quad-core!
So apart these things can you rearrange applets on the unity,
gnome-shell, cinnamon panel easily? No. In unity it's not possible, as
far as I know also not in gnome-shell,
extensions may add here and there some stuff, but I still haven't seen
a gnome-shell that I can modify like gnome2-panel e.g you have a
gnome-extension to add a 2nd panel at the bottom with a windowlist
applet,  so know you need a 3rd extension to move the clock down to
the 2nd panel and a 4th extension to move the menu to the 2nd panel.
Now have fun moving the 2nd panel to the left or right side of you display.

THE FUTURE:
So what do we need for the future?
Well I will be working on gnome3-panel to get a working, customizable
desktop. So why did I choose gnome3-panel? It already integrates well
into gnome user space.
You have all the ubuntu unity indicators running under gnome3-panel.
You also have a window buttons applet for the panel. Cardapio, an
alternative menu is also working
on gnome3-panel, dockbarx, which support unity quick list and is an
icon window list that could turn any vanilla gnome3-panel into an
unity launcher or a windows 7 panel etc. is on the way. gnome3-panel
recently feels quite stable, only one issue so far with the theming
and transparency of it. Vertical panel's respect the size of
horizontal panels.

So what would need to be done:
1) The port of dockbarx to gnome3-panel.
2) Implement suppot for Intellihide/dodge active window on gnome3-panel
3) Make a accelerated window manager if enabled make some eye candy
and true transparency etc.
4) Bug fixing.
5) Make unity dash and hud startable from gnome-panel if compiz is
detected as window manager

optional: Gnomenu port.

Why didn't choose awn-panel, cairo-dock etc.?
Dead upstream. Too much 3d oriented. Unstable. Various other issues.

Why did I not choose mate-panel?
See why not mate.

Regards,
Damian


More information about the Xfce4-dev mailing list