Vertical panel in GNOME, 15 months later
by Alexander Kojevnikov
I’m happy to report that the subject is mostly fixed.
Window List: bgo#86382 has a working patch, it’s not perfect (read comments 140, 141 and 145) but fixes the problem.
Notification Area: bgo#531371 also has a patch which works really well.
Quick Launch: My fix is included in version 2.12.6 of the applet.
Main Menu: The ugly arrow (bgo#562247 and bgo#564903) can be removed by setting "has-arrow" to FALSE in gnome-panel/panel-menu-button.c
Keyboard Indicator: bgo#591515 is not yet fixed. A quick and dirty hack is to comment out the entire switch statement in GSwitchitAppletUpdateAngle() function from gswitchit/gswitchit-applet.c
I’m using a GNOME desktop with all these fixes daily and I’m quite happy with it. You can get my customizepkg files for Arch Linux from GitHub; read how to use them in the previous post.
[...] Vertical panel in GNOME UPDATE 2009-09-06: Read the follow-up post [...]
Hi! I’m also interested in having a vertical panel in gnome. This is something I have always used it in weendowz and in old kde3. And yes, displays are getting wider and wider, so it means less vertical pixels and more horizontal ones.
I would like to use your patches, but since I’m using Ubuntu, I’m not sure how to do it. Can you give more detailed instructions? Thanks!
@Roy:
You basically have two options:
1. Get the tarball of the version you have installed, patch it, then make && make install
2. Create a patched debian package as explained here: http://www.artificialworlds.net/blog/2008/12/10/fixing-the-vertical-panel-window-list-on-ubuntu-hardy/
Next time a new version of the package is released, you need to do it again. That’s the main reason I switched to Arch, it’s much easier to customise.
This is great news. I wonder, though, if you’re able to replicate an issue with the notification area patch that I’m seeing. If I have two notification area icons and the width of the vertical panel is 67 or more, then I’m seeing an extra vertical gap below the icons. It looks like an empty row for icons. Same if I have 3 icons and the panel width is 90-something or more. If I have only two icons and a width of 48, there’s no vertical gap. Any thoughts?
Following up on my own comment, I think I found the issue: in the patch code, both repack_icon_table and tray_added have a minor bug. They add an additional row/column if (# of icons) mod (# of rows or columns) is greater than 0. This works fine if you have, e.g., 17 icons and 5 rows/columns. But this approach adds an unnecessary row/col if the number of icons is actually less than the number of rows, so an additional check that (# of icons) is greater than (# of rows or columns) is needed.
I’m trying not to get back into coding, but this is an inauspicious start. ;-) Still, I’ve made my comment general enough that you can probably modify the code appropriately if you want. Perhaps you might want to submit a corrected patch if you agree? :)
@Eric:
I saw this issue, but I normally have more than one row of icons so it doesn’t bother me. I’m travelling at the moment, I will check the patch next week. Thanks!
@Eric: I updated the patch, thanks pointing out to the functions in question!
Great news! I hope those patches are applied to official versions soon, it’s hard to compile their environment for some people :)
Have you tried Dockbar or DoxkbarX? It works well with vertical taskbars.
http://gnome-look.org/content/show.php/DockbarX?content=101604
@Alex
I moved to xmonad since I wrote this post. But Dockbar looks nice for those who still need the vertical panel.
It appears that another fix has been posted in the last month for the vertical window list (cf. bgo 86382 comment 158) that finally addresses the remaining problems in the applet that you alluded to. I know you’ve already switched to xmonad, but I figure others who’ve read your original post and ensuing comments might want to know! Wow, only 21 months between original report and fix… sigh.
I’ve actually recently been pondering after buying two 1920×1080 screen wether or not I should go with a vertical panel, it seems I’m always short on vertical space but not horizontal, so I’d rather have one vertical panel than the two horizontal ones I have now. Good to know this is being hacked on and improved
WOW!
I remember writing a hack for GNOME Panel back in 2006 to make it work for me before I knew how to code with GObjects and GTK+, so I never shared it. It bitrotted and I’ve meant to do a proper version :$
Basically, I more or less love you for today.
nice- a big problem seems to be solved from two guys. thanks for that. perhaps, richard, you could give some more informations about your code, what is it for and how do you think, you want to improve it? perhaps someone could lend a hand and this fix can move in the offical updates..
[...] same thing for the applications launchers, but this can be fixed using the quick lounge applet. Alexander Kojevnikov’s blog have some patches, about using a gnome panel vertically, some are already integrated, but the one [...]
You say it’s mostly fixed, but there is still no sign of any of the many patches for the window list actually being committed and released :(
I managed to get everything but the updated notification area… the patch doesn’t seem to work with more recent versions.
Anyone have a fix?
Just uploaded an updated version of the patch to the original bug report that patches, compiles, and seems to work ok for me with gnome panel 2.30.2.
Thanks Eric! Unfortunately, while it patches and compiles without complaint, I don’t see any change in behavior =/ I still have giant (bigger than my thumbnails) notification-area icons…
This is after running ldconfig.
Getting desperate, I removed the already installed gnome-panel package and then did another make install. Now I’m getting a bunch of “The panel encountered a problem while loading ‘OAFIID:GNOME_…….”.
I think I can (partially) explain why…
When I run gnome-panel from a terminal, it says it couldn’t find the .so files.
If I look at the Makefile for the notification area, I see these lines:
APPLET_LOCATION = $(libexecdir)/notification-area-applet
#APPLET_LOCATION = $(pkglibdir)/libnotification-area-applet.so
I’m not super familiar with ./configure and building linux programs but I imagine that’s something I need to toggle with ./configure so that it makes a library rather than an executable?
@Dylan: Did you `make install` it? If you did, which location you installed it to? For example on Ubuntu and on many other Linux distros the location should be /usr, while `configure` sets it to `/usr/local`.
If my guess is correct, first thing you should do is uninstalling it by running `sudo make uninstall`, then `configure –prefix=/usr && make && sudo make install`.
Thanks!
One other thing i had trouble with… if your system icons don’t come back when you restart gnome, that doesn’t mean the patch failed! I had to totally restart X before icons showed up again, but it worked!
Thanks very much for that patch! I switched to a vertical dock when getting 2 wide screens and that ugly notification area behaviour was really annoying. The patch works perfectly :)
Many thanks!!
I wonder if someone has made patches to modify the “rubbish bin”, “tomboy notes”, “force quit” applets to also look smaller on wide vertical docks? these ones also scale to keep the aspect ratio and hence become huge icons!
Hi,
how can I apply the patch ?
Thanks.
I switched to ubuntu 11.04 and it has gnome-panel 2.32.1, I can’t seem to modify the patch for 2.30.2 to work with it. Well i managed to get the patch to apply properly by changing line 368,
…gdk_cairo_create (box->window);
to
…gdk_cairo_create (gtk_widget_get_window (box));
but I cannot get gnome-panel-2.32.1 to compile! Applying the patch or not makes no difference?
Volpene, to apply the patch:
get the source of the panel:
apt-get build-dep gnome-panel
apt-get source gnome-panel
then download the path into a file which you put in gnome-panel-2.30.2 folder, then:
patch -p1 < patch
and then as written above, ./configure -prefix=/usr etc.
Correction, I managed to compile 2.32.1 and I am happy to report that the notification area patch works perfectly on it too.
To compile gnome-panel-2.32.1 I used a dirty hack proposed on
https://bugs.launchpad.net/ubuntu/+s…el/+bug/655205
just editing the makefile of the gnome-panel subfolder and changing
gnome_panel-panel-compatibility.$(OBJEXT) \
to
gnome_panel-panel-compatibility.$(OBJEXT) applet-signaler.$(OBJEXT) \
Is this possible under Gnome3? If so – any pointers?
I don’t know about Gnome3.
This functionality has recently been added to Xfce (4.10), so if you don’t have Gnome2 anymore, that’s another choice. No patching required, BTW.