0

I'm not quite sure how best to describe what's going on. I have the following lines on my init.el file.

(setq-default left-fringe-width  40)
(setq-default right-fringe-width  40)

I expect this to take effect as soon as I start emacs. Trouble is, it doesn't, not until I switch away from the scratch buffer to another one.

I should note that, when looking at the *scratch* buffer for the first time, C-h v for left-fringe-width tells me that its value is 40.

There is this bit in the documentation saying that "Setting this variable does not take effect until a new buffer is displayed in a window." Does that mean that the behavior I'm noting here is the intended behavior? If so, is there a way around this?


Update: OK, what I'm describing seems to happen only when I disable the startup screen. Thus, using only these two lines as my init.el

(setq-default left-fringe-width  140)
(setq-default right-fringe-width  140)

Results in this when I open emacs

enter image description here

But if I go with this instead

(setq-default left-fringe-width  140)
(setq-default right-fringe-width  140)
(setq inhibit-startup-screen t)

I get this:

enter image description here


Another update: I can get around this issue by using (fringe-mode 40) instead in my init file. Thus, this minimal config

(setq inhibit-startup-screen t)
(fringe-mode 100)

yields the desired behavior. I'm leaving this question open in case anyone knows why the first method (setting e.g. left-fringe-width) does not change the value of the fringe whenever inhibit-startup-screen is set to t until a new buffer is opened.

Your Answer

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

Browse other questions tagged or ask your own question.