I'm not quite sure how best to describe what's going on. I have the following lines on my
(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
(setq-default left-fringe-width 140) (setq-default right-fringe-width 140)
Results in this when I open emacs
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:
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.