My emacs frames have an unwanted border, even if maximized:

enter image description here

The blue thing at the bottom is the border drawn by the openbox. The dark gray/black interior is Zenburn's background. But what is this light gray thing between them, and how do I disable it? It is there even if the window is maximized :(

EDIT: To clarify, I am asking not about the fringe which is only on the left side of the picture, but about the lighter grey border which is both at the bottom and at the left side. It seems to be window manager specific: I see it with openbox and xfwm, but it is absent if I use xterm session.

  • A guess: try setting frame-resize-pixelwise to t. It's possible openbox has given emacs more space than emacs wants (the default, nil), and it's filling the interior space with the light gray.
    – amitp
    Dec 29 '20 at 21:25

It's the fringe. It serve to put visual information on line, like when a line is too long, and part is either not displayed (truncated) or put on the next "screen line". It also used when debugging to show where the instruction pointer is, where breakpoint are....

I don't advice it, but you can reduce their size by calling M-x fringe-mode, or adding (fringe-mode 5) to have five pixel fringe on both side.

Reading fringe-mode help will tell you more about it, or look at the manual

  • +1. You can completely eliminate the fringe fringe-mode (not just reduce its size) by using (fringe-mode 0), or interactively (assuming default value for things like default-frames-alist by M-x fringe-mode RET.
    – Drew
    May 1 '17 at 13:26
  • Most fringe bitmap images are 8 in width, so a width of 5 for the fringe would mean that the bitmap doesn't fit and part of the image will not be seen. See C source code fringe.c in the section "Fringe bitmaps".
    – lawlist
    May 1 '17 at 17:37
  • Sorry for not stating my question clear enough! It's not the fringe I am asking about: on the screenshot, the dark grey fringe is only on the left side, but the light gray border is both at the left and at the bottom. I've just checked, and it seems to be openbox specific: when I run emacs from an xterm session, there's no extra border. But every other GUI program seems to work fine with openbox :(
    – matklad
    May 1 '17 at 18:40

I have this line in init.el and it disables the fringe for me in fullscreen (macOS):

(set-frame-parameter nil 'fullscreen 'fullboth)

Initially I though the code is macOS specific, but it seems it's working on Windows as well (though now I can't remember if there is any fringe on fullscreen and I'm far from my Windows machine today). I haven't tried it on Linux, but it's the only mention of frame in my init.el file and I never had any issues with it.

  • The fringe is an adjustable width vertical bar on the left and right sides of each window. There is nothing in the code (set-frame-parameter nil 'fullscreen 'fullboth) that deals with the fringe parameter.
    – lawlist
    May 1 '17 at 16:26
  • Then it's maybe a theme thing that I see no fringe?
    – Claudiu
    May 1 '17 at 16:37
  • There are frame values for the fringes that take precedence, unless the window fringe values are set (which would trump the frame settings). Here is a link to the manual dealing with window fringes: gnu.org/software/emacs/manual/html_node/elisp/… Here is a link to the manual dealing with certain frame parameters: gnu.org/software/emacs/manual/html_node/elisp/… A handy function to check frame parameter values is frame-parameters -- e.g., (message "%s" (frame-parameters))
    – lawlist
    May 1 '17 at 16:46
  • Most themes just fiddle with colors instead of tampering with frame and/or window parameter settings such as fringes, but anything is possible. Your fringes (left and/or right) may exist, but simply have the same color as the background so you can't see it.
    – lawlist
    May 1 '17 at 17:03

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.