I'm using Emacs 24.2.1 installed on a CentOS 5 server, which I ssh into with X forwarding (using -Y). I have both a Windows laptop with Cygwin/X installed, as well as a desktop running CentOS 6. When I ssh into this server using my Windows laptop, Emacs looks fine:

Emacs on Windows

However, when I ssh into this server using my CentOS 6 desktop, the toolbar buttons render oddly (ignore the lack of a window border--it's there, just not in the screenshot):

Emacs on Linux

Does anyone know what might be causing this difference? I've tried going through the list of package dependencies but didn't come up with anything. I'm wondering if it's because I'm lacking some library package that it uses to render the toolbar on my CentOS 6 machine, but exists in Cygwin, but I thought since this is a remote X session, it should be picking them up from the server? I'm absolutely stumped as to what I can do to fix it. It isn't a problem that prevents me from working. It's just annoying to look at day in and day out.

I will note that when I use NX, the windows render properly. I just don't use it as much because the NX client on Linux is glitchy when it comes to floating window support, which I prefer to use.

Any help would be greatly appreciated!

  • 1
    (tool-bar-mode nil) – jordanm Mar 7 '13 at 0:31
  • @jordanm Not quite what I was looking for, but I might just do that anyway! More to the point though, I really want to know why it is what it's doing and what I could do to fix it, if for no other reason than for the sake of learning. – Ben Richards Mar 7 '13 at 6:27

Emacs is, so far as I know, built with the GTK toolkit.

The toolbar is being displayed with the settings for the GTK theme. I'd guess you have different themes defined on your windows and CentOS boxes.

Though I can't find a place to specifically change the tool-bar "icons with text" vs "icons only" any more, in CentOS you still have Gnome 2 and finding those settings should be easier than I can with Gnome 3 installed. (gtk-chtheme will allow you to change themes, but doesn't have the tool bar setting).

  • I would expect these settings would be pulled from the server to which I am connecting to over ssh, though. Is that not the case? – Ben Richards Mar 6 '13 at 21:21
  • 1
    Ah... don't forget, X windows server is the machine on which you are displaying the application window, not the machine on which the application is running. – SuperMagic Mar 6 '13 at 21:22
  • And.... well, it makes sense to me, at any rate, that the X-server would govern appearances. On a further note: Running locally on fedora 17, emacs looks exactly like your CentOS screenshot (except for the black around the icons, but the icons are the same), and this is decidedly not a low-color or low-bandwidth situation. – SuperMagic Mar 6 '13 at 21:27
  • Ah, good point. As an aside, when running emacs locally on my CentOS 6 machine, the toolbar has the same size, but no text labels and different buttons and icons. No black. Unfortunately I can't log in locally to our server very easily to test at the moment. – Ben Richards Mar 6 '13 at 21:33
  • I looked at my theme settings and tried changing them to match. I found how to change it so that the toolbar size looks the same as on Cygwin. That was the server's gtk settings. However, I tried changing the gtk_theme and icon_theme settings and they don't seem to be making a difference. Now I have a larger toolbar (not sure if I prefer that) but still with ugly icon images (black boxes). I did check and yes, libXpm is installed on all machines. – Ben Richards Mar 6 '13 at 23:45

Emacs displays the toolbar differently depending on the capabilities of the display that it is drawing windows on. There are low color versions of the icons, for example, for reduced color and monochrome displays. Emacs can also fall back to lower quality icons because it was not built with support for XPM images, but your images do have color so I don't think it is that.

So my best guess is that you're using a reduced color display, or you're running the X server in reduced color mode for some reason (a low bandwidth link between the client and server would be one good reason for doing this).

  • And that also affects how it draws the text labels under the images in the toolbar as well? – Ben Richards Mar 6 '13 at 21:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.