1

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.

1

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

| improve this answer | |
  • +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
0

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.

| improve this answer | |
  • 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.