Go to the first, previous, next, last section, table of contents.

15. Window/icon title; window manager problems

15.1. How can I get the icon to just say `XEmacs' and not include the name of the current file in it?

Add the following line to your `.emacs' file:

(setq frame-icon-title-format "XEmacs")

15.2. How can I have the window title area display the full directory/name of the current buffer file and not just the name?

Add the following line to your `.emacs' file:

(setq frame-title-format "%S: %f")

A more sophisticated title might be:

(setq frame-title-format
  '("%S: " (buffer-file-name "%f" (dired-directory dired-directory "%b"))))

That is, use the file name, or the dired-directory, or the buffer name.

15.3. When I run `xterm -name junk' I get an xterm whose class name according to xprop, is `junk'. This is the way it's supposed to work, I think. When I run `xemacs -name junk' the class name is not set to `junk'. It's sti

ll `emacs'. What does `xemacs -name' really do? The reason I ask is that my window manager (fvwm) will make a window sticky and I use XEmacs to read my mail. I want that XEmacs window to be sticky, without having to use the window manager's f unction to set the window sticky. What gives?

`xemacs -name' sets the application-name for the program (that is, the thing which normally comes from argv[0].) Using `-name' is the same as making a copy of the executable with that new name. The WM_CLASS property on each frame is set to the frame-name, and the application-class. So, if you did `xemacs -name FOO' and then created a frame named `BAR', you'd get an X window with WM_CLASS = `( "BAR", "Emacs")'. However, the resource hierarchy for this widget would be

Name:    FOO  .shell.       .pane        .BAR
Class:   Emacs.TopLevelShell.XmMainWindow.EmacsFrame

instead of the default

Name:    xemacs.shell.       .pane        .emacs
Class:   Emacs .TopLevelShell.XmMainWindow.EmacsFrame

It is arguable that the first element of WM_CLASS should be set to the application-name instead of the frame-name, but I think that's less flexible, since it does not give you the ability to have multiple frames with different WM_CLASS properties. Another possibility would be for the default frame name to come from the application name instead of simply being `emacs'. However, at this point, making that change would be troublesome: it would mean that many users would have to make yet another change to their resource files (since the default frame name would suddenly change from `emacs' to `xemacs', or whatever the executable happened to be named), so we'd rather avoid it.

To make a frame with a particular name use:

(make-frame '((name . "the-name")))

Go to the first, previous, next, last section, table of contents.